当前位置: 首页 > 编程笔记 >

Android中的Permission权限机制介绍

姬康平
2023-03-14
本文向大家介绍Android中的Permission权限机制介绍,包括了Android中的Permission权限机制介绍的使用技巧和注意事项,需要的朋友参考一下

Android 通过在每台设备上实施了基于权限的安全策略来处理安全问题,采用权限来限制安装应用程序的能力。当某个权限与某个操作和资源对象绑定在一起,我们必须获得这个权限才能在对象上执行操作。由于Android设计本身就是为Android开发人员着想,所以一切权限许可权由用户决定而不是手机制造商和平台提供商,但这不得不带来了开发者滥用权限,黑客通过权限来进行恶意行为的风险,所以作为静态分析一个app是否为恶意软件的第一道关,获取并了解Android Permission权限意义是十分重大的。

权限策略

Android 框架提供一套默认的权限存储在android.anifest.permission 类中,同时也允许我们自己定义新的权限。我们在写应用程序时声明权限,程序安装时新权限被引入系统。权限授权在应用程序被安装时执行。当在设备上安装应用程序时,程序将请求完成任务必需的权限集合。被请求的权限列单显示在设备屏幕上以待用户审查只有用户同意授权后,程序才会被安装,该应用程序获得所有被请求的权限。所以,Android 系统实施的主要安全准则是应用程序只有得到权限许可后,才能执行可能会影响到系统其它部分的操作。

每个权限被定义成一个字符串,用来传达权限以执行某个特殊的操作。所有权限可以分为两个类别:一种是执行程序时被应用程序所请求的权限,一种是应用程序的组件之间通信时被其它组件请求的权限。开发者通过在AndroidManifest.xml文件中编写权限标签来定义以上两种类别的权限策略。

权限声明

应用程序可以用一个<permission>元素来声明权限, 用于限制访问特定组件或应用程序 在安装程序时, 这个已声明的权限被加入到系统中,具体可以参看:Android 自定义权限

权限请求

应用程序列出所有需要用来完成任务的权限,分别用 <use-permission>元素标识这些权限。在程序安装时被请求,列表显示在屏幕上用户要么同意安装,要么中止安装。同意安装则意味着授权所有被请求的权限。

获取权限

获取权限,是我们静态分析某个app的第一关,通过知道app所具有的权限,我们一般能够基本知道该app或许会有那些行为。

工具:目前已有多个工具可以静态检测Android app所具有的Permissions,这类工具有:aapt、apktool、androguard等等;

 类似资料:
  • 本文向大家介绍Android中Permission权限机制的具体使用,包括了Android中Permission权限机制的具体使用的使用技巧和注意事项,需要的朋友参考一下 由上篇Android Permission权限机制引子,我们知道Android 通过在每台设备上实施了基于权限的安全策略来处理安全问题,采用权限来限制安装应用程序的能力。本篇文章继续来探讨和Android权限相关的话题,主要集中

  • 在浏览了大量的页面(包括一些SO页面)后(参见下面的列表),我仍然无法通过AWS CLI命令行工具授予我的APIGateway访问权来执行新添加的Lambda函数。 也就是说,我正在尝试复制这个: 我使用以下集成设置创建了一个新的endpoint: 我也尝试过在这些更改之前和之后部署API,但没有效果? PS--我也读过将函数的集成类型更改为POST的建议(参见此URL),但我的要求是有一个GET

  • 本文向大家介绍Android权限控制之自定义权限,包括了Android权限控制之自定义权限的使用技巧和注意事项,需要的朋友参考一下 天哪,这篇文章终于说道如何自定义权限了,左盼右盼,其实这个自定义权限相当easy。为了方便叙述,我这边会用到两个app作为例子示范。 Permission App: used to define a new permission 这个作为定义权限的App,我称之为Pe

  • 本文向大家介绍Android Broadcast 和 BroadcastReceiver的权限限制方式,包括了Android Broadcast 和 BroadcastReceiver的权限限制方式的使用技巧和注意事项,需要的朋友参考一下 在Android应用开发中,有时会遇到以下两种情况, 1. 一些敏感的广播并不想让第三方的应用收到 ; 2. 要限制自己的Receiver接收某广播来源,避免被

  • 我正在使用自定义分析(而不是谷歌分析)设置活动跟踪,并为此设置接收器。我的接收器似乎在工作,但当我安装时,我收到一个android lint警告: 它看起来像任何旧的Android应用程序可以调用我的应用程序与意图,我不希望。应该只有谷歌应用商店(或任何其他Android系统应用程序,将安装我的应用程序从play store)发送该意图到我的应用程序。 因此,我试图找出如何设置将有效应用程序限制在

  • 我想看看我的应用程序是否可以在即时应用程序中完成。我的应用程序是基于从我的船上获取NFC发送的温度。 不幸的是,android开发者网站的常见问题表示,只有以下几个权限可用。 https://developer.android.com/topic/instant-apps/faqs.html 这意味着NFC权限是不可能的? 提前感谢您的回答