Codex + MCP:我用这套组合做了一次全自动 JS 逆向尝试
大家好,前几天看了猿人学安佬的 AI 逆向直播,也想试试 AI 逆向的效果到底怎么样。之前一直听说有人在用 AI 做逆向,但自己一直没动手试过,今天就来亲自上手体验一下,看看 AI 到底能帮我们做到哪一步。
全程使用 Codex + MCP 来实现 AI 自动逆向,废话不多说,直接开整。
Codex 是什么
Codex 是 OpenAI 推出的一个代码智能体(Coding Agent),可以在终端里直接通过自然语言来操控它编写和运行代码,有点类似于 Cursor 的 Agent 模式,但是它是跑在命令行里的,对于逆向这种需要频繁执行代码的场景来说还是挺合适的。
环境介绍
本次测试的主机环境是 Debian + XFCE 桌面,之所以选这个组合主要是因为轻量,XFCE 占用资源很少,跑逆向这种需要同时开着浏览器和终端的场景还是挺合适的。
Node.js 安装
Codex 依赖 Node.js 环境,先把这个装上。
1 | # 安装 curl |

用
nvm来管理 Node.js 版本,方便后续切换 Nodejs 的版本,这里就不展开了,同时也建议使用 pnpm 替换官方的 npm,更好用,大家可以自行安装尝试。
pnpm 刚刚安装完成后别忘了初始化,不然会报错:
1 | $ pnpm install -g @openai/codex |
使用以下命令初始化:
1 | pnpm setup |
初始化完成后执行一下这行命令:

Codex 安装
Codex 目前需要 Node.js 环境,先确保本地已经安装了 Node.js,然后执行以下命令安装:
1 | pnpm install -g @openai/codex |
看到这个就算是安装完成了:

接下来启动 Codex,这里大家自行解决一下账号或者 Api key 的问题哈。可以直接使用 OAuth 的方式登录也可以输入 Api key。

看到下图就是安装完成了。我是使用 OAuth 的方式登录的,选择第一个选项,然后会给一个链接,复制到浏览器打开,登录账号,正常来说会自动登录成功。
如果账号登录位置和终端不在一台电脑,那么需要复制登录成功以后的跳转链接到 Codex 安装的电脑的浏览器访问一下,因为要完成校验。

MCP 安装配置
MCP(Model Context Protocol)简单理解就是给 AI 模型接上各种工具,让它不仅能写代码,还能直接操控浏览器、访问文件系统等等,大大扩展了 AI 的能力边界。
我这里使用安佬同款的 MCP 尝试复现一下,这里如果提示没有安装 Git 的就 apt 安装一下就好。
1 | git clone https://github.com/NoOne-hub/JSReverser-MCP.git |
然后找到编译后的这个文件,用来启动 MCP 的,需要放到 Codex 的配置文件中,先找到它的路径:
1 | js@js:~/Documents/project/JSReverser-MCP/build/src$ pwd |
接下来找到 Codex 的配置文件,配置文件默认在 home 目录中,添加以下内容:
1 | js@js:~/.codex$ ls config.toml |
1 | [mcp_servers.chrome-devtools] |
别忘了改第二段内容中的路径,换成你自己电脑的路径。
Chrome 安装
当然了,如果是新安装的系统,可能这个时候还没有 Chrome 浏览器,可以参考下面的流程来安装:
1 | wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb # 下载这个 deb 包 |
安装完成以后,访问 http://127.0.0.1:9222/json/version 可以返回信息就是成功了,如下图:

到这里环境配置就全部完成了。
开始逆向
环境配好了,来试试效果如何。直接在终端启动 Codex:
1 | codex |
然后先检查一下 MCP 是否安装成功,使用命令 /mcp 来检查看看,出现两个 enabled 一般就没问题了。

接下来输入安佬给的提示词:
1 | https://match2023.yuanrenxue.cn/topic/3 网页中有一个参数为 token,请利用chrome-devtools-mcp 与 js-reverse-mcp的辅助,最终使用补环境的方式,在node.js上模拟这个参数,并且可以顺利访问https://match2023.yuanrenxue.cn/api/match2023/3 的第一页,获取第一页的数字。最终的结果我需要脱离浏览器,使用纯node.js执行。 |
Codex 收到指令后会开始自动执行,整个过程大概分几个步骤:
- 打开网页 —— 通过 MCP 的 Playwright 工具自动打开目标网站
- 抓取请求 —— 分析 Network 中的加密参数
- 定位 JS 文件 —— 找到对应的加密函数
- 分析逻辑 —— 读取 JS 代码并尝试还原加密算法
- 生成代码 —— 输出可以在 Nodejs 中独立运行的代码
整个过程不需要手动干预,看着 AI 自己一步步操作还是挺有意思的哈哈。
过程中的一些截图:






其他的截图就不截了,整体过程并不是一次过的,中间遇到了浏览器页面崩溃和 MCP 工具断开的问题,暂时不知道是什么情况。
而且中途还断了几次,问我下面要如何做,总之没有做到一次过,可能是提示词太简单了,也可能是模型变了,还可能是环境问题,暂时先不管。
但是最终的结果是好的,还是使用纯算的方式逆出来了,历时 30 多分钟吧,系统刚刚装好,还缺少很多工具,中间还停下来安装了几次工具。
逆向效果
说说实际效果,先说好的地方:
- 对于简单的加密(比如 MD5、SHA1、简单的字符串拼接)基本上一把过,速度非常快
- 定位加密参数的能力还不错,能自动分析请求找到可疑的参数
- 遇到简单的混淆也能大致分析出逻辑
然后说说不足的地方(毕竟要客观):
- 遇到重度混淆(比如 OB 混淆、jsvmp)就有点力不从心了,分析出来的结果不太准确
- 有时候会自信地输出错误代码,跑起来结果对不上,需要手动介入排查
- 有的时候如果工具出现问题,需要人工接入排查
总体来说,AI 在逆向里更像是一个效率工具,用来处理一些重复性的工作、快速定位代码逻辑是没问题的,总的来说,就是工具可以做一些相对复杂的活,但是最终能做到什么程度,还是要看使用的人的经验和水平(我是初次使用,可能结论不准确)。
不过随着模型能力的提升,相信这块的表现会越来越好,还是值得持续关注的。
感兴趣的小伙伴可以自己试一下,不同目标的效果差异还是挺大的,具体情况具体分析。
总结
用 Codex + MCP 做 AI 逆向整体体验还是不错的,简单场景完全可以交给 AI 来处理,复杂场景可以用 AI 辅助自己快速定位问题。以后有时间的话会再多测试几个目标,看看 AI 逆向的天花板到底在哪里。感谢大家的阅读!
本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
更多文章请关注公众号 (LLLibra146):
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
