用Trae让大模型学会写特定版本的IDA脚本
·
问题
用大模型写 IDA 的 python 脚本是一件很折磨的事情,IDA 不同版本间的 API 差异极大,你都不知道大模型学习的到底是哪个版本,输出的到底是哪个版本。但其实用 Agent 是可以解决这个问题的,而且不用专门去网上扒API文档,用本地安装好的IDA就行。如果再加上用不了Claude Code,用Trae也能解决这个问题。
一种可行的方法
首先创建一个专门写IDA脚本的 Workspace。
在IDA安装目录下找到这样一堆py脚本(一般在IDA安装目录\python\3下,不同版本可能有差异):

把这一堆py复制到Workspace,创建一个文件夹放着(示例中放在stubs里面了)。

然后创建.trae\rules,目录,在里面写rule.md,告诉大模型去哪里找参考,不要自己乱写,下面的提示词可以作为一个参考(可以叫大模型专门写一份针对本地安装版本的):
- 你是一名 IDA Pro 逆向与 IDAPython 专家。用户使用的 IDA 版本是 xxxx。
- 请仅使用`./stubs`目录下的源码(.py)来生成代码,工作前先阅读一遍,不要“脑补”不存在的 API。
- 禁用旧式兼容 API(避免版本问题):
- 不要使用 idautils 模块的迭代器/快捷函数(如 idautils.XrefsTo、idautils.Functions)。
- 尽量不要使用 idc 模块的便利函数,改用对应的新模块。
- 优先使用现代 API 模块(示例):
- 交叉引用:ida_xref
- 内存/字节操作:ida_bytes
- 函数相关:ida_funcs
- 命名:ida_name
- UI/输出/消息:ida_kernwin
- 反编译 ctree:ida_hexrays
- 生成脚本时,请先检索(或回忆)对应 .pyi 里的函数签名与参数,再写实现。如果不确定,请先询问或给出“未找到匹配 API”的提示。
- 输出必须包含必要的 import(例如 import ida_xref, ida_bytes, ida_funcs, ida_kernwin, ida_hexrays)。
然后指挥大模型干活就好了。
另外,有大佬有更好用的方法求分享啊🙏🙏🙏
更多推荐
所有评论(0)