前言
谷歌推出了 chrome-dev-mcp,能够自动化浏览器操作。起初我关注到它能抓包,便思考能否将其用于 JS 逆向分析。
实际测试后发现,常规逆向所需的核心能力它并未原生支持:
- 代码搜索
- 调用栈追踪
- 打断点调试
- Hook 函数
- 查看变量值
既然标准功能有缺口,那就给它打补丁。当然可以。
Chrome DevTools Protocol(CDP)本身具备这些底层能力,只是官方 MCP 封装未覆盖。于是基于 CDP 扩展了一套逆向专用工具集,补充了以下关键能力:
| 扩展能力 | 对应工具 |
|---|---|
| 代码搜索 | search_in_sources、find_in_script |
| 调用栈追踪 | get_request_initiator |
| 断点调试 | set_breakpoint、set_breakpoint_on_text |
| 单步执行 | step_into、step_over、step_out |
| 变量查看 | get_paused_info、evaluate_on_callframe |
| 函数 Hook | hook_function、trace_function |
| XHR 拦截 | break_on_xhr |
现在,AI 可以像人一样操作 DevTools 进行逆向分析了。
下面是完整的工具集和使用指南。
关于 MCP 协议
MCP(Model Context Protocol)是 Anthropic 推出的模型上下文协议,允许 AI 直接调用外部工具。
传统逆向流程:
人工操作浏览器 → 复制数据 → 粘贴给 AI → AI 分析 → 人工验证
MCP 辅助流程:
AI 直接操作浏览器 → 自动分析 → 自动验证 → 输出结果
JS 逆向 MCP 工具集
页面管理
| 工具 | 功能 |
|---|---|
list_pages | 列出浏览器所有页面 |
select_page | 选择要操作的页面 |
new_page | 新建页面并导航 |
navigate_page | 页面导航(URL/前进/后退/刷新) |
take_snapshot | 获取页面 DOM 快照 |
take_screenshot | 页面截图 |

