首页
社区
课程
招聘
IDA 9.x可选的反编译器【秒开版】
发表于: 2026-3-15 11:16 1026

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

2026-3-15 11:16
1026
  • 在上次的帖子中我将Ghidra12.x的反编译器移植到IDA9.x中了,那个版本工作的很好就是反编译速度太慢,因为每次反编译一个函数都会调用Ghidra的analyzeHeadless.bat脚本,每次执行脚本都会重新载入可执行文件的内容,然后反编译,所以速度很慢。

  • 这段时间我又研究了加速的方法,总体思路是让analyzeHeadless.bat脚本启动后就不退出了,同时在Java端开启一个网络服务器监听1204端口,IDA的Python环境通过网络连接到服务器上,并通过网络协议发送反编译请求。这样就只有第一次反编译需要载入可执行文件的内容,在之后的反编译中由于没有载入的动作而是直接执行反编译,所以速度会快很多。

  • 要实现加速效果,必须修改Ghida的源码,修改后的源码编译后的class文件在附件中也提供了,用该文件替代Ghidra发行版的jar包中的文件就可以了。

【使用方法】:

  1. 下载Ghidra12.x的发行版本并解压,参考该网址确保Ghidra可以正常工作。

  2. 将附件中的文件解压,将解压后的ghida.py文件和ghida_plugin目录拷贝到IDA9.x的plugins目录下

  3. 修补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编辑 ,原因:
上传的附件:
收藏
免费 2
支持
分享
最新回复 (4)
雪    币: 1046
活跃值: (1153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2026-3-15 12:14
0
雪    币: 1605
活跃值: (8295)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
第一次很慢吗? 我反编译一个很短的函数都要非常久,而且好像没没看到结果。右键菜单也没你github上显示的ghidra的东西
2026-3-15 13:08
0
雪    币: 236
活跃值: (475)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
值得怀疑 第一次很慢吗? 我反编译一个很短的函数都要非常久,而且好像没没看到结果。右键菜单也没你github上显示的ghidra的东西
github上的v0.2,每次反编译都会很慢,如果不能正常使用,还是检查一下ida的python环境能不能正常工作,还有就是需要在系统上安装Ghidra12.x,要确保Ghidra12.x能正常工作,所以JDK 21 64-bit是必须要有的。其他问题可以把IDA的运行输出贴出来,才好分析问题出在哪。这里的v0.3只有第一次会慢,之后调用都会比较快。鼠标右键的问题我没有处理,我都是用快捷键的,快捷键是Ctrl+Alt+D。
2026-3-15 13:23
0
雪    币: 1605
活跃值: (8295)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
zhzhz github上的v0.2,每次反编译都会很慢,如果不能正常使用,还是检查一下ida的python环境能不能正常工作,还有就是需要在系统上安装Ghidra12.x,要确保Ghidra12.x能正常工作, ...
这样啊,我以为看github的图右键有那些,我安装没有以为是哪里不对,ghidra可以运行的这个设置了后面再试试看
6天前
0
游客
登录 | 注册 方可回帖
返回