JS 逆向基础
面试官想考什么
- 是否只会工具。
- 是否理解前端加密参数的分析流程。
- 是否能处理登录、爬虫、接口签名、小程序等场景。
一句话理解
1
| JS 逆向是通过分析前端 JavaScript 代码,定位加密、签名、混淆或反调试逻辑,还原接口参数生成过程。
|
常见场景
- 登录密码加密。
- 请求参数 sign。
- token 生成。
- 时间戳和随机数校验。
- 接口数据加密。
- 反爬虫。
- 小程序接口签名。
基础流程
- 抓包确认请求。
- 找加密参数,如
sign、token、password、data。
- 在 JS 中搜索关键字。
- 使用浏览器开发者工具打断点。
- 跟调用栈定位加密函数。
- 判断算法:MD5、SHA、AES、RSA、Base64。
- 找密钥、IV、时间戳、随机数来源。
- 用 Python 或 Node.js 复现加密逻辑。
工具
- Chrome DevTools。
- Burp Suite。
- Postman。
- Node.js。
- Python。
- AST 反混淆工具。
- 随波逐流等工具可以辅助,但不要只说工具名。
面试标准回答
1 2 3
| JS 逆向我目前还在学习阶段,主要了解基础流程。一般会先抓包确认加密参数,比如 sign、token、timestamp、password 等,然后在前端 JS 里搜索关键字,用浏览器开发者工具打断点,跟调用栈定位加密函数。
定位后会判断是否使用 MD5、AES、RSA、Base64、时间戳、随机数等逻辑,再尝试用 Python 或 Node.js 复现参数生成过程。工具可以辅助,但关键还是理解参数从哪里来、函数在哪里执行、密钥和签名规则是什么。
|
常见追问
Q:如果 JS 被混淆怎么办?
1
| 我会先格式化代码,再通过关键参数、接口 URL、断点和调用栈定位核心函数。如果混淆较重,可以结合 AST 工具做基础还原,但我目前这块还在学习阶段。
|
Author:
rowen
Permalink:
https://forkmmat.github.io/2026/06/09/08-JS%E9%80%86%E5%90%91%E5%9F%BA%E7%A1%80/
License:
Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan:
Do you believe in DESTINY?