工具
ret-sync 调试器与反汇编器同步插件
ret-sync 即“逆向工程工具同步”:一组插件,让 IDA、Ghidra 或 Binary Ninja 的图形与反编译视图跟随运行中的 WinDbg、GDB、LLDB、OllyDbg 1.10/2 或 x64dbg 调试会话,并实时重定基址,使 ASLR 不影响地址对应。调试器命令可将注释、标签、重定基后的地址和命令输出写入反汇编数据库,并从中解析符号;反汇编器中的快捷键则可设置断点、单步执行调试器。可同时同步多个数据库,两端也可运行在不同主机上。独立的 Python 库可为自定义跟踪工具提供同样的位置同步。
使用条件与局限
- 没有任何发布版本对应所审阅的 master 分支提交(2026-02-15):GitHub 上唯一的发布是 2022 年的 Binary Ninja 社区版构建;WinDbg、OllyDbg、OllyDbg2 和 x64dbg 的预编译插件由 Azure DevOps 流水线产出;ext_ghidra/dist 存放按 Ghidra 版本区分的扩展压缩包,最新一个对应 Ghidra 11.4.2。每个 Ghidra 压缩包只支持文件名中标明的 Ghidra 版本,其他版本需针对本地安装用 Gradle 构建。
- IDA 插件需要 IDA 9.2+,更早的 IDA 版本需使用 ida9.2 标签之前的历史版本;Binary Ninja 插件需要 Binary Ninja 2.2+ 和 Python 3,并被标为实验性;WinDbg 扩展通过 Visual Studio 解决方案构建,README 报告 Visual Studio 2017 和 2026 均可成功构建;IDA 和 GDB 插件需要 Python 2.7+ 或 Python 3。IDA、Binary Ninja 和 WinDbg 需另行获取,用户需自备二进制文件和调试目标。
- README 说明调试器与反汇编器之间没有任何认证或加密,自修改代码不在支持范围内;其列出的测试版本较旧(Python 2.7/3.7、IDA 7.7、Ghidra 10.1.1、Binary Ninja 3.0、GDB 8.1、LLDB 310.2.37),并提到 GDB 调试多线程程序时存在信号问题、WinDbg 可能存在竞态条件。远程调试和模块名不一致等场景通过可选的 .sync INI 文件配置。
- 采用 GPL-3.0-or-later 许可,Binary Ninja 插件采用 MIT 许可。ret-sync 是 Quarkslab qb-sync 的分支。本条目未实际同步任何调试会话。
关于此条目
- 类型
- 工具
- 类别
- 调试与动态分析
- 关联
- 基础工具
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · bootleg/ret-sync · 修订 60e7b0f
- README.md#L102-L113 GitHub · bootleg/ret-sync · 修订 60e7b0f
- README.md#L519-L571 GitHub · bootleg/ret-sync · 修订 60e7b0f
- README.md#L1060-L1115 GitHub · bootleg/ret-sync · 修订 60e7b0f
- ext_ghidra/dist GitHub · bootleg/ret-sync · 修订 60e7b0f
- COPYING GitHub · bootleg/ret-sync · 修订 60e7b0f
- https://github.com/bootleg/ret-sync/releases/tag/ext_bn_community_release_v0.1.0