WPeChatGPT 插件使用教程(转载)

插件介绍

基于与 ChatGPT 相同模型的IDA 插件,使用 OpenAI 发布的 gpt-3.5-turbo 模型,可以有助于分析师们快速分析二进制文件。

当前 WPeChatGPT 支持的功能包括:

scss 复制代码
分析函数的使用环境、预期目的、函数功能。重命名函数的变量。尝试用 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. 运行如下命令安装所需包。
bash 复制代码
pip install -r ./requirements.txt
  1. 修改脚本 WPeChatGPT.py,添加 API key 到变量 openai.api_key。

  2. 复制脚本文件 WPeChatGPT.py 及文件夹 Auto-WPeGPT_WPeace 到 IDA 的 plugins 文件夹, 最后重启 IDA 后即可使用。

**! NOTE:**需要把 IDA 的环境设置为 python3,WPeChatGPT 2.0 版本后需要使用最新的 OpenAI Python 包。

使用方法

支持在 IDA 中使用右键、菜单栏或快捷键任一。

快捷键:

cobol 复制代码
函数分析 = "Ctrl-Alt-G"重命名函数变量 = "Ctrl-Alt-R"二进制漏洞查找 = "Ctrl-Alt-E"

伪代码窗口右键:

菜单栏:Edit ⇒ WPeChatGPT

使用示例

使用方式:

函数分析效果展示:

二进制漏洞查找效果展示:

Auto-WPeGPT

**使用方法:**在菜单栏找到 Auto-WPeGPT 后点击即可,输出完成提示后可在对应文件夹("WPe_+IDB名称")中找到分析结果。

菜单栏:Edit ⇒ WPeChatGPT ⇒ Auto-WPeGPT

输出文件夹中的每个文件含义:

rust 复制代码
GPT-Result.txt -> Auto-WPeGPT 分析结果funcTree.txt -> 函数调用树形结构mainFuncTree.txt -> 主函数树结构effectiveStrings.txt -> 二进制文件中的可疑字符串

效果展示:

经过测试,v0.1 版本对函数较少的文件分析效果较好,如遇函数量大的二进制文件,会产生 tokens 超出范围的问题,在下个版本中将想办法进行改进。

本文转自 https://blog.csdn.net/qq_40456839/article/details/131799762,如有侵权,请联系删除。

相关推荐
NamoAmitabha1286 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No76 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌7 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
xiaoye-duck9 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484819 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS10 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿10 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
做运维的阿瑞11 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲11 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz11 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试