Android 下 root 后自己的应用如何实现修改其他应用的权限

2018-05-08 08:41:28 +08:00
 Newass

如题,感觉所从下手

之前试过修改 /data/system/packages.xml 但是只能用 adb 修改,应用好像无法修改(即使获取 root 权限) 也试过用 AppOpsManager,里面的 setMode 方法被隐藏,网上说自己导入 AppOpsManager.java 就行,但是导入后 import 的其他的包都不能找到= =也不知道咋回事儿……

求有知道的 dalao 给条明路 OTZ

7088 次点击
所在节点    Android
11 条回复
Newass
2018-05-08 09:22:34 +08:00
怎么都没人回答呀……是不是提问方式不大对啊……新人各位 dalao 多多包涵 OTZ
zpxshl
2018-05-08 10:07:58 +08:00
反射获得隐藏的方法?
alvinbone88
2018-05-08 11:32:21 +08:00
既然已经 root 了,就直接改 /data/system/appops.xml 来改权限
另外 /data/system/packages.xml 在我手机上是可以用 root 权限修改的,建议顺便检查一下 root 是否完整
tempdban
2018-05-08 11:41:56 +08:00
selinux
Newass
2018-05-08 23:13:56 +08:00
@zpxshl 试了一下子,应该是编译.class 的时候会忽略 @hide 属性的方法等,所以反射找不到方法。
Newass
2018-05-08 23:18:54 +08:00
@alvinbone88 请问修改是把修改操作写到 APP 里面,然后运行 APP 么……我这会 permission denied,但是我的应用是可以把 package.xml 修改为可读可写的,但是修改文件就是不行……
alvinbone88
2018-05-09 00:49:36 +08:00
@Newass #6 这种疑难杂症,没详细的日志就只能靠猜……

> 请问修改是把修改操作写到 APP 里面,然后运行 APP 么

你这句话让我一脸懵逼啊
写到 APP 的哪里? APP 里用于声明权限的文件只有 AndroidManifest.xml ,这个文件还在 APK 中,修改还需要解包

顺便提醒一下,通过改 packages.xml 来控制权限并不是一个好办法,因为只要 APP 覆盖安装一次,与这个 APP 相关的修改就会全部丢失
如果只是想让 APP 获取不到权限,直接改 app ops 的配置文件就可以了
zpxshl
2018-05-09 08:20:12 +08:00
@Newass 反射可以获得 hide 方法的吧
Newass
2018-05-09 08:43:35 +08:00
@alvinbone88 感谢大佬的解答~
我的意思,具体点,就是自己写个 APP 修改文件的函数写到一个 Button 的点击函数里面,然后运行点击按钮,Android studio 中报 permission denied,修改的方法是 Bufferedwriter 打开 packages.xml ,这样就会直接报错,我也试了一下 appops.xml 同样的也是不行……
获取权限用的 Runtime.getRuntime().exec("su");可以修改 packages.xml 的权限可读可写(chmod 777 packages.xml)
手机用的红米 note,他是自带 root 管理的
alvinbone88
2018-05-09 09:38:27 +08:00
@Newass #9 建议先检查一下 system 分区是否能正常读写

据我所知,红米自带的 root 不是完整 root,最后还需要解锁 system 分区
Trumeet
2018-05-12 09:37:15 +08:00
用 Root 命令行调用 app_process,加载自己的 dex 来实现越权。
至于隐藏 API,https://blog.yuuta.moe/2017/09/12/new-way-access-hidden-api/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/452960

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX