如果有一天,有人让你去逆向一个应用、一个 App、一个网页,你会怎么做?
如果是我,在两年前,我可能完全束手无策。或者说,遇到各种各样的问题。我可能会直接丢给聊天框里的 AI,让它帮我寻找思路。老实说,这样的方法非常非常低效,也容易错过很多细节。
但现如今,我们有了真真正正的 AI,也就是 Agent,或者说 Coding Agent,所有的一切就都发生了改变。
找到合适的工具链#
那么我们究竟该如何通过 Agent 去展开我们的逆向工作呢?其实非常简单,最关键的问题是让 Agent 能够长出适合逆向的手和脚。
现在市面上的 Coding Agent 一般会有两种工具接入方法,一种是 Skill,一种是 MCP。但对于我们逆向来说,MCP 基本上是一个更好的选择。
我现在比较常用的主要是两个 MCP,一个是针对本地应用的,通过和 IDA Pro 集成,也就是 IDA Pro MCP1;一个是用来做网页逆向的,叫做 Chrome DevTools MCP2。
只要我们接入了这个 MCP,就能够非常快地展开逆向。
至于 Agent Harness,我个人比较推荐 Zcode,因为它的 MCP 管理相对来说比较简洁易懂。
对于模型来说,我比较推荐智谱的 GLM 5.3 Flash 模型和 DeepSeek V4.1 Flash 模型,截止今天。一是因为它们的性能都还不错,有很强的逆向性能;二是因为它们有着不错的输出速度,且安全围栏相对较低。这几点保证了它们在逆向过程中流畅的体验和不错的交付物。
但是请注意,千万不要使用 Codex,或者说 Claude Code 进行逆向。我们主要说的是 GPT 系列模型和 Claude 系列模型,这两个系列的模型有着比较高的安全防护围栏,尤其是 Codex,严重者可能会直接封号。
动手开始逆向#
在明确的工具接入之后,我们就真真正正地动手展开逆向了。一般情况下,我们去做逆向非常非常关键的一点,就是知道我们逆向的目标到底是什么。
如果是本地软件,我们用 IDA Pro 对它进行反编译。举个例子,如果我们要逆向它的数据库,可以把相关的字段、数据表、可能的东西,所有信息都发给模型,这样模型就会有一个比较不错的上下文,从而获得一个非常棒的性能。
如果我们的目标是网页,那就非常简单了,只要接入 Chrome DevTools MCP,然后大部分模型都会通过抓包去分析网络包,再分析整个 JavaScript 脚本,这样就可以非常清晰地对网页所有接口进行调研。3
结语#
虽然现在的逆向工程在 Agent 时代极大降低了门槛,但我们依然要遵守国家相关的法律法规,在合理合法的授权范围之内去展开逆向工作,不要去做一些违法的事。
工具链参考#
下面按照模型、MCP 和 Agent Harness 三类整理本文提到的工具。模型性能和具体可用性会随版本、平台和时间变化,表格中的模型评价主要来自个人使用体验。
| 类型 | 名称 | 适用场景 | 参考链接 | 备注 |
|---|---|---|---|---|
| 模型 | GLM-5.3-Flash | 需要较快响应的 Coding Agent 任务 | 模型卡 | 智谱 GLM 系列模型 |
| 模型 | DeepSeek-V4.1-Flash | 需要较快响应和较长上下文的 Agent 任务 | 官方发布说明 | DeepSeek 官方发布的 Flash 模型 |
| MCP | IDA Pro MCP | 本地应用、二进制文件和 IDA Pro 分析 | GitHub 仓库 | 将 IDA Pro / IDALib 的分析信息提供给 MCP 客户端 |
| MCP | Chrome DevTools MCP | 网页、在线 Web 应用和浏览器运行时 | GitHub 仓库 | 可检查 Chrome 的网络、控制台、脚本和性能信息 |
| Agent Harness | ZCode | 管理 Agent、MCP 和多步 Coding 工作流 | MCP 文档 | 我个人比较常用的 Harness |
IDA Pro MCP 项目仓库:mrexodia/ida-pro-mcp。 ↩︎
Chrome DevTools MCP 项目仓库:ChromeDevTools/chrome-devtools-mcp。 ↩︎
Chrome DevTools 官方文档:网络请求分析与 JavaScript 调试。 ↩︎
