

另一种思路实现类似冰箱/黑阈的功能
source link: https://www.v2ex.com/t/788902
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Android 上实现不 root 管理其他 App,基本上有几种方案:
- 利用设备管理员模式。代表应用 App Ops/小黑屋。
- 利用 Adb 调试权限。代表应用 冰箱 /黑阈。
- 另有一派非主流,利用无障碍服务,模拟点击杀进程。如KillApps。
对我个人来说,设备管理员模式的操作过于复杂,而且有相当一部分设备不支持。主要研究了一下 Adb 模式。
冰箱 /黑阈在非 root 情况下,需要用户在每次设备重启后用 adb 运行一个脚本,这个脚本在后台起一个有 adb 权限的进程。后面需要 adb 权限时,通过 socket 和这个进程通信,利用它的 adb 权限代替执行相关操作。
但其实原生 Android 上已经有一个进程在做一模一样的事,那就是 adbd 。
熟悉 Adb 调试的人都知道,adb 调试是通过 PC 端的 adb 命令程序和 Android 设备端的 adbd 服务进程通信实现的。不管底层是走 usb 还是 tcpip,他们之间交互的协议是固定的。
那么能不能在设备端实现一个 adb 命令程序,实现在设备上对其他 App 的管理呢。
答案是肯定的,Adb 协议相当简单明了,实现并没有太大难度。 https://android.googlesource.com/platform/packages/modules/adb/+/HEAD/protocol.txt
这样一来,App 获取 ADB 权限流程变成:
1.开启 adb 调试,连上设备,执行: adb tcpip 5555
2.App 中连接 localhost 的 5555 端口,发送 adb 调试证书授权,用户点确认,获取 adb 权限。
相比于冰箱 /黑阈,这个方案的好处是,利用的是 Android 官方的 adbd,后台没有任何第三方进程,不使用 App 时系统零开销。 安全性,稳定性更有保障。
利用这个原理,我写一个 App,有兴趣的 tx 可以试用一下
Ran: Rule your Apps with Adb on devices
https://play.google.com/store/apps/details?id=com.cloudmonad.ran
目前功能比较简陋,主要利用 adb 权限实现了 获取 App 运行状态,杀死 App,frozen/unfrozen(利用 pm disable/enable )
Recommend
-
94
软WAF的另一种思路:基于Openresty+Naxsi的WAF实现
-
55
Android - @FakeLeung - 哪一个能更好的省电?流畅?
-
45
最近项目需要在移动端做一个可以选座订票的功能。上网搜了一下没找到一个现成的库可以解决需求,所以就自己写了一个粗糙的版本。 需求 前端展示座位分布 可拖动 放大缩小 点击选座 技术栈 svg hammerjs 效果图 详细效果可以去demo那体验一
-
34
借用大佬的一张图,侵权立删 前言 在今年年初在掘金发布了一篇文章记一次Vue动态渲染路由的实现,现在代码经过不断的Review 现在完全优化了之前的实现方法,代码量减少很多,逻辑更加简单,同时也更加稳定 demo已经部署到github,欢迎体验~~ vue-e
-
6
springMVC 有没有路由约束功能,类似 dotnet5 中的路由约束? 关于 · 帮助文档 · FAQ ·
-
6
V2EX › 程序员 有没有类似 anydesk 中直连功能的远程软件? todesk 没有 EarthChild...
-
8
实现内容区域可输入文本,也可以通过点击按钮添加内容,输入得文本单个删除,添加得内容为一个整体,整体删除,不可重复添加。难点1:添加得内容整体删除,这时候就得是一个整体,只能添加整个标签,删除得时候才能整体删除。<div...
-
4
上线7年的腾讯看点快报App停运:功能类似今日头条 2022-07-19 18:43 出处/作者:快科技 整合编辑:佚名 0
-
1
V2EX › Windows 请问 win 有类似快照的功能吗
-
7
JS中的重载——如何实现一个类似这样的功能,我也想玩玩 原创 流指斜阳 202...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK