JS 逆向断点调试与前端加密对抗及 SRC 实战案例
1. 前言
本文主要分享 JavaScript 逆向基础知识、实战断点调试技巧以及前端加密对抗方法。内容包括微信小程序常用的 AES、RSA 和明文 Sign 签名校验绕过操作技巧,并分享一个企业 SRC 商城优惠券并发漏洞的实战案例。
2. 查找加密算法
主要通过浏览器开发者工具(F12)调试前端代码。需要了解以下三个功能:
- 作用域(Scope):变量、函数和对象在代码中可访问的范围。
- 调用堆栈(Call Stack):JavaScript 引擎用于管理函数调用顺序的数据结构。
- XHR 断点:在发送 AJAX 请求时暂停代码执行,方便调试网络请求逻辑。
2.1 基础概念
作用域类型:
- 全局作用域:在所有函数和代码块之外声明的变量。
const globalVar = "我是全局变量";
function test() {
console.log(globalVar);
}
- 函数作用域:在函数内部声明的变量。
function test() {
const funcVar = "我是函数内变量";
console.log(funcVar);
}
- 块级作用域:由
{}包裹的代码块中用let/const声明的变量。
if (true) {
const blockVar = "我是块内变量";
console.log(blockVar);
}
调用堆栈过程:
- 执行
a()→a入栈 a中调用b()→b入栈c执行完毕 →c出栈- ...依次弹出
使用场景:
- 调试接口请求参数是否正确
- 查看请求发送时机和触发条件
- 分析请求被拦截或修改的逻辑


