工具
ghidra-delinker-extension Ghidra 目标文件反链接扩展
Ghidra 扩展,可把程序中选定的部分“反链接”回可重定位目标文件。其重定位表合成分析器根据 Ghidra 数据库重建链接器通常会丢弃的重定位信息,导出器则写出带符号表和重定位表、可由工具链重新链接的 COFF(x86、x86-64)、ELF(x86、x86-64、MIPS)或 OMF(x86)目标文件。README 列出的用途包括借助链接器打二进制补丁、软件移植、格式转换、提取库,以及逐个目标文件重新实现程序的反编译项目。
使用条件与局限
- 审阅时最新版本为 v0.9.2,发布于 2026-09-26,正对应所审阅的提交,分别为 Ghidra 12.0.4、12.1、12.1.2、12.1.3 和 12.1.4 提供扩展压缩包;应选用与已安装 Ghidra 版本对应的包。CI 使用 JDK 21 构建。
- 从源码构建需要设置 GHIDRA_INSTALL_DIR 并使用 Gradle。依赖来自 GitHub 的 Maven 仓库,需要具备 read:packages 权限的令牌;也可以通过 gradle installStandaloneDeps 从内置的子模块构建依赖。安装后需在 Ghidra 的 Experimental 插件列表中启用 RelocationTableSynthesizedPlugin;随附的 DelinkProgram 脚本可用于无界面模式。
- 输入应为已在 Ghidra 中加载并分析的程序。README 提醒,合成的重定位依赖 Ghidra 数据库的准确性,信息错误或缺失可能导致重定位出错或遗漏,并建议每次导出前重新运行该分析器。仅支持表中所列的格式与架构组合。
- 采用 Apache-2.0 许可。测试用参考文件由仓库中的 C 源码构建。README 的示例链接了作者的博客系列,其中包括反编译 PlayStation 游戏《天诛》(Tenchu: Stealth Assassins)的系列文章;这些项目不在本条目范围内。本次未导出任何程序。
关于此条目
- 类型
- 工具
- 类别
- 原生分析工具
- 关联
- 基础工具
- 目标
- 二进制 · 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · boricj/ghidra-delinker-extension · 修订 b3890c4
- README.md#L22-L63 GitHub · boricj/ghidra-delinker-extension · 修订 b3890c4
- .github/workflows/build.yaml GitHub · boricj/ghidra-delinker-extension · 修订 b3890c4
- ghidra_scripts/DelinkProgram.java GitHub · boricj/ghidra-delinker-extension · 修订 b3890c4
- src/test/resources/programs GitHub · boricj/ghidra-delinker-extension · 修订 b3890c4
- LICENSE GitHub · boricj/ghidra-delinker-extension · 修订 b3890c4
- https://github.com/boricj/ghidra-delinker-extension/releases/tag/v0.9.2
- https://boricj.net/tenchu1/2024/05/31/part-11.html