|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
6 v$ i4 c5 }' Y B+ Z课程内容:
, o. Z8 e% ~8 A0 w+ e: ~00.课程介绍
6 Y5 n V) R) M( u, v0 k; x, ?# t6 |01.环境配置1 E2 ^& s1 M6 l: u" V
02.对象属性的访问方式
5 z8 _: @% W4 x" ^04.unicode字符串
- p2 h V' v* l8 L: j1 a& V( R05.字符串ASCII码混淆
5 z, u, `9 j8 L& O8 r, V06.字符串常量加密
* g/ N/ N% x3 Q8 T+ Q6 A( P% H07.数值常量加密
0 M% q0 W$ q* Z* j, ~9 p- s! [+ q08.数组混淆
9 F+ Q* r* d! e" s" _3 v09.数组乱序, p6 P) @8 q- f7 ]" M Y* d6 C* K) ^
10.增加JS逆向工作量(花指令)
% E* s2 ?4 @5 j2 Z2 G11.jsfuck
0 q4 p! o& s7 _7 X2 f7 }& L12.流程平坦化 M; T& R+ _6 D7 Y* V* s3 |" r1 a* l4 P
13.逗号表达式混淆1; n+ I: G% {+ x7 |: L/ t* j- M+ E
14.逗号表达式混淆2& B9 h5 s6 ~- V
15.eval加密
# n7 ~% o/ Y8 _ a9 ]; y16.内存爆破
" H! ~+ E) i3 ]- f17.检测代码是否格式化
$ R' J$ v( O% B4 _18.AST的基本结构/ _4 {; u4 M3 ^
19.代码的基本结构) l8 u3 Z! v! V2 J# Q
20.parser与generator
2 r w4 R8 r: j% ?5 A1 f- c0 D$ I21.traverse与visitor& [" w' v$ y5 n. i, g9 \3 g& Z
22.types5 L& P5 ^5 L8 ?8 d
23.Path对象详解(Path与Node的区别). g7 t% I+ h, r$ v0 C
24.Path对象详解(Path中的方法)5 u& z" o8 W4 ?$ ~" r7 Q& u
25.Path对象详解(父级Path)4 C) f- i4 V# o( F* @' v. E' T: a5 _
26.Path对象详解(同级Path)0 Q5 j- s' l Y
27.scope详解(作用域)
& I3 I R4 s- \28.scope详解(Binding)
' U6 X+ Y# L$ r+ e29.scope详解(referencePaths与constantViolations)9 ~" K- h$ _9 |( Y! o& x
3.十六进制字符串
1 f8 X+ U+ m1 S8 D; G" S) X30.scope详解(遍历作用域)
7 G% e+ d2 Z) _$ V31.scope详解(标识符重命名)
0 [/ w- Z- \4 B% z' o" ^9 B32.scope详解(scope的其他方法)1 T! ]" I+ k8 v0 Y5 n
33.改变对象属性的访问方式
4 V. s/ C0 r& H+ x& g5 c1 S34.JS标准内置对象的处理
/ c3 t+ g) p3 h. M35.实现数值常量加密 d6 @9 p4 H" Q2 z1 j: ` A4 x0 a
36.实现字符串常量加密
- l1 C% z) i$ C0 h. E37.实现数组混淆
0 ]" G7 I& P/ i% o" w. f38.实现数组乱序' E' A0 E. j3 O8 W& h m% V F
39.实现十六进制与unicode字符串
1 d; `. n6 s3 c3 i1 s4 W40.实现标识符混淆5 S& R# k2 p' I1 \1 z- R: H3 ^
41.标识符的随机生成* O4 N u0 ^( K k3 T! O$ v+ m
42.二项式转函数花指令( i+ c E! U+ ]. `2 b8 J$ F
43.代码的逐行加密+ v9 } r/ y. H! y# s
44.代码的逐行ASCII码混淆5 w( Y7 u6 Z0 p9 ^" X: r) s
45.完整的代码与处理后的效果/ r5 J( J0 d( }
46.实现流程平坦化混淆1
t+ F' f0 b# i2 `. u" _) k; \" ]: a47.实现流程平坦化混淆2) A- J8 e I8 b, ^0 A0 X9 M
48.实现逗号表达式混淆19 q) F: }, ~0 f( W4 x* y' P
49.实现逗号表达式混淆2
: Q- U- P" F1 \/ G6 F2 Q50.分析网站使用的混淆手段
3 o5 G- ~6 [- \+ {$ U51.还原代码中的常量
8 L' s3 _! D* p6 ]52.花指令剔除思路& C0 `' I- q9 W, @/ z
53.字符串花指令的剔除
" F- X9 W% r2 k7 |# x" b* d! e54.函数花指令的剔除6 A: d8 D6 {- i2 E/ ]3 I8 y
55.还原流程平坦化
4 B8 W$ l) I4 Y3 q' X, `+ Y
& ~; }0 w0 M% j# O3 |
|
|