论坛首页 逆向工程技术区 阅读主题

IDA 9.x可选的反编译器【秒开版】

195 浏览 3 回复
#1 楼主 2026-06-01 21:09:22
在上次的帖子中我将Ghidra12.x的反编译器移植到IDA9.x中了,那个版本工作的很好就是反编译速度太慢,因为每次反编译一个函数都会调用Ghidra的analyzeHeadless.bat脚本,每次执行脚本都会重新载入可执行文件的内容,然后反编译,所以速度很慢。这段时间我又研究了加速的方法,总体思路是让analyzeHeadless.bat脚本启动后就不退出了,同时在Java端开启一个网络服务器监听1204端口,IDA的Python环境通过网络连接到服务器上,并通过网络协议发送反编译请求。这样就只有第一次反编译需要载入可执行文件的内容,在之后的反编译中由于没有载入的动作而是直接执行反编译,所以速度会快很多。要实现加速效果,必须修改Ghida的源码,修改后的源码编译后的class文件在附件中也提供了,用该文件替代Ghidra发行版的jar包中的文件就可以了。【使用方法】:下载Ghidra12.x的发行版本并解压,参考该网址确保Ghidra可以正常工作。将附件中的文件解压,将解压后的ghida.py文件和ghida_plugin目录拷贝到IDA9.x的plugins目录下修补Ghidra12.x的jar文件,需要patch两个文件,一个是DecompInterface.class,一个是DecompileProcess.class。首先进入特定目录,以ghidra_12.0.4_PUBLIC为例:首先进入 ghidra_12.0.4_PUBLIC/Ghidra/Features/Decompiler/lib目录。然后在该目录下新建三个空目录ghidra/app/decompiler,注意app目录在ghidra下,decompiler目录在app目录下。然后在ghidra_12.0.4_PUBLIC/Ghidra/Features/Decompiler/lib目录下打开命令行并执行以下两条指令:cp DecompInterface.class D:/ghidra_12.0.4_PUBLIC/Ghidra/Features/Decompiler/lib/ghidra/app/decompiler && jar uf Decompiler.jar ghidra/app/decompiler/DecompInterface.class

cp DecompileProcess.class D:/ghidra_12.0.4_PUBLIC/Ghidra/Features/Decompiler/lib/ghidra/app/decompiler && jar uf Decompiler.jar ghidra/app/decompiler/DecompileProcess.class    这两条指令有三点需要说明,DecompInterface.class和DecompileProcess.class在附件中提供,将这两个文件拷贝到ghidra_12.0.4_PUBLIC/Ghidra/Features/Decompiler/lib目录下,还需要修改 demo指令中的ghidra_12.0.4_PUBLIC为你下载并解压的Ghidra12.x实际目录,这两条指令执行后正常情况下是不会有任何输出信息的。    4.安装Python依赖
pip install requests
pip install pygments    5.打开IDA9.x,在想要反编译的函数地址处使用快捷键Ctrl+Alt+D,在弹出的对话框里输入你的Ghidra12.x的解压根目录,如D:\ghidra_12.0.4_PUBLIC,点击OK按钮,接下来就可以反编译了。

传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!


最后于 2026-3-15 18:41
被zhzhz编辑

,原因:

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290327.htm
#2 2026-06-01 21:09:22
第一次很慢吗? 我反编译一个很短的函数都要非常久,而且好像没没看到结果。右键菜单也没你github上显示的ghidra的东西
#3 2026-06-01 21:09:22
值得怀疑

第一次很慢吗? 我反编译一个很短的函数都要非常久,而且好像没没看到结果。右键菜单也没你github上显示的ghidra的东西

github上的v0.2,每次反编译都会很慢,如果不能正常使用,还是检查一下ida的python环境能不能正常工作,还有就是需要在系统上安装Ghidra12.x,要确保Ghidra12.x能正常工作,所以JDK 21 64-bit是必须要有的。其他问题可以把IDA的运行输出贴出来,才好分析问题出在哪。这里的v0.3只有第一次会慢,之后调用都会比较快。鼠标右键的问题我没有处理,我都是用快捷键的,快捷键是Ctrl+Alt+D。
#4 2026-06-01 21:09:22
zhzhz

github上的v0.2,每次反编译都会很慢,如果不能正常使用,还是检查一下ida的python环境能不能正常工作,还有就是需要在系统上安装Ghidra12.x,要确保Ghidra12.x能正常工作, ...
这样啊,我以为看github的图右键有那些,我安装没有以为是哪里不对,ghidra可以运行的这个设置了后面再试试看

请登录后参与讨论

立即登录 注册账号