|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。1 R( C# ^2 r# a: P# q9 h( `+ E" t
课程内容:
5 O+ m2 u& \4 x3 C6 k7 } M+ ~00.课程介绍7 N! t- B* ~- i
01.环境配置
/ Q/ T8 B+ b/ o1 T5 c! K3 ~/ n" p02.对象属性的访问方式. `- W( Q r9 n: Z, g
04.unicode字符串 N, o2 }3 |7 s
05.字符串ASCII码混淆
1 R8 T7 g7 P; P9 T$ d5 o! s5 k9 C06.字符串常量加密" }' y1 \& ]* e" q
07.数值常量加密
% J: v, A/ b+ `. s% t0 Z5 @08.数组混淆
& }. T4 C" r/ u% m$ N09.数组乱序% n( w% \0 O6 x& B
10.增加JS逆向工作量(花指令)
4 I7 G9 D5 ^* z& j0 K& \7 M11.jsfuck' s: b* R6 y( V% b# f
12.流程平坦化0 H9 v* _2 h% C+ F$ c1 K
13.逗号表达式混淆1
/ b% F3 v; ]. |& K14.逗号表达式混淆2
9 P: X& D Z8 y: `! d15.eval加密( A2 f4 ^/ m2 ?" F1 K
16.内存爆破 ^; w* D- y4 x r. D/ ~1 V ?
17.检测代码是否格式化
; E6 m/ r, u5 [- k18.AST的基本结构6 A9 t4 ^% T3 o( G" C' R* Z0 t% J
19.代码的基本结构: c4 p& e# I' l
20.parser与generator! H: Y0 k. V$ U
21.traverse与visitor
: j; R! x- g. h2 k22.types9 \$ R7 A: w! `
23.Path对象详解(Path与Node的区别)7 x+ J; q$ U( y8 d: G
24.Path对象详解(Path中的方法), e* r0 A9 W3 I% Z' t
25.Path对象详解(父级Path)
3 Y0 q- z$ q9 k& P, f; _8 L4 e, w26.Path对象详解(同级Path)( {/ m( z+ Q# K
27.scope详解(作用域)
, S( q7 \ K$ u28.scope详解(Binding)
4 ~ B: Q- k- |29.scope详解(referencePaths与constantViolations); m8 ~2 O* x) M: U
3.十六进制字符串' e( U9 h! P i& \2 |
30.scope详解(遍历作用域)
: _( e5 I3 t' D, y, G3 x31.scope详解(标识符重命名)
; J* A$ j6 Y+ P8 {% j6 t3 @32.scope详解(scope的其他方法)
" j a- ^% M! J) f, y; ]9 n33.改变对象属性的访问方式
H, g2 R' W/ @34.JS标准内置对象的处理0 V& d% B/ p. X w
35.实现数值常量加密
. J1 r1 h, m) @( p$ O36.实现字符串常量加密" ^; M5 |, [8 a. I& ^/ Q2 C
37.实现数组混淆
2 P9 {9 v& H6 o. `' T I38.实现数组乱序( H* r% ?, J' J
39.实现十六进制与unicode字符串 x _! E; E) Q
40.实现标识符混淆
: f/ @( r, `6 R. P; ]' A, Z L41.标识符的随机生成* t+ E4 o- v- }
42.二项式转函数花指令
' a' w, l( E2 K43.代码的逐行加密
8 _ M$ N$ N2 c5 H# `8 H! z+ b* K44.代码的逐行ASCII码混淆
) d( A, M2 a7 I1 Y: b7 \8 t45.完整的代码与处理后的效果7 ]- `5 z) M- I" b0 r A
46.实现流程平坦化混淆11 J5 b/ s! R: Y) b
47.实现流程平坦化混淆2
+ d- K/ F" }9 P9 P48.实现逗号表达式混淆1
" F. I& s8 V' c2 u6 J49.实现逗号表达式混淆2
* {5 }& U! q, B$ m6 F( Q- R50.分析网站使用的混淆手段+ x- k+ S g1 ^) b) a
51.还原代码中的常量
* F) f! ~' g; \& {2 O) J52.花指令剔除思路* E7 v0 H" @$ }
53.字符串花指令的剔除
( a) G9 ? G% i54.函数花指令的剔除
) u4 ^' K1 f5 R( d; P: l( Z55.还原流程平坦化
4 v% j5 Q* T" ~- i; J% ?3 x " e0 e, c( d# }% k
|
|