跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.jsAI大前端算法

构建 AI 逆向 MCP:使用 MCP 辅助 JS 逆向分析

综述由AI生成前言 谷歌出了一个 chrome-dev-mcp,能够自动化浏览器操作。我发现这个 MCP 能抓包,于是想:**能不能用于 JS 逆向分析?** 但实际用下来发现,常规逆向需要的能力它都不支持: ❌ 搜索代码 ❌ 追踪调用栈 ❌ 打断点调试 ❌ Hook 函数 ❌ 查看变量值 那能不能给它打补丁?**当然可以。** Chrome DevTools Protocol(CDP)本身支持这些能力,只是谷…

氛围发布于 2026/4/6更新于 2026/5/2094K 浏览

前言

谷歌出了一个 chrome-dev-mcp,能够自动化浏览器操作。我发现这个 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
函数 Hookhook_function、trace_function
XHR 拦截break_on_xhr

现在,AI 可以像人一样操作 DevTools 进行逆向分析了。

项目地址:https://github.com/zhizhuodemao/js-reverse-mcp

下面是完整的工具集和使用指南。


一、什么是 MCP

MCP(Model Context Protocol)是 Anthropic 推出的模型上下文协议,允许 AI 直接调用外部工具。

传统逆向流程:

步骤流程
1人工操作浏览器 → 复制数据 → 粘贴给 AI → AI 分析 → 人工验证

MCP 辅助流程:

步骤流程
1AI 直接操作浏览器 → 自动分析 → 自动验证 → 输出结果

二、JS 逆向 MCP 工具集

2.1 页面管理
工具功能
list_pages列出浏览器所有页面
select_page选择要操作的页面
new_page新建页面并导航
navigate_page页面导航(URL/前进/后退/刷新)
take_snapshot获取页面 DOM 快照
take_screenshot页面截图
2.2 网络分析
工具功能
list_network_requests列出所有网络请求
get_network_request获取请求详情(Headers/Body/Response)
get_request_initiator获取请求调用栈 - 定位发起请求的代码
break_on_xhrXHR/Fetch 断点 - URL 匹配时暂停
2.3 脚本分析
工具功能
list_scripts列出页面加载的所有 JS 脚本
get_script_source获取脚本源码(支持行范围/字符偏移)
find_in_script在指定脚本中搜索字符串
search_in_sources全局搜索所有脚本
2.4 断点调试
工具功能
set_breakpoint设置行断点(支持条件断点)
set_breakpoint_on_text按代码文本设置断点 - 适合混淆代码
remove_breakpoint移除断点
list_breakpoints列出所有断点
pause立即暂停执行
resume继续执行
step_into单步进入
step_over单步跳过
step_out跳出当前函数
2.5 运行时分析
工具功能
get_paused_info获取暂停状态(调用栈/作用域变量)
evaluate_on_callframe在断点处执行表达式 - 查看变量值
evaluate_script在页面执行 JS 代码
inspect_object深度检查对象结构
2.6 Hook 与追踪
工具功能
hook_functionHook 函数 - 记录调用/参数/返回值
unhook_function移除 Hook
list_hooks列出所有 Hook
trace_function追踪函数调用 - 不暂停,只记录
monitor_events监听 DOM 事件
2.7 存储与控制台
工具功能
get_storage获取 Cookie/localStorage/sessionStorage
list_console_messages列出控制台消息
get_console_message获取控制台消息详情

三、实战场景

3.1 定位加密函数

目标:找到生成 w_tsfp 参数的代码

步骤操作
1list_network_requests → 找到携带 w_tsfp 的请求
2get_request_initiator → 获取调用栈,定位发起代码
3get_script_source → 查看相关脚本
4set_breakpoint_on_text → 在关键代码处设断点
5刷新页面触发断点
6get_paused_info → 查看调用栈和变量
7evaluate_on_callframe → 检查加密前后的值
3.2 分析 Cookie 生成

目标:追踪 Cookie 的设置过程

步骤操作
1hook_function → Hook document.cookie setter
2刷新页面
3list_console_messages → 查看 Hook 日志
4从日志中获取调用栈
5get_script_source → 定位生成逻辑
3.3 XHR 断点调试

目标:在特定 API 请求时暂停

步骤操作
1break_on_xhr → 设置 URL 匹配断点(如 /api/sign)
2触发请求
3get_paused_info → 获取完整调用栈
4step_into / step_over → 单步调试
5evaluate_on_callframe → 查看签名参数
3.4 VM 字节码分析

目标:追踪 VM 执行过程

步骤操作
1search_in_sources → 搜索 VM 解释器特征
2find_in_script → 定位具体位置
3set_breakpoint → 在 VM 循环处设断点
4get_paused_info → 获取 PC、寄存器等状态
5trace_function → 追踪关键函数调用

四、AI 对话示例

4.1 定位加密入口
角色内容
用户帮我找到这个页面 w_tsfp 参数的生成位置
AI1. 调用 list_network_requests 找到相关请求
2. 调用 get_request_initiator 获取调用栈
3. 分析调用栈,定位到 probe.js 第 XXX 行
4. 调用 get_script_source 获取上下文代码
5. 输出:w_tsfp 在 RC4 加密后通过 btoa 编码,入口函数是 ...
4.2 动态调试
角色内容
用户在 RC4 加密函数处设断点,我想看加密前的明文
AI1. 调用 search_in_sources 搜索 "RC4" 或特征代码
2. 调用 set_breakpoint_on_text 设置断点
3. 提示用户刷新页面
4. 断点命中后调用 get_paused_info
5. 调用 evaluate_on_callframe 获取参数值
6. 输出:加密前明文是 {"loadts":...,"fingerprint":...}
4.3 批量 Hook
角色内容
用户Hook 所有可能的加密函数,看哪个被调用
AI1. 调用 hook_function 依次 Hook:
  - btoa
  - atob
  - JSON.stringify
  - encodeURIComponent
2. 提示用户操作页面
3. 调用 list_console_messages 查看 Hook 日志
4. 输出:btoa 被调用,参数是 RC4 加密后的数据...

五、优势总结

5.1 效率提升
传统方式MCP 方式
手动打开 DevToolsAI 直接操作
复制粘贴数据自动获取
人工搜索代码search_in_sources
反复设断点调试AI 自动迭代
手写 Hook 代码hook_function 一键 Hook
5.2 适合场景
  • 混淆代码分析:AI 可以快速搜索、设断点、查看变量
  • VM 逆向:自动追踪执行流程,记录状态变化
  • 加密算法定位:Hook + 调用栈分析,快速定位入口
  • 批量测试:自动化执行多轮测试
5.3 局限性
  • 需要浏览器配合(DevTools Protocol)
  • 某些反调试可能检测 CDP 连接
  • 复杂异步逻辑仍需人工判断
  • AI 理解能力有限,核心决策仍需人工

六、搭建指南

6.1 环境要求
  • Chrome/Chromium 浏览器
  • Node.js 运行时
  • Claude Desktop 或支持 MCP 的客户端
6.2 核心原理
组件说明
Claude ←→ MCP Server ←→ Chrome DevTools Protocol ←→ 浏览器架构流程

MCP Server 封装 CDP 协议,暴露为 AI 可调用的工具函数。

6.3 关键能力
  1. 页面控制:导航、刷新、截图
  2. 网络拦截:请求列表、调用栈追踪
  3. 脚本调试:断点、单步、变量查看
  4. 代码注入:Hook、Trace、执行任意 JS

七、最佳实践

  1. 先观察再动手:用 list_network_requests 了解请求模式
  2. 善用搜索:search_in_sources 比手动翻代码快
  3. 断点要精准:set_breakpoint_on_text 比行号更可靠
  4. Hook 优先:先 Hook 观察,再设断点深入
  5. 保存上下文:让 AI 记录关键发现,避免重复分析
  6. 分步验证:每一步都验证结果,避免错误累积

MCP 让 AI 从'分析助手'变成'操作助手',显著提升逆向效率

目录

  1. 前言
  2. 一、什么是 MCP
  3. 二、JS 逆向 MCP 工具集
  4. 2.1 页面管理
  5. 2.2 网络分析
  6. 2.3 脚本分析
  7. 2.4 断点调试
  8. 2.5 运行时分析
  9. 2.6 Hook 与追踪
  10. 2.7 存储与控制台
  11. 三、实战场景
  12. 3.1 定位加密函数
  13. 3.2 分析 Cookie 生成
  14. 3.3 XHR 断点调试
  15. 3.4 VM 字节码分析
  16. 四、AI 对话示例
  17. 4.1 定位加密入口
  18. 4.2 动态调试
  19. 4.3 批量 Hook
  20. 五、优势总结
  21. 5.1 效率提升
  22. 5.2 适合场景
  23. 5.3 局限性
  24. 六、搭建指南
  25. 6.1 环境要求
  26. 6.2 核心原理
  27. 6.3 关键能力
  28. 七、最佳实践
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • KingbaseES 数据库智能 SQL 防护机制详解
  • 位运算基础与经典算法题解析
  • 主流 AI 编程模型对比与选型指南
  • TWIST2 全身 VR 遥操控制:基于视觉观测预测人形机器人关节位置
  • 前端常见安全攻击手段及防御策略
  • 对比 Copilot 与国产 AI 编程助手:通义灵码、Comate 深度评测
  • 渐进式 AIGC 系统:支持多模态大模型与 Agent 工作流的私有化部署方案
  • ES6 基础语法:变量声明与解构
  • C++26 并发编程新特性:任务队列容量优化指南
  • Go 切片详解:make、append 与 copy 实战应用
  • 本地部署私有开源大型语言模型(LLM)的 7 种主流方法汇总
  • 基于 SSM 框架的毕业生就业信息管理系统设计与实现
  • SmolVLA 模型 TensorRT 加速实战:ONNX 导出与部署优化
  • 基于 Docker 与 cpolar 部署 Apache Answer 问答平台
  • Python 学习路线与核心技能树详解
  • Hash 校验 MD5 值及 SHA1 值
  • 博客系统 GitHub 第三方登录集成教程
  • cli21/cli 现代 C++ 命令行界面库使用指南
  • AI Agent 架构深度解析:从原理到应用
  • Python SQLAlchemy ORM 数据库操作指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online