飞豹客 · 课能看,资料也能带走
飞豹客算法数学 会员免费

小肩膀-AST混淆与解混淆专题

如果你写过爬虫,多半遇到过这种情况:目标站点的 JS 代码打开一看,变量名全是 a、b、c,字符串被拆成数组来回引用,逻辑被塞进一堆 switch-case 里绕来绕去。想改一个参数,得先花半天还原代码结构。这门专题就是冲着这类场景来的——它讲的是 JavaScript 的 AST 混淆与解混淆,也

单课价¥29.90新品 上架
会员价 会员免费开通会员后本篇可直接下载套餐详情
721 人关注 更新于 2026-04-23 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

会员可免费下载本篇月会员可按日额度下载(每篇扣 1 次)。

开通会员 ›
购买本课销量 0 · 永久有效
会员价 · 单课标价 ¥29.90

会员 A · 按档位折扣

永久免费可下
年免费可下
月免费可下
周免费可下

会员 B

VIP¥5.98低至
SVIP单买¥200 内可领

游客按标价购买,不享受上表折扣。

支付成功后自动发放网盘链接,链接失效可找客服免费补

正版保障 极速发货 售后无忧

如果你写过爬虫,多半遇到过这种情况:目标站点的 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混淆原理 学会实战混淆与解混淆 提升代码安全防护能力 祝您学习愉快! 学有所成,前程似锦!