浏览器内存漫游解决方案(探索中)使用教程
1. 项目介绍
1.1 项目概述
ast-hook-for-js-RE 是一个浏览器端的内存漫游解决方案,旨在帮助开发者检索和监控浏览器内存中的数据。该项目特别适用于JavaScript逆向工程,可以实现变量级别的抓包监控,帮助开发者快速定位加密逻辑的代码位置。
1.2 功能列表
- 变量级抓包监控:根据加密参数秒秒钟定位到加密逻辑的代码位置。
- 计划开发的功能:
- 指定切入点,基于AST分析依赖实现简单的自动扣代码。
- 基础的定位功能的兼容性优化。
- script hook plugins:通过script设置innerHTML动态插入到页面中的逻辑也能够Hook到。
- eval hook plugins:想办法能够直接定位到jsvm中。
- cache的逻辑优化:对定位doc请求url中的加密参数能够起到一定的帮助作用。
2. 项目快速启动
2.1 环境准备
- Node版本要求:至少Node 14.0.0+,建议使用最新的LTS版本。
2.2 下载项目并安装依赖
git clone https://github.com/JSREI/ast-hook-for-js-RE.git
cd ast-hook-for-js-RE
npm install
2.3 启动项目
2.3.1 启动代理服务器
node src/proxy-server/proxy-server.js
启动后,代理服务器监听在本地10086端口。
2.3.2 启动API服务器
node src/api-server/api-server.js
API服务器监听在本地10010端口。
2.3.3 配置浏览器代理
在浏览器中将代理设置为10086端口,推荐使用便携版Chrome搭建单独的调试环境,并搭配Proxy SwitchyOmega或类似的插件作为代理路由辅助。
3. 应用案例和最佳实践
3.1 案例一:猿人学第一题
- 启动anyproxy和api-server,浏览器挂上代理,打开页面:
http://match.yuanrenxue.com/match/1。 - 打开开发者工具,切换到Network,单击页面上的第二页。
- 复制加密参数m的值,切换到console,尝试搜索。
- 搜索结果出现后,单击代码地址跟进去,定位到加密逻辑位置。
3.2 案例二:犀牛数据
- 打开页面:
https://www.xiniudata.com/。 - 复制加密参数的值,去console搜索。
- 任选一个代码位置点进去,就是参数生成的地方,打断点,往前稍微一跟,把必须的代码抠出来即可。
3.3 案例三:极验
- 打开页面:
https://www.geetest.com/Sensebot,切换到滑动验证,故意划错一次。 - 复制加密参数w的值,去console搜索。
- 搜索到结果后,选择最早出现的位置跟进去,打断点,无脑重复这个过程即可。
4. 典型生态项目
4.1 AnyProxy
AnyProxy 是一个基于Node.js的HTTP/HTTPS代理服务器,支持使用代码处理请求,非常适合用于本项目的代理服务器。
4.2 Proxy SwitchyOmega
Proxy SwitchyOmega 是一个Chrome插件,用于快速切换和管理代理设置,非常适合用于搭建调试环境。
4.3 Chrome开发者工具
Chrome开发者工具是前端开发者的必备工具,用于调试和分析网页,本项目大量依赖于Chrome开发者工具的功能。
通过以上步骤,您可以快速上手并使用ast-hook-for-js-RE项目进行浏览器内存漫游和JavaScript逆向工程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



