首页
社区
课程
招聘
[求助]关于root后修改packages.xml来实现权限吊销的可行性
发表于: 2014-6-11 13:21 9192

[求助]关于root后修改packages.xml来实现权限吊销的可行性

2014-6-11 13:21
9192
最近做的一个应用有对手机上的其他应用进行权限吊销的需求,由于每个apk在清单文件里声明的权限会在手机启动后解析到/data/system/packages.xml下,我的思路是修改packages.xml,将指定apk的权限删除,然后重启手机。但是经过试验后发现不仅没有成功吊销权限,而且packages.xml被恢复成了原状。经分析,可能是手机每次启动都会重新从apk里解析清单文件,重新生成一个packages.xml,然后从packages.xml里读取权限到内存。现在的问题是,如何在packages.xml刚被生成出来,还没有被写进内存的时候修改它,这样做是否可行?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 93
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
在开机后,修改/data/system/packages.xml是否有效,如果有效,那么注册一个开机服务,每次开机后都修改呢?
2014-6-11 15:20
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你说的有效具体指什么呢?是能成功吊销权限吗?我就是在开机后修改这个文件的,没用,因为这个时候packages.xml已经读到pms的一个容器里面了,pms在判断应用是否具有某项权限的时候就直接从内存里读。所以问题的关键是写个服务,在手机开机后将packages创建出来后,读到内存前这段特定时间内修改。
2014-6-11 16:48
0
雪    币: 93
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我刚才试了下确实无效,刚看下了网上一个APK权限修改器的做法,就是将原始apk包解析,修改mainfest中权限,然后重新签名打包安装,这个比较彻底,但是不稳定,如果应用本身做了一些安全审查,那么就会导致可以安装,但是无法运行。
      还有中做法就是自己写一个安装器,在安装时根据输入,将对应的权限删除,这样可以保证本次开机过程中权限是按照设定来的,但是重启后,package.xml是按照系统安装器解析mainfest生成的,这样就又回到原点了。
      不知道有没有办法,在系统开机时pm也使用自己提供的安装器,可以的话,只要在自己应用下创建数据库,记录每个应用的权限,在安装时查表决定,但是这样的话,速度会变慢。
2014-6-11 17:40
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
写一个自己的安装器是个好想法,但是这样就无法实现360和LBE那样的动态吊销了,重打包的方式也不好,需要重启手机。360跟LBE应该是在后台挂了个服务,将应用程序请求权限的操作拦截下来,具体怎么做的不太清楚。
2014-6-11 18:26
0
雪    币: 435
活跃值: (172)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
6
lbe的实现方式早有人分析过了,还发了文档呢,自己找一下吧
2014-6-11 21:22
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
Hook PackageManager应该可行吧?
2014-6-13 14:20
0
雪    币: 93
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个功能最新的 android4.4的OPS功能就是这样的,可以去借鉴下如何实现。
2014-6-13 18:33
0
游客
登录 | 注册 方可回帖
返回
//