首页
社区
课程
招聘
利用 ChatGPT 进行自动化分析的IDA插件 - WPeChatGPT
2023-2-28 16:46 25308

利用 ChatGPT 进行自动化分析的IDA插件 - WPeChatGPT

2023-2-28 16:46
25308

WPeChatGPT

Github 链接https://github.com/WPeace-HcH/WPeChatGPT
  通过 ChatGPT(插件 v1.x 版本使用的是 OpenAI 基于GPT训练的 text-davinci-003,v2.0 版本开始改用与 ChatGPT 相同的 gpt-3.5-turbo 模型)实现对函数的自动化分析及其他功能。
  函数分析的效果如下:

下载后如何安装

  1. 运行命令行安装openai的运行库:"pip install -r ./requirements.txt"。
  2. 下载脚本 WPeChatGPT.py 后,将自己 ChatGPT 的 API-key 填入脚本中的变量 openai.api_key
  3. 将 WPeChatGPT.py 复制到 IDA 的 plugins 文件夹中,重启 IDA 即可。

关于 API-key

登陆 OpenAI 的官方网站:https://openai.com,右上角点击 Log in(这里就默认大家已经有 OpenAI 的账号了哈,如果没有的话自行在网上搜索注册教程吧);
然后点击个人头像就可以查看自己的 API-key 信息:

如果未创建过 API-key,则进入后点击 Create new secret key 即可创建。
PS:当前最新 OpenAI 的主页中没有了 Log in 按钮,大家可以点击开始进入相关页面:


版本更新!

2023-03-03更新

  1. 增加查找函数中二进制漏洞的功能。
  2. 增加尝试自动生成对应 EXP 的功能。

漏洞分析效果如下:

 

2023-03-06更新
  改用 OpenAI 最新的 gpt-3.5-turbo (ChatGPT) 模型:

 

2023-03-07更新
  已解决反馈的 API 无法正常连接或时常超时的问题,下载最新版本即可。(具体参考 Readme 中 "关于 OpenAI-API 报错" 一节)

 

v2.1 版本当前包含的功能如下:

  • 分析函数的使用环境、预期目的、函数功能。
  • 重命名函数的变量。
  • 尝试用 python3 对函数进行还原,此功能主要是针对较小块的函数(如一个异或解密函数)。
  • 在当前函数中查找是否存在漏洞。
  • 尝试用 python 对漏洞函数生成对应的 EXP。

[培训]《安卓高级研修班(网课)》月薪三万计划

最后于 2023-3-22 11:36 被WPeace编辑 ,原因:
收藏
点赞29
打赏
分享
最新回复 (40)
雪    币: 2417
活跃值: (2271)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dearfuture 2023-3-1 14:32
2
0
太可怕了
雪    币: 2337
活跃值: (2820)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
WPeace 2023-3-2 16:34
3
1
WPeChatGPT 已更新 v1.1 版本。: )
雪    币: 26435
活跃值: (18462)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2023-3-2 17:47
4
2
当前热点,期待大家反馈
雪    币: 530
活跃值: (1116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
青丝梦 2023-3-2 18:04
5
1
试用了一下, 简单的函数的流程基本上 分析的大差不差,细节还是需要人工去扣的,对于大部分搞分析的来讲,减轻了部分工作,但是对于复杂函数,暂时还没有测试,希望有大佬能分析一波。
雪    币: 3910
活跃值: (5720)
能力值: ( LV7,RANK:102 )
在线值:
发帖
回帖
粉丝
fjqisba 2023-3-2 18:38
6
0
cheatPPT
雪    币: 290
活跃值: (705)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
初学者有毅力 2023-3-4 16:10
7
0
davinci-003 could not complete the request: Error communicating with OpenAI    这是怎么回事呢?  
雪    币: 2337
活跃值: (2820)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
WPeace 2023-3-6 09:43
8
1
初学者有毅力 davinci-003 could not complete the request: Error communicating with OpenAI 这是怎么回事呢?
这几天服务器不稳定的问题,过一会儿尝试即可。
雪    币: 122
活跃值: (1305)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
koflfy 1 2023-3-6 10:20
9
2
稍微长一点的函数提示太长了,分析不了,这东西如果能实现对各种加密算法(包括模改变异过的)精确打击就好了。
雪    币: 3825
活跃值: (5433)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
badboyl 2 2023-3-6 10:41
10
0
这跟自己赋值粘贴下来到网页上翻译有啥区别
雪    币: 248
活跃值: (3699)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luskyc 2023-3-6 12:58
11
0
ChatGPT分析VMP应该都可以
雪    币: 20795
活跃值: (4694)
能力值: ( LV12,RANK:460 )
在线值:
发帖
回帖
粉丝
鬼手56 9 2023-3-6 16:04
12
1
分析了一个418行的函数:可惜可惜,这个函数太大了不能使用 ChatGPT-davinci-003 API 来分析。@WPeace   
雪    币: 2337
活跃值: (2820)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
WPeace 2023-3-6 16:18
13
1
鬼手56 分析了一个418行的函数:可惜可惜,这个函数太大了不能使用 ChatGPT-davinci-003 API 来分析。@WPeace
OpenAI 的 API 有长度限制,所以过大的函数是没法分析的。
雪    币: 1199
活跃值: (2709)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
Endali 2023-3-6 19:18
14
0
这个跟之前github上出的那几个ida chatgpt插件有什么不同吗
雪    币: 2337
活跃值: (2820)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
WPeace 2023-3-6 20:35
15
1
Endali 这个跟之前github上出的那几个ida chatgpt插件有什么不同吗
基于Gepetto上改进及功能添加,暂时没用过其他的ida chatgpt插件。
雪    币: 433
活跃值: (1805)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
萌克力 2023-3-7 00:09
16
0
大人,时代变了
雪    币: 224
活跃值: (957)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
樊辉 2023-3-9 09:52
17
0
牛逼,以后发展到直接把文件丢进gpt里面就出结果了
雪    币: 1382
活跃值: (3100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小希希 2023-3-9 16:47
18
0
支持
雪    币: 1322
活跃值: (1052)
能力值: ( LV7,RANK:155 )
在线值:
发帖
回帖
粉丝
ylml 2 2023-3-10 11:04
19
2

后续改进建议的方向:
1. 针对大函数不能解析的问题,发现 code-davinci-002这个模型支持 8,001 tokens,  尝试实验效果。
2. 增减一键分析Sub_开头的所有函数,判断大于100字的函数才做分析,:多线程或多单线程慢慢解析(睡一觉起来,一个二进制文件的分析已经搞定了)

最后于 2023-3-10 11:13 被ylml编辑 ,原因:
雪    币: 2337
活跃值: (2820)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
WPeace 2023-3-10 20:41
20
1
ylml 后续改进建议的方向:1. 针对大函数不能解析的问题,发现 code-davinci-002这个模型支持 8,001 tokens ...
感谢,对于两点建议:
1. code-davinci-002 模型的话不如现在 gpt-3.5-turbo 效果好,这边主要还是考虑解析效果为主。
2. 一键所有SUB函数是可以做的,但是这样会大量消耗 API,毕竟每个人只有18美金的额度。
雪    币: 295
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_zdqplpwh 2023-3-12 03:28
21
0
为何是py,能用c吗?
雪    币: 26
活跃值: (1300)
能力值: ( LV3,RANK:26 )
在线值:
发帖
回帖
粉丝
1mmortal 2023-3-12 20:34
22
0
借楼问问chatgpt怎么set pay method, 国内的银行卡好像被denied了啊
雪    币: 313
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
touchmii 2023-3-14 17:02
23
0
逆向工程师要失业了
雪    币: 151
活跃值: (889)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
baggiowo 2023-3-16 22:41
24
0
OpenAI 的官方网站:https://openai.com,右上角点击 Log in 现在官网没有这个了
雪    币: 6091
活跃值: (1390)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
afx1236 2023-3-21 02:07
25
0
牛逼啊,很好用,迫切的功能需求,一键自动对.idb的全部函数分析解释,这样逆向工程就真全自动了
游客
登录 | 注册 方可回帖
返回