工具
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 工具
- 关联
- 基础工具
- 目标
- 应用 · 协议
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · foundryzero/binder-trace · 修订 a8a9a06
- STRUCTURES.md GitHub · foundryzero/binder-trace · 修订 a8a9a06
- binder_trace/binder_trace/__main__.py GitHub · foundryzero/binder-trace · 修订 a8a9a06
- binder_trace/binder_trace/js/interceptbinder.js GitHub · foundryzero/binder-trace · 修订 a8a9a06
- binder_trace/binder_trace/structs GitHub · foundryzero/binder-trace · 修订 a8a9a06
- binder_trace/requirements.txt GitHub · foundryzero/binder-trace · 修订 a8a9a06
- binder_trace/setup.py GitHub · foundryzero/binder-trace · 修订 a8a9a06
- tox.ini GitHub · foundryzero/binder-trace · 修订 a8a9a06
- .github/workflows/style.yml GitHub · foundryzero/binder-trace · 修订 a8a9a06
- LICENSE GitHub · foundryzero/binder-trace · 修订 a8a9a06
- https://pypi.org/project/binder-trace/1.4.1/