Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
rz-ghidra — 深度Ghidra反编译器与Sleigh反汇编器集成,用于rizin | Kitploit
工具/GitHubGitHub/rizinorg/rz-ghidra
静态分析逆向工程二进制分析
GitHubrizinorg/rz-ghidra

rz-ghidra

深度Ghidra反编译器与Sleigh反汇编器集成,用于rizin

查看仓库
9651082天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
rz-ghidra logo

rz-ghidra

这是将 Ghidra 反编译器和 Sleigh 反汇编器集成到 Rizin 的项目。 它完全基于 Ghidra 的反编译器部分,该部分完全用 C++ 编写,因此完全不需要 Ghidra 本身,该插件可以独立构建。 该项目最初是为 radare2 开发的,在 r2con 2019 的 Cutter 演讲中展示:https://youtu.be/eHtMiezr7l8?t=950

用法

root@kitploit:~
用法: pdg   # 原生 Ghidra 反编译器插件
| pdg           # 使用 Ghidra 反编译器反编译当前函数
| pdgd          # 转储调试 XML
| pdgx          # 转储当前反编译函数的 XML
| pdgj          # 以 JSON 格式转储当前反编译函数
| pdgo          # 并排显示偏移量反编译当前函数
| pdgs          # 显示已加载的 Sleigh 语言
| pdg*          # 将反编译后的代码作为注释返回给 rizin

以下配置变量(用于 e 命令)可用于调整 rz-ghidra 的行为:

root@kitploit:~
    ghidra.cmt.cpp: C++ 注释风格
 ghidra.cmt.indent: 注释缩进
     ghidra.indent: 缩进增量
       ghidra.lang: 自定义 Sleigh ID 以覆盖自动检测(例如 x86:LE:32:default)
    ghidra.linelen: 最大行长度
   ghidra.nl.brace: 在 '{' 之前换行
    ghidra.nl.else: 在 else 之前换行
 ghidra.sleighhome: SLEIGHHOME

这里,ghidra.sleighhome 必须指向一个包含反编译器应支持的体系结构的 *.sla、*.lspec 等文件的目录。但是,当使用 rz-pm 包或按如下所示安装时,会自动设置。

构建

首先,确保已获取此仓库中包含的子模块且为最新:

root@kitploit:~
git submodule init
git submodule update

然后,可以按如下方式构建和安装 Rizin 插件:

root@kitploit:~
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
make
make install

这里,将 CMAKE_INSTALL_PREFIX 设置为 Rizin 可以加载插件的位置。安装步骤对于插件工作是必要的,因为它包括安装必要的 Sleigh 文件。如果您从 git 使用 Rizin,还要将 CMAKE_PREFIX_PATH 设置为 Rizin 安装目录。

要同时构建 Cutter 插件,您必须从源代码安装 Cutter 到某个前缀下,可以通过 -DCMAKE_PREFIX_PATH=<path> 可选地指定该前缀,然后传递 -DBUILD_CUTTER_PLUGIN=ON 给 cmake 以启用插件:

root@kitploit:~
/my/path/rz-ghidra> mkdir build && cd build
/my/path/rz-ghidra/build> cmake -DBUILD_CUTTER_PLUGIN=ON -DCMAKE_PREFIX_PATH=/path/to/cutter/prefix -DCMAKE_INSTALL_PREFIX=~/.local ..
/my/path/rz-ghidra/build> make && make install

默认情况下,Cutter 插件安装在当前用户主目录中自动选择的路径中。此路径可以通过 -DCUTTER_INSTALL_PLUGDIR 覆盖。

版本与 Rizin 兼容性

Rizin 的 C API 发展迅速,因此有必要明确哪些版本的 rz-ghidra 与哪些版本的 Rizin 兼容:

当从 git 使用 Rizin 和 rz-ghidra 时:

  • rz-ghidra 分支 dev 跟随 Rizin 分支 dev。
  • rz-ghidra 分支 stable 跟随 Rizin 分支 stable。

关于版本发布,rz-ghidra 通常与 Rizin 同时发布,并且通常使用相同的版本号(但不保证,请不要依赖这些编号!)。此外,每次 Rizin 发布时,都会在 rz-ghidra 上创建一个类似 rz-0.1.2 的标签,该标签恰好指向一个 rz-ghidra 版本,表示该版本与指定的 Rizin 版本兼容。这些标签可供发行版维护者用来查找如何设置依赖关系。

许可证

请注意,此插件在 LGPLv3 下提供,这比 Ghidra 的许可证更为严格!

本程序是自由软件:您可以根据自由软件基金会发布的 GNU 较宽松通用公共许可证(GNU Lesser General Public License)的条款重新分发和/或修改它,即许可证的第 3 版或(根据您的选择)任何更高版本。

本程序分发的目的是希望它有用,但不提供任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关详细信息,请参阅 GNU 较宽松通用公共许可证。

您应该已经随本程序收到了一份 GNU 较宽松通用公共许可证的副本。如果没有,请访问 https://www.gnu.org/licenses/。

下载工具