|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。 l T+ z& d0 U6 ^
课程内容:
0 F7 S& w$ Q I00.课程介绍/ Y" J# |4 C. }! U0 ?. U$ o
01.环境配置
8 L% V. `/ G1 n3 @6 M02.对象属性的访问方式
" ?$ u5 }) @2 U+ F) h* I5 G04.unicode字符串
1 \& k/ [9 f' S0 n3 b05.字符串ASCII码混淆% }' a6 v4 I4 K! g9 S
06.字符串常量加密3 U( ?+ B& w! L Y& z8 h, ^
07.数值常量加密
! p) p% [* g, m2 R% @- O08.数组混淆
% i, Q5 p4 {" h1 m! l( H09.数组乱序
- H' p | [% y$ ?+ z$ L1 i+ i10.增加JS逆向工作量(花指令)- i ]8 i x9 m; a" M N
11.jsfuck
6 B4 T( o& M2 l8 t5 ^12.流程平坦化4 V: y: H1 S0 n$ B3 u6 Z
13.逗号表达式混淆1
8 q/ n9 I+ Q0 b3 Y( T( Z4 ^; H+ g14.逗号表达式混淆24 Z" ]# J( _; z- p* y8 X
15.eval加密
( `7 `3 \: @& U16.内存爆破
. Q: ~" E1 w8 H6 s/ }3 G17.检测代码是否格式化$ @) G+ ^1 \) G m' [
18.AST的基本结构
+ m) {' p0 X1 C' V' D$ o19.代码的基本结构
. O4 |; @" s, F* K20.parser与generator
! H1 H2 F3 u& h' D21.traverse与visitor
) B- N+ Z: [' L; I* J22.types% m' S9 r- L# K- G' O
23.Path对象详解(Path与Node的区别)
( j$ |# h: ~- _ F8 g) y4 @24.Path对象详解(Path中的方法)8 ], F E5 V/ u3 s+ Z
25.Path对象详解(父级Path)
" K2 z! ~% ~# y4 S26.Path对象详解(同级Path)2 X0 I4 L7 B' q/ g
27.scope详解(作用域)5 u1 ^, Y. F. d3 v! ]
28.scope详解(Binding)/ F3 y7 W6 e6 h# r: j% v& q8 D8 b
29.scope详解(referencePaths与constantViolations)
( P& m( |3 d3 S5 q' g5 k! E3.十六进制字符串 M, p' i: w! v
30.scope详解(遍历作用域); m- n( _* a! k9 m) B: _. X
31.scope详解(标识符重命名)
5 e+ u, }& F- d" }8 e8 c8 }& J: s( A8 S32.scope详解(scope的其他方法)
! x9 A6 g0 S; [. [33.改变对象属性的访问方式
9 U* m& Z. n4 h D" b9 ^. w34.JS标准内置对象的处理
9 B/ P ^$ R4 f0 o35.实现数值常量加密
) S8 o8 L5 c. s+ S2 W) F# ~36.实现字符串常量加密/ P1 D. e( H% j3 L) e
37.实现数组混淆' B. [6 K2 V1 Q; w( z
38.实现数组乱序
- g6 n1 c r0 e( r# n- Y- x1 X39.实现十六进制与unicode字符串
1 x5 \4 Y: y& N I7 U$ R2 H40.实现标识符混淆* a1 }; f8 O- n" F7 Q3 w1 o* r
41.标识符的随机生成) W! G; x, ]/ a- m! ]
42.二项式转函数花指令% @1 D* _, x, d% v- f
43.代码的逐行加密
+ C% ?6 j: S l; i+ M- W44.代码的逐行ASCII码混淆* H2 c/ C6 j1 s; D6 X6 B
45.完整的代码与处理后的效果$ F4 \( q2 Y1 y2 [0 ]
46.实现流程平坦化混淆1
, T& S: U- d; r! t- r7 `47.实现流程平坦化混淆2
7 f2 H5 G# V" q: A9 Z" H/ h48.实现逗号表达式混淆1% n! i3 I2 @% |/ U9 Y" V
49.实现逗号表达式混淆2
+ z; x- P6 V# Z9 D) S; v0 C50.分析网站使用的混淆手段, J0 C, a; T" S0 _& g, E: w) L
51.还原代码中的常量1 f/ i, p3 u. E8 i- d, B3 o
52.花指令剔除思路
% R6 p2 U* z0 x/ _53.字符串花指令的剔除
* P. |6 Y6 r1 T. m54.函数花指令的剔除6 j G- D) S( w+ I" n6 m
55.还原流程平坦化- {& J7 f% p2 x7 J4 P: K6 }& D
3 C5 p# d7 I8 u7 S, p' ~
|
|