行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2023-05-18 17: 29: 01
IDA Pro作为世界范围内最流行的逆向工程工具,广受欢迎的原因除了IDA Pro本身强大的功能外,还因为IDA支持第三方插件,可以实现很多意想不到的功能,进一步提升工作效率。今天要为大家推荐的IDA插件,正是结合了当下最火爆的AI工具ChatGPT,实现自动化分析代码的超能力!

不得不吐槽,IDA虽然非常强大,但很多时候我们反编译出来的代码,可读性很差,函数名、参数名、变量名会被用a1,a2,v1,v2等代替,需要进一步去研究。

目前有2款插件可以实现自动化分析的功能,并用注释告诉你这段代码所承载的功能。我们先来看第一款,第二款实际上是基于它做了改进,并优化了对中文的支持,推荐大家优先考虑第二款。
插件的名字叫做Gepetto,和知名的动画故事匹诺曹里的,创作匹诺曹的老人Geppetto就差了一个字母。Gepetto是一个Python脚本,它使用OpenAI的ChatGPT来为IDA Pro反编译的函数提供进一步分析。安装它,只需将脚本放入IDA插件文件夹($IDAUSR/plugins)。
因为是基于Python,还需要保证你的IDA安装了相关的Python包,如39版本解释器。当插件被正确安装后,我们就能从IDA的伪代码窗口,右键菜单中调用它了,如下图所示:


忘了说,因为是使用ChatGPT的API接口进行分析,所以你还需要编辑脚本并添加你自己的API密钥。请注意,ChatGPT查询不是免费的(虽然不是很贵),这里就不做详细展开。
下载Gepetto插件请访问:github.com/JusticeRage/Gepetto
这款插件的作者是来自看雪论坛的WPeace大佬,根据大佬的介绍,WPeChatGPT是通过ChatGPT(插件 v1.x 版本使用的是 OpenAI 基于GPT训练的 text-davinci-003,v2.0 版本开始改用与 ChatGPT 相同的 gpt-3.5-turbo 模型)实现对函数的自动化分析及其他功能。
函数分析的效果如下:

我们能看到,它的效果和第一款是非常相似的,但是又有进一步的优化,比如增加查找函数中二进制漏洞的功能,还有自动生成对应EXP的功能。

同样的,我们需要先安装,并替换自己的ChatGPT API-key到插件的配置文档里,大概的步骤供参考:
以上就是今天我们的IDA插件推荐的全部内容,主要是两款利用了大火的ChatGPT技术,实现对代码的自动化分析并给出参考结果的Gepetto和WPeChatGPT,它们可以极大的提升逆向工程中代码分析的效率,推荐各位进行安装尝试。
下载WPeChatGPT插件请点击【下载完整资料】按钮↓↓↓
展开阅读全文
︾
读者也喜欢这些内容:
IDA程序反编译怎么进行 IDA程序反编译怎么输出可读的分析报告
在IDA里做程序反编译,真正的顺序不是打开文件后立刻盯着伪代码看,而是先让反汇编、函数边界、类型信息和交叉引用尽量稳定,再用反编译器生成可读的C样式结果。Hex-Rays官方文档明确说明,伪代码窗口可以用【F5】或【View】里的Pseudocode入口生成,而生成出来的结果是否好读,很大程度取决于你前面有没有把函数、类型和命名整理好。...
阅读全文 >
IDA Pro ARM反汇编怎么识别Thumb IDA Pro ARM反汇编调用约定怎么判断
做ARM固件或移动端二进制分析时,Thumb识别和调用约定判断往往是一对连环坑。Thumb没识别对,指令边界会错,函数边界就跟着错;调用约定没判断准,参数和返回值就会被你读歪,连伪代码也容易越看越别扭。下面按能直接落地的操作顺序,把两件事拆开讲清楚。...
阅读全文 >
IDA Pro分析结果不准确怎么办 IDA Pro分析时符号解析失败怎么办
这两类问题经常一起出现:分析结果看起来不对,多半是加载参数、基址与段映射不对,或者缺少库识别与符号信息;符号解析失败则会让函数名、类型、交叉引用都变得“像能用但不好用”。处理时别急着重装或反复重开库,按可复现的顺序把输入条件校正,再让IDA重新分析,效果通常会立刻变稳定。...
阅读全文 >
IDA 9.1怎么下载汉化版 IDA 9.1汉化版安装后为什么还是英文
很多人问IDA 9.1怎么下载汉化版,IDA 9.1汉化版安装后为什么还是英文,本质是把两件事混在了一起。第一件事是界面语言是否存在可用的中文本地化资源,第二件事是分析结果里中文字符串与中文注释能不能正常显示。把口径拆开后,你会发现界面仍是英文多半不是你没装对,而是产品本身没有提供可切换的中文界面包。...
阅读全文 >