文章总结: 本文记录了作者使用Codex+MCP工具组合进行全自动JS逆向测试的完整过程。文章详细介绍了Debian+XFCE环境下的Node.js安装、Codex配置、MCP工具集成以及Chrome调试环境搭建步骤,并通过猿人学题目实战演示了AI自动分析网页加密参数、定位JS文件、还原算法并生成可独立运行Node.js代码的全流程。测试表明AI对简单加密处理效果良好,但面对重度混淆时仍需人工干预,整体可作为效率提升工具使用。 综合评分: 82 文章分类: WEB安全,逆向分析,安全工具,实战经验,AI安全

原创
LLLibra146 LLLibra146
LLLibra146
2026年3月16日 09:00 北京
在小说阅读器读本章
去阅读
大家好,前几天看了猿人学安佬的 AI 逆向直播,也想试试 AI 逆向的效果到底怎么样。之前一直听说有人在用 AI 做逆向,但自己一直没动手试过,今天就来亲自上手体验一下,看看 AI 到底能帮我们做到哪一步。
全程使用 Codex + MCP 来实现 AI 自动逆向,废话不多说,直接开整。
Codex 是 OpenAI 推出的一个代码智能体(Coding Agent),可以在终端里直接通过自然语言来操控它编写和运行代码,有点类似于 Cursor 的 Agent 模式,但是它是跑在命令行里的,对于逆向这种需要频繁执行代码的场景来说还是挺合适的。
本次测试的主机环境是 Debian + XFCE 桌面,之所以选这个组合主要是因为轻量,XFCE 占用资源很少,跑逆向这种需要同时开着浏览器和终端的场景还是挺合适的。
Codex 依赖 Node.js 环境,先把这个装上。
# 安装 curl apt install curl -y # 推荐使用 nvm 来管理 Nodejs 版本,命令来自 Nodejs 官网。 # Download and install nvm: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash # in lieu of restarting the shell . "$HOME/.nvm/nvm.sh" # Download and install Node.js: nvm install 24 # Verify the Node.js version: node -v # Should print "v24.14.0". # Download and install pnpm: corepack enable pnpm # Verify pnpm version: pnpm -v

image-013967
用
nvm来管理 Node.js 版本,方便后续切换 Nodejs 的版本,这里就不展开了,同时也建议使用 pnpm 替换官方的 npm,更好用,大家可以自行安装尝试。
pnpm 刚刚安装完成后别忘了初始化,不然会报错:
$ pnpm install -g @openai/codex ERR_PNPM_NO_GLOBAL_BIN_DIR Unable to find the global bin directory Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.
使用以下命令初始化:
pnpm setup
初始化完成后执行一下这行命令:

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

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

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

image-
MCP(Model Context Protocol)简单理解就是给 AI 模型接上各种工具,让它不仅能写代码,还能直接操控浏览器、访问文件系统等等,大大扩展了 AI 的能力边界。
我这里使用安佬同款的 MCP 尝试复现一下,这里如果提示没有安装 Git 的就 apt 安装一下就好。
git clone https://github.com/NoOne-hub/JSReverser-MCP.git cd JSReverser-MCP/ # 进去项目目录 pnpm install # 安装依赖 pnpm add zod@3 # 安装缺失的依赖,pnpm 的校验比 npm 严格许多 pnpm add [email protected] # 安装缺失的依赖 pnpm run build # 编译构建,顺序不能错
然后找到编译后的这个文件,用来启动 MCP 的,需要放到 Codex 的配置文件中,先找到它的路径:
js@js:~/Documents/project/JSReverser-MCP/build/src$ pwd /home/js/Documents/project/JSReverser-MCP/build/src
接下来找到 Codex 的配置文件,配置文件默认在 home 目录中,添加以下内容:
js@js:~/.codex$ ls config.toml config.toml js@js:~/.codex$ pwd /home/js/.codex
[mcp_servers.chrome-devtools] command = "npx" args = [ "-y", "chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222" ] startup_timeout_ms = 20000 [mcp_servers.js-reverse] command = "node" args = [ "/home/js/Documents/project/JSReverser-MCP/build/src/index.js", "--browserUrl", "http://127.0.0.1:9222" ] # 想启用 JSReverser 的 AI 增强分析时,使用这一段,这部分内容来自安佬,大家可以自行启用尝试。 # [mcp_servers.js-reverse.env] # DEFAULT_LLM_PROVIDER = "openai" # OPENAI_API_KEY = "你的_OPENAI_API_KEY" # OPENAI_MODEL = "gpt-4o"
别忘了改第二段内容中的路径,换成你自己电脑的路径。
当然了,如果是新安装的系统,可能这个时候还没有 Chrome 浏览器,可以参考下面的流程来安装:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb # 下载这个 deb 包 sudo dpkg -i google-chrome-stable_current_amd64.deb # 然后安装 google-chrome --remote-debugging-port=9222 --user-data-dir="/tmp/chrome-mcp" # 然后使用这个命令启动浏览器,并且开启调试端口,后面的用户文件夹路径可以自行更改。
安装完成以后,访问 http://127.0.0.1:9222/json/version 可以返回信息就是成功了,如下图:

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

image-
接下来输入安佬给的提示词:
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 自己一步步操作还是挺有意思的哈哈。
过程中的一些截图:

image-

image-

image-

image-

image-006927

image-020979
其他的截图就不截了,整体过程并不是一次过的,中间遇到了浏览器页面崩溃和 MCP 工具断开的问题,暂时不知道是什么情况。
而且中途还断了几次,问我下面要如何做,总之没有做到一次过,可能是提示词太简单了,也可能是模型变了,还可能是环境问题,暂时先不管。
但是最终的结果是好的,还是使用纯算的方式逆出来了,历时 30 多分钟吧,系统刚刚装好,还缺少很多工具,中间还停下来安装了几次工具。
说说实际效果,先说好的地方:
- 对于简单的加密(比如 MD5、SHA1、简单的字符串拼接)基本上一把过,速度非常快
- 定位加密参数的能力还不错,能自动分析请求找到可疑的参数
- 遇到简单的混淆也能大致分析出逻辑
然后说说不足的地方(毕竟要客观):
- 遇到重度混淆(比如 OB 混淆、jsvmp)就有点力不从心了,分析出来的结果不太准确
- 有时候会自信地输出错误代码,跑起来结果对不上,需要手动介入排查
- 有的时候如果工具出现问题,需要人工接入排查
总体来说,AI 在逆向里更像是一个效率工具,用来处理一些重复性的工作、快速定位代码逻辑是没问题的,总的来说,就是工具可以做一些相对复杂的活,但是最终能做到什么程度,还是要看使用的人的经验和水平(我是初次使用,可能结论不准确)。
不过随着模型能力的提升,相信这块的表现会越来越好,还是值得持续关注的。
感兴趣的小伙伴可以自己试一下,不同目标的效果差异还是挺大的,具体情况具体分析。
用 Codex + MCP 做 AI 逆向整体体验还是不错的,简单场景完全可以交给 AI 来处理,复杂场景可以用 AI 辅助自己快速定位问题。以后有时间的话会再多测试几个目标,看看 AI 逆向的天花板到底在哪里。感谢大家的阅读!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:LLLibra146 LLLibra146
LLLibra146《Codex + MCP:我用这套组合做了一次全自动 JS 逆向尝试》
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/267468.html