|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
' C i: ~+ F0 K- I) q& m4 w课程内容:# @: |1 S: p3 C5 q: W3 H0 T: I) Y
00.课程介绍
/ P3 u! o3 s1 j( R/ U$ W6 e01.环境配置' I4 g U$ A# f
02.对象属性的访问方式
# Y6 c+ A7 p) t. e o( f% o U04.unicode字符串
U1 b1 E% M/ M) l( ?8 y05.字符串ASCII码混淆, \# g* u" X& R" y) ?7 b
06.字符串常量加密
% F6 a# O* T7 v0 \0 z07.数值常量加密
8 g, Z% a, y. V$ a8 v08.数组混淆
]' _& E/ L% o! c: L09.数组乱序
, ~6 l' N1 r4 D$ r" k10.增加JS逆向工作量(花指令)
( J; N- O. ?; G* n1 D11.jsfuck
9 C; W% F, F3 S& t% h; V( t- t12.流程平坦化
( o5 r5 z7 K; s$ x& m13.逗号表达式混淆17 A$ S* Q5 Y: Q0 e4 t
14.逗号表达式混淆2
) C/ a7 u4 h7 z: z' q3 G15.eval加密
" x6 a6 \; ]8 ?6 `3 f16.内存爆破
0 P( |8 H k' d8 @& r17.检测代码是否格式化& B2 T' _9 k+ T( V- c. \6 i
18.AST的基本结构
: _, `6 ] F$ M; m7 Y% t19.代码的基本结构
& x. a" M2 X3 ^/ ?& C/ A' g) R3 A20.parser与generator
9 h- ]( `& L. i( {, y6 |4 v; g21.traverse与visitor8 g8 b- y/ [+ I% k+ r9 S
22.types
5 `- j! e. P( S- Q6 {3 w! g1 P4 n23.Path对象详解(Path与Node的区别)" }8 j4 C6 h& l5 P
24.Path对象详解(Path中的方法)
- R+ j @& q6 M: H& y1 l" R25.Path对象详解(父级Path)6 `1 O; T$ f/ Y! a1 v; m
26.Path对象详解(同级Path)
1 W% l* k1 G7 o/ T3 r# y* ?27.scope详解(作用域)
7 E# b( L G; \; w. f0 h1 O28.scope详解(Binding)
/ r5 L7 |! o7 B4 y29.scope详解(referencePaths与constantViolations)( C7 h- c& \8 [, s F' Q3 z
3.十六进制字符串 L3 d6 h" e5 e [6 Y
30.scope详解(遍历作用域)
) E N4 v. O, r4 q7 }/ j31.scope详解(标识符重命名)0 K3 B; ]9 j/ d% ?9 B' ~" }/ |
32.scope详解(scope的其他方法)
' A' ?( A" a8 m5 K- h7 j33.改变对象属性的访问方式
# J$ g# z' z/ r! F- @34.JS标准内置对象的处理' b/ V9 o) e# r* `' h( b1 C
35.实现数值常量加密, l! v) Q- X r4 v+ b" F7 S
36.实现字符串常量加密
Z7 Y: |" Y5 G1 Q$ M$ e% o: l# a# U37.实现数组混淆
# ~/ E5 ~ @2 r1 e& M8 [38.实现数组乱序
. \/ p& x% v7 w* O F* P39.实现十六进制与unicode字符串; ?0 |( ?) i1 {' r# y0 S8 N
40.实现标识符混淆
' c, p/ }7 `3 ^# a# o41.标识符的随机生成
0 K- Q+ d- D$ C1 D0 H42.二项式转函数花指令0 j% i1 O; v5 m) T/ M9 o
43.代码的逐行加密
3 ~0 O6 v& t* G) H H' F1 N44.代码的逐行ASCII码混淆
. O2 E. k, C9 K7 ~" }3 x" P7 ?45.完整的代码与处理后的效果; W# S4 ~# z8 G/ K4 s$ n0 b; {
46.实现流程平坦化混淆1
, y% [- P3 C! |9 Y) l47.实现流程平坦化混淆2
0 M) k/ a% s8 P! r48.实现逗号表达式混淆1/ }5 u; C; n6 N
49.实现逗号表达式混淆29 C- T1 _2 ~+ g, V% R. b# x5 |
50.分析网站使用的混淆手段
* E" ~% U1 ^5 u7 O+ B8 W; a51.还原代码中的常量0 W. c! z. e! I' m- }* l
52.花指令剔除思路
; l2 R( c" v8 {& G# C$ }: U' p53.字符串花指令的剔除
7 t0 O3 }& Z/ n1 L- p' x54.函数花指令的剔除. W; m& p6 J- o% }! m
55.还原流程平坦化
* |4 f, q O& U" T: ?" r: c 7 v8 v6 W7 x6 ]
|
|