现有控制软件行为的方案,绿守 /黑域 /写轮眼 /xposed 无一不是入侵式的,对 root/adb 要求很高效果却不完美,为啥没大神做基于 manifest 编辑+自签名打包来做到免 root 限制流氓呢?
Manifest 就像是 apk 和 android 系统签订的一份合约, 其内容完全决定了 android 沙盒如何限制 apk 的行为。Google 目前的做法是让用户无条件接受这份合约( 6.0 之前)或者只有极小协商空间(就是 6.0 的可选权限)。如果能修改 manifest,用户可以达到这些效果(从简单到难):
1. 修改 targetSdkVersion 很多新系统对流氓的控制,流氓都会通过 target 老旧的 sdk 来应付,如果能自己改 targetSdkVersion,流氓们只能在 8.1 下面乖乖睡觉,在 6.0 下面乖乖把部分敏感权限选择权交给用户
2. 直接删除 /添加权限申明。6.0 下面的权限只有部分是可选的,通过修改 manifest,所有权限用户都能控制
3. 直接修改 /删除四大组件的申明 让 broadcastreceiver 再也收不到“开机 /网络变更 /摄像头开启”之类的唤醒,直接禁用 service/content provider, 或者使其无法向第三方开放。
如此以来,再也不需要在运行时控制自启动 /切断唤醒路径, 因为新合约让流氓无路可走。还有 Oreo 对 bound service/content provider 没有约束的情况,manifest 也可以弥补。只要限制得当,这个沙盒能比 iOS 更加给力。
改完后重新打包,尽量做到每个 apk 单独签名。还有就是最好把 apk 的原始签名加入 manifest 中,这样升级的时候可防止下载到一个已经被人动过手脚的 apk。
如果要做这种修改软件,界面可以像写轮眼那样非常清晰明了。如果能借绿色守护的处方语法就更好了,那样小白就可以利用网上现成的处方来决定哪些权限 /组建可删可改以及怎么改。免 root,流程简单,效果超过现有方案,为啥没人做呢?
Manifest 就像是 apk 和 android 系统签订的一份合约, 其内容完全决定了 android 沙盒如何限制 apk 的行为。Google 目前的做法是让用户无条件接受这份合约( 6.0 之前)或者只有极小协商空间(就是 6.0 的可选权限)。如果能修改 manifest,用户可以达到这些效果(从简单到难):
1. 修改 targetSdkVersion 很多新系统对流氓的控制,流氓都会通过 target 老旧的 sdk 来应付,如果能自己改 targetSdkVersion,流氓们只能在 8.1 下面乖乖睡觉,在 6.0 下面乖乖把部分敏感权限选择权交给用户
2. 直接删除 /添加权限申明。6.0 下面的权限只有部分是可选的,通过修改 manifest,所有权限用户都能控制
3. 直接修改 /删除四大组件的申明 让 broadcastreceiver 再也收不到“开机 /网络变更 /摄像头开启”之类的唤醒,直接禁用 service/content provider, 或者使其无法向第三方开放。
如此以来,再也不需要在运行时控制自启动 /切断唤醒路径, 因为新合约让流氓无路可走。还有 Oreo 对 bound service/content provider 没有约束的情况,manifest 也可以弥补。只要限制得当,这个沙盒能比 iOS 更加给力。
改完后重新打包,尽量做到每个 apk 单独签名。还有就是最好把 apk 的原始签名加入 manifest 中,这样升级的时候可防止下载到一个已经被人动过手脚的 apk。
如果要做这种修改软件,界面可以像写轮眼那样非常清晰明了。如果能借绿色守护的处方语法就更好了,那样小白就可以利用网上现成的处方来决定哪些权限 /组建可删可改以及怎么改。免 root,流程简单,效果超过现有方案,为啥没人做呢?
