|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。, r7 C: g7 e8 T2 g R, a
课程内容:
6 R" w" ]! G$ ]( K- r00.课程介绍
. T; f2 ?7 O% N7 `/ z01.环境配置
. a- j: b$ j; Z$ c6 P02.对象属性的访问方式7 H" w/ C5 a% `, i! {, |
04.unicode字符串
% T2 V5 R4 I3 p7 \05.字符串ASCII码混淆
}- m( S) a: W0 `) g06.字符串常量加密
) D4 |! O7 Q8 T! g5 q& e \$ q' g07.数值常量加密
- {/ u- D. M0 m' Y9 d! y08.数组混淆
/ e h* I; I; x5 X2 b+ T09.数组乱序$ u0 _- k6 |8 R) |+ l
10.增加JS逆向工作量(花指令): A8 k* D$ }) m' G+ y4 e! T
11.jsfuck- u5 {, S2 I& q3 c/ M3 A4 q
12.流程平坦化
8 u4 F6 f- X Q9 [3 @13.逗号表达式混淆11 g0 x. w; x2 V+ U" t2 I9 B
14.逗号表达式混淆2( m, k+ }* @9 [' l/ C o
15.eval加密
' l5 k# J9 ]; E16.内存爆破
) Z! [1 R8 K* S) N" s17.检测代码是否格式化
* |+ v' C2 l) h, d( H B18.AST的基本结构0 ]/ Y9 {; L2 [1 r- g1 |* B
19.代码的基本结构8 J' b1 l- W# b% K
20.parser与generator+ i, _' G* C/ z8 n# L+ H( v! \
21.traverse与visitor }* I2 ~3 {/ ~+ b' _7 W
22.types
' |0 y" F' d" K0 p23.Path对象详解(Path与Node的区别)
* ?/ E, ^8 D D+ t, N K0 J24.Path对象详解(Path中的方法)/ z3 G. J* ?) Z
25.Path对象详解(父级Path)
7 u$ ]2 E, _$ h g/ O7 e$ s26.Path对象详解(同级Path)
& x# b! f. O) l J) p/ O5 a$ K$ W27.scope详解(作用域)/ H3 b8 e: Z7 p
28.scope详解(Binding)/ L1 f8 h+ S! x: R3 U6 w7 s0 c
29.scope详解(referencePaths与constantViolations)
- c! J2 F9 B3 A: ^. Z! _) |6 C3.十六进制字符串
) B+ u, Y6 |( j; `; M1 M30.scope详解(遍历作用域): V' o: \2 b4 `) H
31.scope详解(标识符重命名)$ O1 @8 v/ S2 c% W
32.scope详解(scope的其他方法)- n# }8 h1 i6 C0 u
33.改变对象属性的访问方式( c/ G8 I4 u) H8 Y* y- n
34.JS标准内置对象的处理
% q' k% _' g) j% s35.实现数值常量加密, D m' ]& K: K- H. E% F
36.实现字符串常量加密
/ h9 Q0 T+ C$ H- V5 l) u' C- \" \37.实现数组混淆
( e# j- J5 S, p) C38.实现数组乱序5 n% @3 ~, W3 v. q
39.实现十六进制与unicode字符串9 h* V2 s" ? a
40.实现标识符混淆
4 R7 p$ {( _) }4 n7 t41.标识符的随机生成
: l2 ]1 A- H" n) B2 Z42.二项式转函数花指令
* L( X9 @2 `; q x, @4 ^43.代码的逐行加密* L* k. q. P! m) a' D
44.代码的逐行ASCII码混淆: i* t# ?+ M- }: \& b* D n
45.完整的代码与处理后的效果4 G d6 ?( C, N
46.实现流程平坦化混淆1
$ i& V/ k5 U8 l$ p2 D1 X; _( F1 {47.实现流程平坦化混淆2& A( m; g( Q& ~% t C* Q" o
48.实现逗号表达式混淆1
, t* E4 Q" B( Z; k" U49.实现逗号表达式混淆2( b' ~2 x8 D5 }# d, F- r9 T
50.分析网站使用的混淆手段* O6 g' k, A4 T D* O _
51.还原代码中的常量
4 n }+ E( I% _6 G52.花指令剔除思路+ d8 g' }/ I9 s# H
53.字符串花指令的剔除
t1 f$ k( m& Q/ b+ m- |54.函数花指令的剔除 A9 x0 Z) Y g& _
55.还原流程平坦化8 R! j/ e7 N1 Q: h& m( X) J5 k
3 |3 Q, K" O, n
|
|