插件介绍
基于与 ChatGPT 相同模型的IDA 插件,使用 OpenAI 发布的 gpt-3.5-turbo 模型,可以有助于分析师们快速分析二进制文件。
关注【Hack分享吧】公众号,回复关键字【230719】获取下载链接
当前 WPeChatGPT 支持的功能包括:
分析函数的使用环境、预期目的、函数功能。
重命名函数的变量。
尝试用 python3 对函数进行还原,此功能主要是针对较小块的函数(如一个异或解密函数)。
在当前函数中查找是否存在漏洞。
尝试用 python 对漏洞函数生成对应的 EXP。
利用 GPT 全自动分析二进制文件,具体参考节 Auto-WPeGPT。
WPeChatGPT 插件使用的是 OpenAI 基于GPT训练的 text-davinci-003 模型。v2.0 版本后使用 OpenAI 最新的 gpt-3.5-turbo 模型(The same as ChatGPT)。
ChatGPT 的分析结果仅供参考,不然我们这些分析师就当场失业了。XD
插件安装
1. 运行如下命令安装所需包。
pip install -r ./requirements.txt
2. 修改脚本 WPeChatGPT.py,添加 API key 到变量 openai.api_key。
3. 复制脚本文件 WPeChatGPT.py 及文件夹 Auto-WPeGPT_WPeace 到 IDA 的 plugins 文件夹, 最后重启 IDA 后即可使用。
! NOTE:需要把 IDA 的环境设置为 python3,WPeChatGPT 2.0 版本后需要使用最新的 OpenAI Python 包。
使用方法
支持在 IDA 中使用右键、菜单栏或快捷键任一。
快捷键:
函数分析 = "Ctrl-Alt-G"
重命名函数变量 = "Ctrl-Alt-R"
二进制漏洞查找 = "Ctrl-Alt-E"
伪代码窗口右键:
菜单栏:Edit ⇒ WPeChatGPT
使用示例
使用方式:
函数分析效果展示:
二进制漏洞查找效果展示:
Auto-WPeGPT
使用方法:在菜单栏找到 Auto-WPeGPT 后点击即可,输出完成提示后可在对应文件夹("WPe_+IDB名称")中找到分析结果。
菜单栏:Edit ⇒ WPeChatGPT ⇒ Auto-WPeGPT
输出文件夹中的每个文件含义:
GPT-Result.txt -> Auto-WPeGPT 分析结果
funcTree.txt -> 函数调用树形结构
mainFuncTree.txt -> 主函数树结构
effectiveStrings.txt -> 二进制文件中的可疑字符串
效果展示:
经过测试,v0.1 版本对函数较少的文件分析效果较好,如遇函数量大的二进制文件,会产生 tokens 超出范围的问题,在下个版本中将想办法进行改进。