反爬虫AST混淆JavaScript与还原实战资源介绍:
本课程是高级课程JavaScript保护和逆向工程的一部分。JavaScript混淆和恢复是当今对抗网络爬虫的重要工具。本课程从JavaScript模糊处理的原理开始,然后介绍Babel库的相关API。有了这两个基础知识,您就可以开始自动化模糊处理和恢复Java脚本了。最后,本课程还介绍了AST在实际案例中的应用,以帮助您更好地整合先前学习的内容。
资源目录:
第1章课程介绍与环境配置(17分钟2节) 1-101.课程介绍与案例演示[10:03] 1-202.环境配置[07:11] 第2章JavaScript代码安全防护原理(2小时42分钟16节) 2-103.对象属性的访问方式[12:10] 2-204.常量混淆原理(十六进制字符串)[04:01] 2-305.常量混淆原理(unicode字符串)[07:22] 2-406.常量混淆原理(字符串ASCII码混淆)[11:30] 2-507.常量混淆原理(字符串常量加密)[09:21] 2-608.常量混淆原理(数值常量加密)[05:04] 2-709.增加JS逆向工作量(数组混淆)[11:11] 2-810.增加JS逆向工作量(数组乱序)[08:10] 2-911.增加JS逆向工作量(花指令)[08:18] 2-1012.增加JS逆向工作量(jsfuck)[14:51] 2-1113.代码执行流程防护原理(流程平坦化)[16:47] 2-1214.代码执行流程防护原理(逗号表达式混淆1)[14:28] 2-1315.代码执行流程防护原理(逗号表达式混淆2)[20:56] 2-1416.其他代码防护方案(eval加密)[05:04] 2-1517.其他代码防护方案(内存爆破)[10:00] 2-1618.其他代码防护方案(检测代码是否格式化)[03:40] 第3章Babel的API详解(3小时4分钟15节) 3-119.AST的基本结构[14:44] 3-220.代码的基本结构[06:09] 3-321.parser与generator[11:13] 3-422.traverse与visitor[22:23] 3-523.types[15:59] 3-624.Path对象详解(Path与Node的区别)[06:28] 3-725.Path对象详解(Path中的方法)[26:33] 3-826.Path对象详解(父级Path)[06:32] 3-927.Path对象详解(同级Path)[27:07] 3-1028.scope详解(作用域)[07:38] 3-1129.scope详解(Binding)[20:37] 3-1230.scope详解(referencePaths)[02:19] 3-1331.scope详解(遍历作用域)[04:45] 3-1432.scope详解(标识符重命名)[05:57] 3-1533.scope详解(scope的其他方法)[05:43] 第4章 AST自动化JavaScript防护方案 (3小时35分钟 17节) 4-134.改变对象属性的访问方式[10:39] 4-235.JS标准内置对象的处理[05:22] 4-336.实现数值常量加密[07:27] 4-437.实现字符串常量加密[07:39] 4-538.实现数组混淆[16:34] 4-639.实现数组乱序[08:48] 4-740.实现十六进制与unicode字符串[05:50] 4-841.实现标识符混淆[21:20] 4-942.标识符的随机生成[09:32] 4-1043.二项式转函数花指令[15:52] 4-1144.代码的逐行加密[11:40] 4-1245.代码的逐行ASCII码混淆[09:57] 4-1346.完整的代码与处理后的效果[08:53] 4-1447.实现流程平坦化混淆1[21:41] 4-1548.实现流程平坦化混淆2[22:02] 4-1649.实现逗号表达式混淆1[14:06] 4-1750.实现逗号表达式混淆2[17:38] 第5章 AST还原JavaScript实战 (1小时58分钟 6节) 5-151.分析网站使用的混淆手段[26:10] 5-252.还原代码中的常量[16:40] 5-353.花指令剔除思路[20:10] 5-454.字符串花指令的剔除[15:30] 5-555.函数花指令的剔除[17:39] 5-656.还原流程平坦化[22:42]