工具

Binder Trace Android Binder 消息拦截与解析工具

基于 Frida 的终端工具,作者称其为“Binder 版 Wireshark”,用于拦截 Android 进程发出的 Binder IPC 事务,并解析每条消息及其回复。随附针对特定 Android 版本的结构文件,可把事务编号映射回 AIDL 接口和方法名,并把 parcel 参数解码为带类型的字段,与十六进制视图并列显示。频率面板和 JSON 过滤配置可按接口、方法或类型筛选消息流,从而看出应用调用了哪些系统服务、传递了什么数据。

使用条件与局限

  • 审阅时 PyPI 版本为 binder-trace 1.4.1,发布于 2024-08-01,要求 Python 3.9+。所审阅的 main 分支提交日期为 2025-09-11,比该版本多一个只修改 README 的提交,修正了 frida-server 步骤和所列 Android 版本,也是仓库最近一次活动。
  • 需要已 root 的 Android 设备或模拟器、以 root 身份运行的 adb,以及与已安装的 Frida Python 包版本一致的 frida-server;requirements.txt 未固定 Frida 版本。工具可按 PID 或进程名附加到进程,也可先启动再附加,应仅用于分析者有权分析的设备和应用。在 Linux 上使用剪贴板复制需安装 xclip 或 xsel。
  • 默认结构文件覆盖 Android 9 至 14,另有 8.1 及部分小版本的结构集。STRUCTURES.md 说明 AIDL 方法编号和 parcel 布局会随构建版本变化,因此设备构建与随附的 AOSP 标签不一致时,解析结果可能有误,结构文件可能需要手动修改。只捕获被附加进程经由 libbinder 的 IPCThreadState::transact 发出的事务及其回复。
  • CI 通过 tox 在多个 Python 版本上运行 isort、black、flake8、pydocstyle 和 pytest;测试覆盖参数解析、parcel 解析和终端界面,不涉及真实设备。采用 MIT 许可。本次未对任何设备或应用进行跟踪。

关于此条目

类型
工具
类别
Android 工具
关联
基础工具
目标
应用 · 协议

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · foundryzero/binder-trace · 修订 a8a9a06
  2. STRUCTURES.md GitHub · foundryzero/binder-trace · 修订 a8a9a06
  3. binder_trace/binder_trace/__main__.py GitHub · foundryzero/binder-trace · 修订 a8a9a06
  4. binder_trace/binder_trace/js/interceptbinder.js GitHub · foundryzero/binder-trace · 修订 a8a9a06
  5. binder_trace/binder_trace/structs GitHub · foundryzero/binder-trace · 修订 a8a9a06
  6. binder_trace/requirements.txt GitHub · foundryzero/binder-trace · 修订 a8a9a06
  7. binder_trace/setup.py GitHub · foundryzero/binder-trace · 修订 a8a9a06
  8. tox.ini GitHub · foundryzero/binder-trace · 修订 a8a9a06
  9. .github/workflows/style.yml GitHub · foundryzero/binder-trace · 修订 a8a9a06
  10. LICENSE GitHub · foundryzero/binder-trace · 修订 a8a9a06
  11. https://pypi.org/project/binder-trace/1.4.1/

同分区更多条目:应用

应用分区全部 100 项资源