文档库 最新最全的文档下载
当前位置:文档库 › 教你完全弄懂Android系统的权限问题

教你完全弄懂Android系统的权限问题

教你完全弄懂Android系统的权限问题
教你完全弄懂Android系统的权限问题

教你完全弄懂Android系统的权限问题

教你完全弄懂Android系统的权限问题,希望对大家能有所帮助和借鉴。

步骤/方法

我们经常需要用到菜单里的“Permissions”选项来给文件或文件夹设置权限,而这个权限的设置界面就像是一个九宫格一样,我们只需要在里面勾选或者取消勾选就完成了权限的设置。

九宫格的三列分别为Read、Write、Execute,分别对应读取、写入和执行三种权限,三行则是Owner、Group和Others,分别对应所有者、用户组和其它三组账户。

如果我们把电脑上的文件复制到手机的存储卡里,则该文件的默认权限总是如下表所示:

▲左为Windows上的文件在Android系统里的默认权限,右为文件列表里显示的权限

不过细心的朋友可能会发现,我们所勾选的权限,在文件列表中却是另外一种显示模式,比如上述九宫格默认权限显示在列表里却是---rwxr-x,这样的表述方法又是怎么来的呢?

理解起来其实很简单,---rwxr-x总共是九个字符,而九宫格也一共有九个勾选选项,首先没有勾选的选项我们一律用字符-表示,而对于勾选了的选项,只需结合其所对应的列来看就能同样轻松写出对应的字符:如果对应的列是Read,那么就写作r,如果对应的列是Write,那么就写作w,如果对应的列是Execute,

那么就写作x,其实都是这三个单词的缩写,非常容易记忆。

好吧,现在让我们按照从左到右、从上到下的顺序来看,那么这个九宫格的写法就很容易推导出是---rwxr-x了。

怎么,还看不懂吗?那么白鸽再详细拆解一遍:

九宫格第一行:---;九宫格第二行:rwx;九宫格第三行:r-x,将这三行连在一起写,自然就成了---rwxr-x,嘿,你做到了,就这么简单!

学会了这种列表写法可是一种很了不起的事情,因为安卓高手们——尤其是国外的达人们非常喜欢用这种写法来表述,如果以后在论坛或网站上看到了这样的写法,你把它反过来推导就知道该怎样勾选九宫格设置权限了,真是一件很棒的事情。

不过学会了列表式写法也不要骄傲,因为还有一种常见的命令式写法等着你来学习,想要进化成文艺青年的话就必须把这种命令式写法掌握。

是的,我们经常可以看到高手们使用一种名叫chmod的命令来批量更改权限,而紧随chomd后面的就是一串三位数的数字,chmod命令的用法白鸽会在以后的课堂里详细讲解,现在你只需要知道怎样把九宫格转写为命令式的数字就Okay了。和列表式写法类似,没有勾选的选项我们一律用数字0表示,而对于勾选了的选项,只需结合其所对应的列来看就能同样轻松写出对应的数字:如果对应的列是Read,那么就写作4,如果对应的列是Write,那么就写作2,如果对应的列是Execute,那么就写作1。

看到这里你可能会质疑——你不是说是一串三位数的数字吗,这样写岂不就成九位数了?问得好,这就是文艺青年和普通青年的区别,文艺青年在给出最终结果前,还要进行三次加法运算。

怎么个运算呢?首先来详细拆解一遍,九宫格第一行对应的数字:000;九宫格第二行对应的数字:421;九宫格第三行对应的数字:401。我们现在把每行的数字都求和,然后分别写出结果就是0、7、5,连在一起写就是075,好了,答案就这样华丽地出来了。

刚才所举的手机默认的权限只是用来入门的,没有什么实际的价值,下面进入实战阶段,让我们看看system目录的文件夹,每一个文件夹的权限都是这样的:▲System里的文件夹九宫格权限和列表式写法

它的列表式写法是rwxr-xr-x,命令式写法为755。

再看看最常用的,System/app里的文件权限:

▲System\app里的文件九宫格权限和列表式写法

它的列表式写法是rw-r--r--,命令式写法是644。

最后说说八门遁甲之八门全开的九宫格,也就是九个选项全勾选的九宫格,它的列表式写法自然就是rwxrwxrwx,而对应的命令式写法则是777,很有意思的一个数字。

权限说明大全

程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 各种权限说明如下: android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get upload ed) android.permission.ACCESS_COARSE_LOCATION 允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location) android.permission.ACCESS_FINE_LOCATION 允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location) android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands) android.permission.ACCESS_MOCK_LOCA TION 允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing) android.permission.ACCESS_NETWORK_STA TE 允许程序访问有关GSM网络信息(Allows applications to access information about networks) android.permission.ACCESS_SURFACE_FLINGER 允许程序使用SurfaceFlinger底层特性(Allows an application to use SurfaceF linger’s low level features) android.permission.ACCESS_WIFI_STATE 允许程序访问Wi-Fi网络状态信息(Allows applications to access information about Wi-Fi networks) android.permission.ADD_SYSTEM_SERVICE 允许程序发布系统级服务(Allows an application to publish system-level services). android.permission.BA TTERY_STATS 允许程序更新手机电池统计信息(Allows an application to update the collected battery statistics) android.permission.BLUETOOTH 允许程序连接到已配对的蓝牙设备(Allows applications to connect to paired bluetooth devices) android.permission.BLUETOOTH_ADMIN 允许程序发现和配对蓝牙设备(Allows applications to discover and pair bluetooth devices) android.permission.BRICK 请求能够禁用设备(非常危险)(Required to be able to disable the device (very *erous!).) android.permission.BROADCAST_PACKAGE_REMOVED 允许程序广播一个提示消息在一个应用程序包已经移除后(Allows an application to broadcast a notification that an application package has been removed) android.permission.BROADCAST_STICKY 允许一个程序广播常用intents(Allows an application to broadcast sticky intents) android.permission.CALL_PHONE

Android权限清单

允许读写访问"properties"表在checkin数据库中,改值可以修改上传 允许一个程序访问CellID或WiFi热点来获取粗略的位置 允许一个程序访问精良位置(如GPS) < uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" > 允许应用程序访问额外的位置提供命令 允许程序创建模拟位置提供用于测试 允许程序访问有关GSM网络信息 允许程序使用SurfaceFlinger底层特性 允许程序访问Wi-Fi网络状态信息 允许程序发布系统级服务 允许程序更新手机电池统计信息 允许程序连接到已配对的蓝牙设备 允许程序发现和配对蓝牙设备 请求能够禁用设备 允许程序广播一个提示消息在一个应用程序包已经移除后 允许一个程序广播常用intents

Android用户权限列表

我们在安装Android软件的时候,系统会提示该软件所需要的权限,相对于其他系统,android的权限非常多。我们在开发软件的时候,也需要声明相应的权限,比如希望软件能发短信,需要声明软件调用短信的权限,否则软件运行的时候就会报错。 Android的权限在AndroidManifest.xml文件里配置。AndroidManifest文件中有四个标签与permission有关,它们分别是 。其中最常用的是 ,当我们需要获取某个权限的时候就必须在我们的manifest文件中声明 。 [html]view plain copy 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... 11. 12. 的作用相似,两者之间的不同之处, 是android预定义的权限,是自己定义的权 限。 用的相对较少, 这两个标签就更少见了,简单说 就是声明一个标签,该标签代 表了一组permissions,而是为一组permissions声明了一个namespace。后面三个标签具体使用方法见后续文章。 定义方法如下:

Android permission 访问权限说明手册

Android permission 访问权限说明手册 tech.er 2011年2月12日 android平台上的权限许可分得很细,如果软件无法正常执行时,首先要检查是不是缺少相关的permission声明,以下就把permission 访问权限列举出来供大家参考。 程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下: android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded) android.permission.ACCESS_COARSE_LOCATION 允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location) android.permission.ACCESS_FINE_LOCATION 允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location) android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands) android.permission.ACCESS_MOCK_LOCATION 允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing) android.permission.ACCESS_NETWORK_STATE 允许程序访问有关GSM网络信息(Allows applications to access information about networks) android.permission.ACCESS_SURFACE_FLINGER 允许程序使用SurfaceFlinger底层特性(Allows an application to use SurfaceFlinger’s low level features) android.permission.ACCESS_WIFI_STATE 允许程序访问Wi-Fi网络状态信息(Allows applications to access information about Wi-Fi networks) android.permission.ADD_SYSTEM_SERVICE 允许程序发布系统级服务(Allows an application to publish system-level services). android.permission.BATTERY_STATS 允许程序更新手机电池统计信息(Allows an application to update the collected battery statistics) android.permission.BLUETOOTH

Android权限大全

Android权限大全 允许程序写入外部存储,如SD卡上写文件 录音 允许编写短信 允许读写系统设置项 允许程序读写系统安全敏感的设置项 允许程序写入Google Map服务数据 写入联系人,但不可读取 写入日程,但不可读取 写入网络GPRS接入点设置 允许程序在手机屏幕关闭后后台进程仍然运行 允许振动 允许程序使用SIP视频服务 允许程序请求验证从AccountManager 更新设备状态 显示系统窗口 入或修改订阅内容的数据库 访问订阅信息的数据库

安卓平板电脑ROOT权限说明

安卓平板电脑ROOT权限说明 就在我前面一节中就给大家提到过ROOT相关问题,此篇将给大家详细讲解ROOT权限,如果你以前经常去各大论坛一定也会接触到“ROOT”,他的出现频率很高,在各个论坛上,网友的字里行间经常会出现,那么ROOT权限是什么呢?可以给我们带来怎样的好处呢? 什么是root,我需要它做什么? root就是平板电脑的神经中枢,它可以访问和修改你平板电脑几乎所有的文件,这些东西可能是生产平板电脑的公司不愿意你修改和触碰的东西,因为他们有可能影响到平板电脑的稳定,还容易被一些黑客入侵(Root是Linux等类UNIX系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权利,所有对象他都有可以操作的权利,所以很多黑客在入侵系统时,都要把权限提升到Root权限,就是将自己的非法帐户添加到Root用户组。类比于Administrator是Windows NT内核系统中的超级管理员用户帐户,也拥有最高的权限。但不同的是,在WINDOWS下Administrator的资源和别的用户资源是共享的,简单的说,别的用户可以访问Administrator的文件。而Linux中,别的用户是不能访问Root用户的家目录(/root)下文件的。因此,Linux比Windows更安全) 既然root权限这么重要,我们为什么还要去获取它? 其实用root的权限主要是因为我们很多东西是受限制的,我们只能利用这些权限来做我们被限制的去做的事情,比如Google禁止我们看到市场里很多免费或付费软件,我们可以用Marketenabler进去看;很多朋友只能看不能下,不能绑定gmail,我们可以修改hosts 来搞定他们,但这些都需要root权限(由于Root权限对于系统具有最高的统治权,便可方便的对于系统的部件进行删除或更改。对于玩家而言,最大的诱惑是在于“刷机”,只有获得Root权限,我们便可随心所欲地对自己的爱机进行“重新包装”,感受新版本软件的优点) 取得root的好处? 1 可以备份系统 2 使用高级的程序例如资源管理器 3 修改系统的程序 4 把程序安装在SD卡上(默认是不支持的) 绝大多数自制的rom都已经获取了root,如果你的rom没有的话,就要自己取得。 很重要的提示:如果你的平板电脑是行货,在保修之内,获取root就会丧失保修的权利。不知道通过以上内容,你是否对root权限有了更为透彻的了解了呢?当然ROOT也应该根据我们所需,如果你是个爱玩,爱研究平板电脑的机友,那么root权限就会对你很重要,但是如果你只是用平板电脑看看网页,看看电影,上上QQ,那么root显然和你没什么关系

安卓开发手机权限大全

android.permission.ACCESS_NETWORK_STATE允许程序访问有关GSM网络信息(Allowsapplications to access information about networks) android.permission.ACCESS_WIFI_STATE允许程序访问Wi-Fi网络状态信息(Allowsapplications to access information about Wi-Fi networks) android.permission.BLUETOOTH允许程序连接到已配对的蓝牙设备(Allowsapplications to connect to paired bluetooth devices) android.permission.BLUETOOTH_ADMIN允许程序发现和配对蓝牙设备(Allowsapplicationsto discover and pair bluetooth devices) android.permission.CHANGE_WIFI_STATE允许程序改变Wi-Fi连接状态(Allowsapplications to change Wi-Fi connectivity state) android.permission.DEVICE_POWER允许访问底层电源管理(Allowslow-level access to power management)

android.permission.DISABLE_KEYGUARD允许程序禁用键盘锁(Allowsapplications to disable the keyguard ) android.permission.EXPAND_STATUS_BAR允许一个程序扩展收缩在状态栏,Android开发网提示应该是一个类似WindowsMobile中的托盘程序(Allows an application to expand or collapse the status bar.) android.permission.GET_DETAILED_TASKS 检索正在运行的应用的详细信息,恶意程序可借此获得其他应用的私密信息 android.permission.GET_TASKS 检索正在运行的应用,可用于了解当前设备上使用了哪些应用 android.permission.INJECT_EVENTS 将自身的输入事件(例如按键)提供给其他应用,恶意程序可坚持控制手机 android.permission.INTERNAL_SYSTEM_WINDOW 允许创建未授权的内部系统窗口,普通应用绝不应该使用此权限

AndroidManifest.xml配置文件详解

AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.xml文件样例。 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. . . . 33. 34. 35. 36. 37. 38. . . . 39. 40.

Android权限说明

Android权限分的很细,但命名比较人性化,Android permission比SymbianCapabilities有了不少改进,下面就来看看权限许可都有哪些定义吧,发现还是比较繁多的,如果发现你的程序某个地方调试错误很可能是Androidpermission 的访问控制在作怪,这也是为了安全防止手机成为病毒的场所。Android开发网获取到的消息来看不用购买高昂的数字签名证书,权限许可权由用户决定而不是手机制造商和平台提供商,这一点不得不说明为Android开发人员着想,下面的信息都是需要添加在androidmanifest.xml文件中。 程序执行需要读取到安全敏感项必需在androidmanifest.xml 中声明相关权限请求,Android开发网已经翻译并使用中英文对照 android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问"properties"表在checkin数据库中,改值可以修改上传( Allows read/write access to the "properties" table inthe checkin database, to change values that get uploaded) android.permission.ACCESS_COARSE_LOCATION允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi)location) android.permission.ACCESS_FINE_LOCATION允许一个程序访问精良位置(如GPS) (Allows an application to access fine(e.g., GPS) location)

android的用户权限

android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties”table in the checkin database, to change values that get uploaded) android.permission.ACCESS_COARSE_LOCA TION 允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location) android.permission.ACCESS_FINE_LOCA TION 允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location) android.permission.ACCESS_LOCA TION_EXTRA_COMMANDS 允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands) android.permission.ACCESS_MOCK_LOCA TION 允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing) android.permission.ACCESS_NETWORK_STA TE 允许程序访问有关GSM网络信息(Allows applications to access information about networks) android.permission.ACCESS_SURFACE_FLINGER 允许程序使用SurfaceFlinger底层特性(Allows an application to use SurfaceFlinger’s low level features) android.permission.ACCESS_WIFI_STA TE 允许程序访问Wi-Fi网络状态信息(Allows applications to access information about Wi-Fi networks) android.permission.ADD_SYSTEM_SERVICE 允许程序发布系统级服务(Allows an application to publish system-level services). android.permission.BA TTERY_STA TS 允许程序更新手机电池统计信息(Allows an application to update the collected battery statistics) android.permission.BLUETOOTH 允许程序连接到已配对的蓝牙设备(Allows applications to connect to paired bluetooth devices) android.permission.BLUETOOTH_ADMIN 允许程序发现和配对蓝牙设备(Allows applications to discover and pair bluetooth devices) android.permission.BRICK 请求能够禁用设备(非常危险)(Required to be able to disable the device (very *erous!).)

Android开发之- API包类最全面说明

android-->包含应用平台和在定义应用程序所用到android系统功能的应用权限的资料文件类, android.accessibilityservice-->这个包中的类用于为无障碍服务的开发提供替代或增强的反馈给用户 android.accounts--> android.animation-->这些类提供动画系统的功能特性,它允许使用任何类型的动画对象属性,int,float和16进制颜色值都是默认支持的,也可以通过自定义一个动画让告诉应用按你的设置去运行 android.app-->封装好的Andorid全部应用程序模型类 android.app.admin-->提供系统级的设备管理功能,允许您创建安全感知的应用程序用于android系统企业级别的设置,如可以让你的应用程序也能执行屏幕锁定,屏幕亮度调节、出厂设置等功能 android.app.backup-->此包下的类包含了备份和修复应用程度功能的,如果用户清除设备上的数据或升级到一个新的系统,当应用程序在重新安装时可通过已启用的备份用于修复用户之前的数据 android.appwidget-->此包下的类包含在创建一个应用小部件时所必需要组件,用户可将它嵌入在其他应用程序(如主屏幕),无需启动一个新的活动就可快速访问自身应用程序的数据和服务, android.bluetooth-->此包下的类提供手机蓝牙管理功能,例如搜索设备,连接设备,管理设备之间的数据的传输, android.content-->设备上的数据访问和发布。 android.content.pm-->此包下的类提供访问一个应用包的相应信息,信息内容包括:活动,权限,服务,应用签名,提供者, android.content.res-->此包下的类用于访问应用程序的资源,例如:原文件,颜色,图片,多媒体等,和一些可影响设备运行的重要配置的详细信息 android.database-->此包下类的用于探索通过内容提供者返回的数据 android.database.sqlite-->此包下类的包含SQLITE数据库管理类,用于一个应用程序去管理的它所拥有的私有的数据库 android.drm-->此包下的用于管理DRM系统机制和控件DRM机制的插件的功能,DRM解释:DRM提供一套机制对用户使用手机上的媒体内容(如ringtong, mp3等)进行限制,如限制拷贝给第三方,限制使用次数或时限等,从而保护内容提供商的权利, android.gesture-->此包下的类用于创建,识别,加载,保存一个手势 android.graphics-->此包下的类提供一些低级的绘图功具,例如:画布,颜色过滤,顶点坐标,和长方形以便于发开者的绘图直接处理在设备屏幕上, android.graphics.drawable.shapes-->此包下的类用于几何绘图 android.hardware-->提供支持硬件功能的类,例如:照像机和其它传感器 android.hardware.input--> https://www.wendangku.net/doc/0a6261378.html,b-->提供支持android系统设备的USB接口与外围设备的相连 android.inputmethodservice-->输入法的基类 android.location-->包括的类用于定义android地理位置和与此关系的服务 android.media-->提供管理各种各样音频和视频接口的类 android.media.audiofx-->提供管理多媒体框架中实现的音频效果的 android.media.effect-->提供允许你运用各种图像和视频的视觉效果的类 android.mtp-->提供的API让你直接连接照像机和其它设备与之互动,

Android权限控制权限监控

Android权限管理机制 1.Android权限管理。 Android权限来限制一些有限制的特性在应用程序之间以及应用组件访问功能的访问。在Android的发展,我们将满足网络的需要,我们需要添加所需的网络权限: 在开发中如果我们使用了某个权限,如果没有在AndroidManifest.xml文件中相应申明,那么程序会运行有错误且提示:https://www.wendangku.net/doc/0a6261378.html,ng.SecurityException: Permission Denial ... 我们可以根据这个错误提示,一般情况下,在AndroidManifest.xml中通过增加相应的uses-permission Android权限列表: 在Android官方文档中查寻我们需要使用的权限。 https://www.wendangku.net/doc/0a6261378.html,/reference/android/Manifest.permission.html 不同的api有着不同的权限,会出现兼容性问题。 2.Android自定义权限: 在有些场合我们或许会碰到如下的场景:用户在应用程序中进行操作时候,要启动另外一个应用程序的时候,我们一般是打开一个应用程序。并且进入Activity。有些情况,程序处于安全需要,这些操作就需要加上访问权限。Android提供了自定义权限功能。 有时候,我们可能遇到如下需求场景:当用户在一个应用程序中进行某项操作时,会启动另假设应用程序。在A中有MainActivity,应用程序B中有AActivity和BActivity。现在想通过A中的MainActivity直接打开B中的BActivity。 那么,如果不考虑权限,A中的MainActivity如何直接打开B中的BActivity呢?一般,可以通过如下方式: 1 public class MainActivity extends Activity { 2 3 private Button button; 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(https://www.wendangku.net/doc/0a6261378.html,yout.activity_main); 9 10 button = (Button)findViewById(R.id.button); 11 button.setOnClickListener(new View.OnClickListener() {

基于权限分类的Android静态检测

基于权限分类的Android应用程序的静态分析 吴俊昌1,骆培杰1,程绍银1,王嘉捷2,蒋凡1 (1. 中国科学技术大学信息安全测评中心,合肥230027;2. 中国信息安全测评中心,北京100085) 摘要:Android系统有着严格的权限管理机制,应用程序需要获得相应的权限才可以在Android系统上运行。本文提出了一种基于Android权限分类的静态分析方法,用于检测Android应用程序的恶意代码。为了便于处理Android中的大量权限,将其权限划分成四个等级,并将能与外界进行信息交互的权限视为锚点,引入灰函数来描述其他权限所对应的函数,然后利用块与函数变量关联表生成引擎构建块和函数变量关联表,采用静态污点传播和其他静态分析技术相结合的方法对变量关联表进行分析。实验结果表明该方法在分析Android应用程序时是有效的,能够大大减少人为的分析难度和强度。 关键字:恶意应用;软件分析;静态分析;Android 中图分类号:TP302.1 文献标识码:A Static Analysis of Android Apps Based on Permission classification WU Junchang1, LUO Peijie1, CHENG Shaoyin1, WANG Jiajie2, JIANG Fan1 (1. Information Technology Security Evaluation Center, University of Science and Technology of China, Hefei 230027, China; 2. China Information Technology Security Evaluation Center, Beijing 100085, China) Abstract: Android has a strict management mechanism of permissions. If an application wants to run on Android, it must have some suitable permissions. In this paper, a permission-based algorithm of static analysis is presented, which is applied to detect malcode of Android apps. In order to deal with so many permissions, these permissions are divided into four groups. And set the permissions, which can interact with internet or smartphones, as sink function. Use grey function to describe other permissions. Then use block and function analyzer to construct variables’ associating table of block and function. At last use static taint propagation and other static methods to analyze the variables’ associating table. The result of experiment proves that the algorithm is efficient, also can help analyst-programmer reduce the difficulty and intensity of work. Keywords: malware; software analysis; static analysis; Android 随着科学技术的进步和生产力水平的不断提高以智能手机为代表的便携式智能终端便在时下流行起来。与以前的个人计算机的发展所面临的问题一样,智能手机上的安全问题日益凸显出来。智能手机不但有丰富的功能,而且还可以添加各种扩充功能的软件,这就为恶意软件提供生存环境,且智能手机可以保存用户各种帐号及密码等涉及用户隐私的信息,从而给智能手机用户带来巨大经济损失和精神上伤害。 恶意软件虽然是在智能手机上运行的,但是其在各种特征上与在计算机上运行的软件并无很大差异,所以完全可以借鉴传统的软件分析技术对其进行分析。随着软件业的发展,计算机软件分析技术也得到了迅速的发展[1]。静态分析是一种不需运行软件就可以对软件进行分析的过程,常见的有:数据流分析、控制流分析、类型分析等;符号执行[2,3]也 收稿日期: 2011-05-31 基金项目:中央高校基本科研业务费专项资金资助(WK0110000007) 作者简介:吴俊昌(1986-),男(汉),安徽,硕士研究生 通讯作者: 程绍银,讲师,E-mail: sycheng@https://www.wendangku.net/doc/0a6261378.html, 是常用的分析技术,是一种路径敏感的分析策略,需综合考虑路径调度、约束求解等问题。 Android系统有着严格的权限管理机制,应用软件如果想在系统中运行就必须要有相应的运行权

教你完全弄懂Android系统的权限

安卓学堂第一课,教你完全弄懂Android系统的权限来源:dospy智能手机网作者:白鸽男孩 24375次点击发表于:2011-11-15 13:00:11 白鸽曾经在塞班上办过系列学堂,反响还不错,现在打算在安卓上也开设系列课程,希望大家喜欢。白鸽安卓学堂第一课,给大家讲讲手机上最常见的权限知识。 以大家最熟悉的Root Explorer文件管理器为例,我们经常需要用到菜单里的“Permissions”选项来给文件或文件夹设置权限,而这个权限的设置界面就像是一个九宫格一样,我们只需要在里面勾选或者取消勾选就完成了权限的设置。 九宫格的三列分别为Read、Write、Execute,分别对应读取、写入和执行三种权限,三行则是Owner、Group和Others,分别对应所有者、用户组和其它三组账户。 如果我们把电脑上的文件复制到手机的存储卡里,则该文件的默认权限总是如下表所示:

▲左为Windows上的文件在Android系统里的默认权限,右为文件列表里显示的权限 不过细心的朋友可能会发现,我们所勾选的权限,在文件列表中却是另外一种显示模式,比如上述九宫格默认权限显示在列表里却是---rwxr-x,这样的表述方法又是怎么来的呢? 理解起来其实很简单,---rwxr-x总共是九个字符,而九宫格也一共有九个勾选选项,首先没有勾选的选项我们一律用字符-表示,而对于勾选了的选项,只需结合其所对应的列来看就能同样轻松写出对应的字符:如果对应的列是Read,那么就写作r,如果对应的列是Write,那么就写作w,如果对应的列是Execute,那么就写作x,其实都是这三个单词的缩写,非常容易记忆。 好吧,现在让我们按照从左到右、从上到下的顺序来看,那么这个九宫格的写法就很容易推导出是---rwxr-x了。

相关文档
相关文档 最新文档