{
  "added_at": "2026-11-02",
  "additional_evidence_urls": [
    "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/STRUCTURES.md",
    "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/binder_trace/binder_trace/__main__.py",
    "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/binder_trace/binder_trace/js/interceptbinder.js",
    "https://github.com/foundryzero/binder-trace/tree/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/binder_trace/binder_trace/structs",
    "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/binder_trace/requirements.txt",
    "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/binder_trace/setup.py",
    "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/tox.ini",
    "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/.github/workflows/style.yml",
    "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/LICENSE",
    "https://pypi.org/project/binder-trace/1.4.1/"
  ],
  "category": "android",
  "description_en": "Frida-based terminal tool, described by its authors as \"Wireshark for Binder\", that intercepts the Binder IPC transactions an Android process sends and parses each message and its reply. Bundled structure files for specific Android releases map transaction codes back to AIDL interface and method names and decode parcel arguments into typed fields beside a hex dump. A frequency pane and a JSON filter file narrow the stream by interface, method or type, showing which system services an app calls and with what data.",
  "description_zh": "基于 Frida 的终端工具，作者称其为“Binder 版 Wireshark”，用于拦截 Android 进程发出的 Binder IPC 事务，并解析每条消息及其回复。随附针对特定 Android 版本的结构文件，可把事务编号映射回 AIDL 接口和方法名，并把 parcel 参数解码为带类型的字段，与十六进制视图并列显示。频率面板和 JSON 过滤配置可按接口、方法或类型筛选消息流，从而看出应用调用了哪些系统服务、传递了什么数据。",
  "entry_url": "https://awesomerea.org/resources/binder-trace/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/binder-trace/",
  "evidence_url": "https://github.com/foundryzero/binder-trace/blob/a8a9a06fbf85dbf2241f9232c3776a515b05f8eb/README.md",
  "group": "tools",
  "id": "binder-trace",
  "json_url": "https://awesomerea.org/resources/binder-trace/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/binder-trace/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/binder-trace/index.md",
  "name": "Binder Trace",
  "name_zh": "Binder Trace Android Binder 消息拦截与解析工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "PyPI release at review: binder-trace 1.4.1, published 2024-08-01, requiring Python 3.9+. The reviewed main commit of 2025-09-11 is one README-only commit later, correcting the frida-server steps and the listed Android versions, and is the latest activity.",
    "Needs a rooted Android device or emulator, adb running as root and a frida-server matching the installed Frida Python package, which requirements.txt leaves unpinned. It attaches to a process by PID or name, or spawns it, and should be used on devices and apps the analyst may analyse. Clipboard copy on Linux needs xclip or xsel.",
    "Default structure sets cover Android 9 to 14, with extra sets for 8.1 and some point releases. STRUCTURES.md explains that AIDL method numbering and parcel layouts change between builds, so results on a device whose build differs from the bundled AOSP tags can be wrong and the files may need hand-editing. Only transactions the attached process issues through libbinder's IPCThreadState::transact are captured, together with their replies.",
    "CI runs tox with isort, black, flake8, pydocstyle and pytest across several Python versions; the tests cover argument parsing, parcel parsing and the terminal interface, not live devices. MIT licensed."
  ],
  "requirements_zh": [
    "审阅时 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 许可。"
  ],
  "targets": [
    "app",
    "protocol"
  ],
  "url": "https://github.com/foundryzero/binder-trace",
  "verification": "source-reviewed",
  "verified_at": "2026-10-20"
}
