{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/mahaloz/decomp2dbg/blob/416dce4986f90c74876ddb00af18583f8de6e4fe/README.md#L20-L46",
    "https://github.com/mahaloz/decomp2dbg/blob/416dce4986f90c74876ddb00af18583f8de6e4fe/README.md#L147-L168",
    "https://github.com/mahaloz/decomp2dbg/blob/416dce4986f90c74876ddb00af18583f8de6e4fe/pyproject.toml",
    "https://github.com/mahaloz/decomp2dbg/blob/416dce4986f90c74876ddb00af18583f8de6e4fe/LICENSE",
    "https://github.com/mahaloz/decomp2dbg/blob/416dce4986f90c74876ddb00af18583f8de6e4fe/tests.py",
    "https://github.com/mahaloz/decomp2dbg/blob/416dce4986f90c74876ddb00af18583f8de6e4fe/.github/workflows/ci-tests.yml",
    "https://github.com/mahaloz/decomp2dbg/tree/416dce4986f90c74876ddb00af18583f8de6e4fe/testing/binaries",
    "https://github.com/mahaloz/decomp2dbg/releases/tag/v4.0.3",
    "https://pypi.org/project/decomp2dbg/4.0.3/"
  ],
  "category": "dynamic-analysis",
  "description_en": "Decompiler-to-debugger bridge that serves function names, global variables, stack and register variable names and decompiled code from IDA Pro, Binary Ninja, Ghidra or angr-management to GDB over an XML-RPC connection. Synced functions and globals become ordinary GDB symbols for breakpoints and memory examination, local variables appear as convenience variables, and each breakpoint stop prints the decompiled line for the current address. It works with vanilla GDB, GEF and pwndbg, and can map a shared library's symbols once its load range is supplied.",
  "description_zh": "连通反编译器与调试器的桥接工具：通过 XML-RPC 连接，把 IDA Pro、Binary Ninja、Ghidra 或 angr-management 中的函数名、全局变量、栈变量与寄存器变量名以及反编译代码提供给 GDB。同步过来的函数和全局变量成为普通的 GDB 符号，可直接下断点和查看内存；局部变量以便利变量的形式出现，每次在断点处停下时还会打印当前地址对应的反编译代码行。它支持原生 GDB、GEF 和 pwndbg；提供共享库的加载地址范围后，也能为该库映射符号。",
  "entry_url": "https://awesomerea.org/resources/decomp2dbg/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/decomp2dbg/",
  "evidence_url": "https://github.com/mahaloz/decomp2dbg/blob/416dce4986f90c74876ddb00af18583f8de6e4fe/README.md",
  "group": "tools",
  "id": "decomp2dbg",
  "json_url": "https://awesomerea.org/resources/decomp2dbg/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/decomp2dbg/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/decomp2dbg/index.md",
  "name": "decomp2dbg",
  "name_zh": "decomp2dbg 反编译器-调试器符号同步工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Release at review: v4.0.3, published 2026-07-14 on GitHub and PyPI; the reviewed main commit is that version bump. Package metadata requires Python 3.10+, and the README says decomp2dbg must be installed in the same Python environment as the decompiler and the debugger. The bundled installer places the decompiler plugin and sources the GDB client from the user's .gdbinit, after GEF or pwndbg are loaded; a Windows decompiler outside WSL needs the README's manual steps.",
    "The README lists IDA Pro 9.0+, Binary Ninja 2.4+, Ghidra 12+ (started in PyGhidra mode with the plugin enabled) and angr-management 9.0+, each installed separately; decompiler access goes through the declib library. Only GDB-based debuggers are supported: LLDB and WinDbg support, struct syncing, function-type syncing and online DWARF creation are listed as unfinished.",
    "The decompiler side starts an XML-RPC server on localhost:3662 by default; debugging from another machine or VM needs the host and port at connect time and the port reachable. One decompiler can be connected at a time, and a shared library's symbols need its base and end addresses supplied manually.",
    "tests.py holds integration tests that drive headless Ghidra, or IDA through idalib, with GDB; CI runs only the Ghidra suites against Ghidra 12.0. The testing/binaries directory keeps sample executables, including an Ubuntu objdump build, as test fixtures. BSD-2-Clause license."
  ],
  "requirements_zh": [
    "审阅时的最新版本为 v4.0.3，于 2026-07-14 在 GitHub 和 PyPI 发布；所审阅的 main 分支提交即为该版本号更新。包元数据要求 Python 3.10+；README 指出 decomp2dbg 必须安装在反编译器和调试器所用的同一 Python 环境中。自带的安装程序会放置反编译器插件，并在用户的 .gdbinit 中加载 GDB 客户端，加载位置须在 GEF 或 pwndbg 之后；若反编译器运行在 WSL 之外的 Windows 上，需要按 README 的手动步骤安装。",
    "README 列出 IDA Pro 9.0+、Binary Ninja 2.4+、Ghidra 12+（须以 PyGhidra 模式启动并启用插件）和 angr-management 9.0+，均需另行安装；对反编译器的访问通过 declib 库实现。目前只支持基于 GDB 的调试器：LLDB 和 WinDbg 支持、结构体同步、函数类型同步以及在线生成 DWARF 都列为尚未完成。",
    "反编译器一侧默认在 localhost:3662 启动 XML-RPC 服务；若在另一台机器或虚拟机上调试，需要在连接时指定主机和端口，并确保该端口可达。同一时间只能连接一个反编译器；共享库的符号需要手动提供其起始和结束地址。",
    "tests.py 中的集成测试用 GDB 配合无界面运行的 Ghidra，或通过 idalib 运行的 IDA；CI 只针对 Ghidra 12.0 运行 Ghidra 测试套件。testing/binaries 目录保存了若干示例可执行文件作为测试夹具，其中包括一个 Ubuntu 的 objdump 构建。采用 BSD-2-Clause 许可。"
  ],
  "targets": [
    "binary"
  ],
  "url": "https://github.com/mahaloz/decomp2dbg",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
