人工精选小肩膀-AST混淆与解混淆专题
如果你写过爬虫,多半遇到过这种情况:目标站点的 JS 代码打开一看,变量名全是 a、b、c,字符串被拆成数组来回引用,逻辑被塞进一堆 switch-case 里绕来绕去。想改一个参数,得先花半天还原代码结构。这门专题就是冲着这类场景来的——它讲的是 JavaScript 的 AST 混淆与解混淆,也
会员可免费下载本篇月会员可按日额度下载(每篇扣 1 次)。
开通会员 ›会员 A · 按档位折扣
会员 B
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
如果你写过爬虫,多半遇到过这种情况:目标站点的 JS 代码打开一看,变量名全是 a、b、c,字符串被拆成数组来回引用,逻辑被塞进一堆 switch-case 里绕来绕去。想改一个参数,得先花半天还原代码结构。这门专题就是冲着这类场景来的——它讲的是 JavaScript 的 AST 混淆与解混淆,也就是从语法树层面理解代码是怎么被"打乱"的,以及怎么把它"捋顺"。
它解决的是哪类工作问题
核心场景有三个。一是逆向分析:拿到一段被混淆的 JS,需要快速定位关键逻辑,比如加密参数怎么生成、请求签名怎么算。二是爬虫对抗:站点前端做了代码保护,常规的断点调试效率很低,需要先把混淆还原成可读代码再动手。三是代码保护的反向视角:如果你自己写的工具或前端逻辑不想被轻易读懂,也需要知道混淆能做到什么程度、有哪些常见手法。
需要注意的是,这门课的重心在 AST(抽象语法树)这一层,而不是单纯的字符串替换或格式化。这意味着它更适合处理结构级的混淆,比如控制流平坦化、标识符重命名、字符串数组化这类问题。如果你只是想让压缩代码变好看,用格式化工具就够了,不需要学到这个深度。
适合什么基础,先看哪几块
前提是你能读懂 JavaScript,知道函数、作用域、闭包这些基本概念,最好动手写过一点 Node.js 脚本。完全没接触过 JS 的话,建议先补语言基础再来。另外,对 Babel 这类工具如果完全陌生,开头会有点吃力,因为解混淆的实现基本都建立在解析、遍历、生成这三步之上。
建议的切入顺序是:先看混淆原理部分,搞清楚一段正常代码经过哪些步骤会变成"天书",建立判断力;再看还原思路,重点理解遍历节点、替换节点、重新生成代码这条主线;最后跟着实战案例走一遍完整流程。随书代码按章节拆分,适合边看边对照运行,不要只看不练,AST 这类东西光看是记不住的。
学完能独立做什么,资料怎么配合
学完之后,你应该能独立完成这样一件事:拿到一段被混淆的 JS,判断它用了哪几类混淆手法,写一个基于 AST 的还原脚本,把标识符和字符串还原到可读状态,再在此基础上定位到具体逻辑。这个能力在逆向和爬虫方向上是实打实的加分项,但它不是万能的——遇到配合虚拟机、自定义解释器的高级保护,仍然需要结合动态调试,课程也不会承诺解决所有混淆。
资料使用上,课件和随书代码建议对照视频同步跑,每看完一个混淆手法,就自己找一段真实代码试着还原,哪怕只还原一部分。练习时优先用课程提供的案例,跑通之后再换真实站点的代码,难度会陡增,做好心理准备。整体来看,这是一门偏实战的技术专题,适合已经有 JS 基础、正在做逆向或爬虫相关工作的人,零基础转行者不建议把它当作第一门课。
课程目录
课程目录40 集
- 📁 课件 30课件【公众号:CunWorkNotes】.zip
- [1.0 KB] 32课件【公众号:CunWorkNotes】.zip
- [18.6 KB] 01课件.zip
- [376.6 KB] 第6章随书代码.zip
- [12.9 KB] 第8章随书代码.zip
- [19.7 KB] 第11章随书代码.zip
- [19.7 KB] 第9章随书代码.zip
- [15.2 KB] 📁 视频 21.AST混淆实战(代码逐行加密)【公众号:CunWorkNotes】.mp4
- [102.0 MB] 26.AST还原实战(花指令剔除思路)【公众号:CunWorkNotes】.mp4
- [131.6 MB] 24.AST混淆实战(实现逗号表达式混淆).mp4
- [252.9 MB] 29.AST还原实战(switch混淆的还原).mp4
- [160.4 MB] 16.AST混淆实战(数组乱序).mp4
- [95.0 MB] 17.AST混淆实战(标识符重命名).mp4
- [208.4 MB] 05.JS混淆(其他代码防护方案).mp4
- [183.9 MB] 02.常量的混淆原理.mp4
- [344.3 MB] 32.其他JS还原案例.mp4
- [306.0 MB] 22.AST混淆实战(代码逐行ASCII混淆).mp4
- [78.9 MB] 18.AST混淆实战(标识符随机生成).mp4
- [123.4 MB] 31.AST还原实战(逗号表达式的还原).mp4
- [75.9 MB] 11.同级Path.mp4
- [73.4 MB] 30.AST还原实战(其他混淆的还原方案).mp4
- [193.9 MB] 08.Babel中的types组件.mp4
- [186.1 MB] 10.父级Path.mp4
- [50.5 MB] 03.增加JS逆向工作量.mp4
- [200.0 MB] 09.Path对象详解.mp4
- [246.2 MB] 27.AST还原实战(剔除字符串花指令).mp4
- [92.4 MB] 04.代码执行流程的防护原理.mp4
- [153.3 MB] 28.AST还原实战(剔除函数花指令).mp4
- [179.7 MB] 15.AST混淆实战(数组混淆).mp4
- [166.2 MB] 20.AST混淆实战(二项式转函数花指令).mp4
- [136.6 MB] 19.scope详解.mp4
- [303.6 MB] 23.AST混淆实战(实现switch流程平坦化).mp4
- [243.1 MB] 01.AST混淆与解混淆演示.mp4
- [540.0 MB] 07.Babel中的traverse组件.mp4
- [222.1 MB] 25.AST还原实战(分析网站使用的混淆手段).mp4
- [305.9 MB] 14.AST混淆实战(字符串常量加密).mp4
- [40.7 MB] 13.AST混淆实战(数值常量加密).mp4
- [47.4 MB] 06.AST入门.mp4
- [235.4 MB] 12.AST混淆实战(代码预处理).mp4
- [119.0 MB] 📁 环境 VSCodeUserSetup-x64-1.54.3.exe [69.7 MB] node-v14.16.0-x64.msi [28.9 MB] 适合人群 代码安全爱好者 软件开发工程师 安全研究人员 学习收获 掌握AST混淆原理 学会实战混淆与解混淆 提升代码安全防护能力 祝您学习愉快! 学有所成,前程似锦!





