神器!基于ChatGPT模型的IDA插件

插件介绍

基于与 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 超出范围的问题,在下个版本中将想办法进行改进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/28782.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS 渐变边框及动画

转载请注明出处,点击此处 查看更多精彩内容 用 CSS 实现渐变边框及动画,下面对关键点进行解释说明,查看完整代码及预览效果请 点击这里。 简单说明原理:使用伪元素 ::before 绘制一个渐变色,然后使用伪元素 ::after 绘…

远程访问不了虚拟机【bug】

远程访问不了虚拟机【bug】 bug 虚拟机访问不了他的默认网关 虚拟机IP:172.25.254.250 虚拟机网关IP:172.25.254.1 远程登录也是超时的 错误产生 我还原了一下虚拟机的网络配置选项 导致 √ 使用本地DHCPT服务将IP地址给虚拟机 相关资源 本机的I…

二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”

各位CSDN的uu们你们好呀,今天继续数据结构与算法专栏中的二叉树,下面,让我们进入二叉树的世界吧!!! 二叉树(上)——“数据结构与算法”_认真学习的小雅兰.的博客-CSDN博客 二叉树链…

ELK报错no handler found for uri and method [PUT] 原因

执行后提示no handler found for uri and method post,最新版8.2的问题? 原因: index.mapping.single_type: true在索引上 设置将启用按索引的单一类型行为,该行为将在6.0后强制执行。 原 {type} 要改为 _doc,格式如…

[游戏开发][Unity] TPS射击游戏相机实现

技术难点:由于是第三人称射击游戏,角色和相机之间有夹角,所以枪口点和准星是有误差的,下面是和平精英手游截图,我用AK射击zhuzi using System.Collections; using System.Collections.Generic; using UnityEngine;publ…

需求条目化与自动估算强强联合 助力软件估算自动化

痛点: 需求是产品的源头,是项目规模估算的基石。而传统的软件规模估算是由项目成员手工进行,对人员能力、经验、方法都有一定的要求,但是效果不好而且耗时费力,不能保持规模估算的一致性。 而导致这些问题的原因&#…

IDDR和ODDR

IDDR D:输入双倍速率数据(IOB输入,且数据在时钟的上升沿和下降沿都会发生切换,即一个时钟周期发送2bit数据) CE:时钟使能信号(高有效) C:时钟信号 S,R&#x…

微服务sleuth+zipkin---链路追踪+nacos配置中心

目录 1.分布式链路追踪 1.1.链路追踪Sleuth介绍 1.2.如何完成sleuth 1.3.zipkin服务器 2.配置中心 2.1.常见配置中心组件 2.2.微服务集群共享一个配置文件 2.2.1实时刷新--配置中心数据 2.2.2.手动写一个实时刷新的配置类 ----刷新配置文件 2.3.多个微服务公用一个配…

Nginx学习之一撸到底

一、Nginx环境搭建 ❶首先创建Nginx的目录并进入: [rootlocalhost]# mkdir /soft && mkdir /soft/nginx/ [rootlocalhost]# cd /soft/nginx/ ❷下载Nginx的安装包,可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包…

有序链表转换二叉搜索树

给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,nul…

自定义view(一)----自定义TextView

自定义view也算是Android的一大难点,里面涉及到很多值得学习的地方,我会在接下来写一系列文章去介绍它,本篇文章以自定义一个TextView为例。 View的构造方法 自定义view之前我们先了解view的四个构造方法,自定义view无非就是新建一…

如何通过边缘智能网关实现暴雨灾害监测预警

随着台风季来临,暴雨灾害也进入到频发阶段,给村镇和城市居民都造成诸多人身和财产损失。针对南方台风季的水灾防治,物联网技术派上大用场,本篇就基于边缘智能网关的数采方案,简单介绍对暴雨导致的洪涝、内涝的监测和预…