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

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

2023-2-28 16:46
32564

Github 链接bb6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6i4f1r3g2S2j5$3g2Q4x3X3c8t1j5@1S2Q4x3V1k6i4f1r3g2o6K9r3q4@1c8#2m8f1
  通过 ChatGPT(插件 v1.x 版本使用的是 OpenAI 基于GPT训练的 text-davinci-003,v2.0 版本开始改用与 ChatGPT 相同的 gpt-3.5-turbo 模型)实现对函数的自动化分析及其他功能。
  函数分析的效果如下:

登陆 OpenAI 的官方网站:2b8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6G2M7r3g2F1j5h3W2Q4x3X3g2U0L8$3#2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4z5p5k6Q4b7U0y4Q4c8e0c8Q4b7U0S2Q4z5p5q4Q4c8e0S2Q4b7e0N6Q4z5e0u0Q4c8e0N6Q4z5o6u0Q4b7U0W2Q4c8e0g2Q4z5o6N6Q4b7V1t1`. Log in(这里就默认大家已经有 OpenAI 的账号了哈,如果没有的话自行在网上搜索注册教程吧);
然后点击个人头像就可以查看自己的 API-key 信息:

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

2023-03-03更新

漏洞分析效果如下:

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

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

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

 
 
 
  • 分析函数的使用环境、预期目的、函数功能。
  • 重命名函数的变量。
  • 尝试用 python3 对函数进行还原,此功能主要是针对较小块的函数(如一个异或解密函数)。
  • 在当前函数中查找是否存在漏洞。
  • 尝试用 python 对漏洞函数生成对应的 EXP。
  1. 运行命令行安装openai的运行库:"pip install -r ./requirements.txt"。
  2. 下载脚本 WPeChatGPT.py 后,将自己 ChatGPT 的 API-key 填入脚本中的变量 openai.api_key
  3. 将 WPeChatGPT.py 复制到 IDA 的 plugins 文件夹中,重启 IDA 即可。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2023-3-22 11:36 被WPeace编辑 ,原因:
收藏
免费 34
支持
分享
最新回复 (43)
雪    币: 2408
活跃值: (2954)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
太可怕了
2023-3-1 14:32
0
雪    币: 2269
活跃值: (3675)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
WPeChatGPT 已更新 v1.1 版本。: )
2023-3-2 16:34
1
雪    币: 58782
活跃值: (21900)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
当前热点,期待大家反馈
2023-3-2 17:47
2
雪    币: 1553
活跃值: (2899)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
试用了一下, 简单的函数的流程基本上 分析的大差不差,细节还是需要人工去扣的,对于大部分搞分析的来讲,减轻了部分工作,但是对于复杂函数,暂时还没有测试,希望有大佬能分析一波。
2023-3-2 18:04
1
雪    币: 2850
活跃值: (7448)
能力值: ( LV7,RANK:102 )
在线值:
发帖
回帖
粉丝
6
cheatPPT
2023-3-2 18:38
0
雪    币: 290
活跃值: (865)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
davinci-003 could not complete the request: Error communicating with OpenAI    这是怎么回事呢?  
2023-3-4 16:10
0
雪    币: 2269
活跃值: (3675)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
初学者有毅力 davinci-003 could not complete the request: Error communicating with OpenAI 这是怎么回事呢?
这几天服务器不稳定的问题,过一会儿尝试即可。
2023-3-6 09:43
1
雪    币: 102
活跃值: (2785)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
稍微长一点的函数提示太长了,分析不了,这东西如果能实现对各种加密算法(包括模改变异过的)精确打击就好了。
2023-3-6 10:20
2
雪    币: 4183
活跃值: (5943)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
10
这跟自己赋值粘贴下来到网页上翻译有啥区别
2023-3-6 10:41
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
ChatGPT分析VMP应该都可以
2023-3-6 12:58
0
雪    币: 22432
活跃值: (6485)
能力值: ( LV12,RANK:460 )
在线值:
发帖
回帖
粉丝
12
分析了一个418行的函数:可惜可惜,这个函数太大了不能使用 ChatGPT-davinci-003 API 来分析。@WPeace   
2023-3-6 16:04
1
雪    币: 2269
活跃值: (3675)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
鬼手56 分析了一个418行的函数:可惜可惜,这个函数太大了不能使用 ChatGPT-davinci-003 API 来分析。@WPeace
OpenAI 的 API 有长度限制,所以过大的函数是没法分析的。
2023-3-6 16:18
1
雪    币: 1717
活跃值: (3714)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
14
这个跟之前github上出的那几个ida chatgpt插件有什么不同吗
2023-3-6 19:18
0
雪    币: 2269
活跃值: (3675)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
Endali 这个跟之前github上出的那几个ida chatgpt插件有什么不同吗
基于Gepetto上改进及功能添加,暂时没用过其他的ida chatgpt插件。
2023-3-6 20:35
1
雪    币: 433
活跃值: (2130)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
16
大人,时代变了
2023-3-7 00:09
0
雪    币: 240
活跃值: (1635)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
牛逼,以后发展到直接把文件丢进gpt里面就出结果了
2023-3-9 09:52
0
雪    币: 2280
活跃值: (4565)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
支持
2023-3-9 16:47
0
雪    币: 1231
活跃值: (1067)
能力值: ( LV7,RANK:155 )
在线值:
发帖
回帖
粉丝
19

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

最后于 2023-3-10 11:13 被ylml编辑 ,原因:
2023-3-10 11:04
2
雪    币: 2269
活跃值: (3675)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
20
ylml 后续改进建议的方向:1. 针对大函数不能解析的问题,发现 code-davinci-002这个模型支持 8,001 tokens ...
感谢,对于两点建议:
1. code-davinci-002 模型的话不如现在 gpt-3.5-turbo 效果好,这边主要还是考虑解析效果为主。
2. 一键所有SUB函数是可以做的,但是这样会大量消耗 API,毕竟每个人只有18美金的额度。
2023-3-10 20:41
1
雪    币: 295
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
为何是py,能用c吗?
2023-3-12 03:28
0
雪    币: 26
活跃值: (1310)
能力值: ( LV3,RANK:26 )
在线值:
发帖
回帖
粉丝
22
借楼问问chatgpt怎么set pay method, 国内的银行卡好像被denied了啊
2023-3-12 20:34
0
雪    币: 312
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
逆向工程师要失业了
2023-3-14 17:02
0
雪    币: 541
活跃值: (2323)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
OpenAI 的官方网站:cf6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6G2M7r3g2F1j5h3W2Q4x3X3g2U0L8$3#2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4z5p5k6Q4b7U0y4Q4c8e0c8Q4b7U0S2Q4z5p5q4Q4c8e0S2Q4b7e0N6Q4z5e0u0Q4c8e0N6Q4z5o6u0Q4b7U0W2Q4c8e0g2Q4z5o6N6Q4b7V1u0Q4x3U0k6F1j5Y4y4H3i4K6y4n7e0r3!0Y4i4K6t1$3L8X3u0K6M7q4)9K6b7X3W2F1i4K6t1$3L8X3u0K6M7q4)9K6b7W2!0q4y4#2)9^5c8g2!0n7x3q4!0q4y4g2)9&6b7#2!0m8z5q4!0q4y4g2!0m8c8g2)9&6z5q4!0q4y4#2!0n7c8q4)9&6x3g2!0q4y4W2!0n7x3W2!0m8x3g2!0q4y4W2)9&6b7#2)9^5z5g2!0q4z5q4!0n7c8W2)9&6z5g2!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4q4!0n7b7g2)9^5y4R3`.`.
2023-3-16 22:41
0
雪    币: 8529
活跃值: (3590)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
牛逼啊,很好用,迫切的功能需求,一键自动对.idb的全部函数分析解释,这样逆向工程就真全自动了
2023-3-21 02:07
0
游客
登录 | 注册 方可回帖
返回