请教读取用户正在运行的进程的方法

2023-11-24 23:17:04 +08:00
 hcbb
请问,有其他什么方法可以跳过用户许可直接读取所有进程信息吗?安卓 ndk 可以做到吗?
8218 次点击
所在节点    Android
5 条回复
codehz
2023-11-24 23:40:11 +08:00
没啥漏洞的话应该是读取不到了,谷歌默认开了/proc“隐私模式”,虽然用 kill 0 的方法能确定有哪些 pid 存活,但是应该是得不到其他信息
mightybruce
2023-11-25 00:06:33 +08:00
NDK 这些是做不到了,但是 linux 内核的黑科技 ebpf 可以, 其中对于安卓平台而言,这个项目可以参考。
https://github.com/yanivagman/BPFroid
tool2d
2023-11-25 00:31:12 +08:00
ndk 读不到,但是 adb 可以读。

用 ndk 写一个安卓 arm 版本的 adb, 在用户用户手机打开 wifi USB 调试,连上后,能列出手机所有进程信息。
lisongeee
2023-11-25 02:16:30 +08:00
也许可以通过 shizuku 授权调用 IActivityManager::getRunningAppProcesses 来获取进程信息列表

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/core/java/android/app/IActivityManager.aidl#345
stinkytofu
2023-11-25 02:22:38 +08:00
老版本安卓可以, 较新版本安卓, 没有系统权限的情况下, 别想了, 没有可能

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

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

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

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

© 2021 V2EX