Android程序的安全系统
2013-05-14 20:55
190 查看
Android程序的安全系统
在Android系统中,系统为每一个应用程序(apk)创建了一个用户和组。这个用户和组都是受限用户,不能访问系统的数据,只能访问自己的文件和目录,当然它也不能访问其他应用程序的数据。这样设计可以尽可能地保护应用程序的私有数据,增强系统的安全性和健壮性。但是有一些应用程序是需要访问一些系统资源的。比如Setting程序,它需要访问WiFi,在系统中创建删除文件等等操作。怎样做到这一点儿呢?Android通过一定途径可以获得system权限。获得system用户权限,需要以下步骤:
1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。
一般情况下system用户可以在系统中创建和删除文件,访问设备等等。但是有些情况下system权限还是不够的。比如:设置网卡IP地址,ifconfig命令是需要root权限的。我可以很肯定的说,在Android下面应用程序是没有可能拿到root权限的。但是如果我的应用程序需要root权限怎么办呢?只能想办法绕般过去。就以我的问题为例,设置网卡IP地址,root权限下面命令为:
ifconfig eth0 192.168.1.188
在普通用户或者system用户权限下面这条命令是不起作用的,但是不会返回失败和异常,那么怎样实现这个功能呢。
1、系统启动的时候init进程创建一个后台进程,该进程处于root用户权限下面。用来监听系统中应用程序的请求(可以用socket实现),并代其完成。这样应用程序就可以执行root用户权限的任务了。
2、实现一个虚拟的设备,该设备的功能就是在内核态帮应用程序执行相应的命令。Linux内核态没有权限的问题了。肯定可以执行成功。
解决设置网卡IP地址问题时,选择是后者相对来说设计比较简单。
相关文章推荐
- Android程序的安全系统 apk获得root权限
- Android程序的安全系统
- Android程序的安全系统
- Android程序的安全系统--以root权限进行操作
- Android系统安全之旅 第1章 编译Android程序的方法
- Android程序的安全系统 root 工具
- Android程序的安全系统 apk获得root权限
- Android程序的安全系统 apk获得root权限
- Android程序的安全系统 获取系统权限
- Android程序的安全系统
- Android研究-Android系统初始化程序init和初始化配置文件init.rc分析[zz]
- 在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序
- 穿针引线,帮你回忆, 汇总:Android系统启动流程 & 应用程序'进程'启动 & 应用'程序'启动流程(框架图、流程图、时序图)
- 解决通过Intent调用系统拍照程序,返回图片太小的问题[android]
- Android系统信息与安全
- 可以删除的安卓Android系统自带程序列表
- Android调用系统程序
- [Unity]Android(安卓)代码安卓APK时,使用系统安装器安装的[最正确]办法(不弹出选择打开的程序)
- 基于Android平台的网络游戏对战系统项目可执行程序及源代码
- android程序开发-如何让程序的字体不随系统字体的设置而改变