|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
0 m( B. h2 R9 o! G$ l3 N课程内容:
) a# j% J7 w& V" j- D& A. }00.课程介绍0 y7 \" {' R+ _6 Y( k
01.环境配置" j. I0 r- x8 U" r
02.对象属性的访问方式4 j8 r! K' G2 H2 S1 }, \) d
04.unicode字符串- ~2 c; s ]2 G
05.字符串ASCII码混淆
+ [4 z. j+ b1 D: q7 B" g06.字符串常量加密& R% R/ S+ K5 T6 O; |
07.数值常量加密
# |, W$ R& i4 |& q- t6 ^08.数组混淆
3 g) ?0 `; i, q09.数组乱序
) Z% D- W; r6 @, j) U# c- u5 |$ H10.增加JS逆向工作量(花指令)
_0 [" G! `+ d, i; ^, u. L11.jsfuck# F9 E# J5 I7 }4 I: O0 J# W t3 N
12.流程平坦化1 \. G: M$ Q5 _6 y) G, z
13.逗号表达式混淆1
$ r8 {6 C m, G. e14.逗号表达式混淆2
; y/ Z4 |4 `) Z. n! D; O, |15.eval加密& z, g( L- z4 b5 X) ]
16.内存爆破
4 i3 ~: @* I c! B" {' q1 U17.检测代码是否格式化( q: c6 J! l( ~0 E. e' i. Q/ {6 T
18.AST的基本结构
2 k( j2 r, J$ ~7 x1 O' |7 b19.代码的基本结构
S5 k5 J: l( E; K20.parser与generator% }, Y* C" Y2 r$ r
21.traverse与visitor4 Q4 Y* M8 V9 ~0 j6 [' ~ h
22.types/ z4 d/ P c2 g
23.Path对象详解(Path与Node的区别)
0 m2 [& a3 r2 o. t: `* [24.Path对象详解(Path中的方法)4 A% @4 e2 C/ `$ [8 M' l
25.Path对象详解(父级Path)
& p2 L) i. ?& r* K2 Z: a26.Path对象详解(同级Path)4 r) h3 x, i4 v3 E! @4 d) M5 \
27.scope详解(作用域)
( Z4 g Y: K* W. T4 [+ w28.scope详解(Binding)
) m- [$ I* g7 B: B; V( A% \29.scope详解(referencePaths与constantViolations)
! t- _6 L% {. V8 A7 S$ V1 p* I2 q3.十六进制字符串7 i; n- K# |8 w" U0 @
30.scope详解(遍历作用域)5 q' J- ^; N" r& }. E$ T$ N
31.scope详解(标识符重命名)
+ h2 v' m( k- r. z9 f32.scope详解(scope的其他方法)& I1 U& J8 }8 C9 S5 S
33.改变对象属性的访问方式7 f- c+ M. {5 g+ k! G
34.JS标准内置对象的处理
2 |5 S0 {% ~3 ~7 m" b& w35.实现数值常量加密6 J# B1 I, Z% ?6 V* N
36.实现字符串常量加密
* T) E; c1 {) g7 A& `- p5 u37.实现数组混淆- z; @* G+ n( a8 f) {
38.实现数组乱序& y) A) ~( V1 a, g
39.实现十六进制与unicode字符串) [' f2 Q9 D5 \
40.实现标识符混淆: {5 i7 ^8 V$ u% R0 }, t
41.标识符的随机生成& ?" P9 J# |$ X; P! |
42.二项式转函数花指令
$ w: L) k& l% ^6 y2 ^0 H43.代码的逐行加密
! H/ |# b U5 [) S1 u6 U* {44.代码的逐行ASCII码混淆# I3 ?: ^1 ~8 H
45.完整的代码与处理后的效果& j ~( a3 t' V
46.实现流程平坦化混淆1
/ i( y0 e( H0 R9 p& ]47.实现流程平坦化混淆2
. b2 [% ]+ |4 U4 ?) W48.实现逗号表达式混淆1
4 u0 L% f. ^- {8 ~0 F. s* H$ D49.实现逗号表达式混淆2& E1 ?3 m8 i% o ?$ ]7 A9 @
50.分析网站使用的混淆手段
8 M( o: S! |' ?1 b" R" T; |51.还原代码中的常量8 [: u! D2 ~5 C: r% |; V- f% Z ]1 B" [
52.花指令剔除思路
" N& r: i' ?% ]4 @53.字符串花指令的剔除
) \% N; _7 w1 a) a54.函数花指令的剔除' J; P% |2 o" j; ?* \) ^' Y+ `
55.还原流程平坦化" N& f3 N$ y/ o5 p
2 I& m c4 z w8 c8 j/ b, \
|
|