|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。7 e' Q5 A: d# U5 U* W
课程内容:
) a) A; u3 ? N" L3 ` ^00.课程介绍1 C$ ~ S, w; P3 H1 @8 z" [
01.环境配置
( N5 G) W5 D$ O02.对象属性的访问方式
$ m# G& c k- I04.unicode字符串0 _4 ]% q H! J% B/ i% A
05.字符串ASCII码混淆 V, }0 y0 r% c a( u( r2 {0 l
06.字符串常量加密
7 i; @) X6 |8 P; N1 T n07.数值常量加密
' ?+ t$ \+ ]( z5 [, Q8 E" L08.数组混淆6 ]( ~8 L9 Y8 o; t7 [! W) t
09.数组乱序
4 I+ }8 A, M4 \) i5 G4 [, F- G10.增加JS逆向工作量(花指令): V* G# D$ b9 I; K" [
11.jsfuck4 f! H1 @! l# Q9 X
12.流程平坦化' E, |4 B, ?3 k1 |) ?
13.逗号表达式混淆1
+ b ^: }4 U' J- w7 g; T4 Z14.逗号表达式混淆2 S- k' y3 r% p+ Y9 Q# ]8 @, @
15.eval加密
6 F7 f) N0 h; Z5 l) L' D# j8 U16.内存爆破
. `' o0 L; p) U2 S4 U17.检测代码是否格式化
( ?1 g ~) G* N Y$ Q6 ^18.AST的基本结构
; Z8 K- k$ ]& s% p+ `% y. O19.代码的基本结构/ R# b, v5 B& Q' Q1 u1 m1 }
20.parser与generator2 R/ [- Z& X7 u# J: i4 t: P
21.traverse与visitor' y7 `) F7 j- f7 b+ @8 Z4 ]9 I
22.types& j" l3 J: M# N) w% @: G
23.Path对象详解(Path与Node的区别)8 E, p& l( q O0 i o8 t8 j: b: u
24.Path对象详解(Path中的方法)
5 P a+ C: }. r5 t6 B5 [5 ?25.Path对象详解(父级Path) r6 l, N# j" u0 R/ ^* X, V
26.Path对象详解(同级Path)
1 w/ n. Z. w# l) Y4 h27.scope详解(作用域)
+ A' P F1 z0 l% l6 ?- k5 w; i! E3 P28.scope详解(Binding)
8 v, Z3 E L i, C' _6 g9 q; V29.scope详解(referencePaths与constantViolations)
4 ]5 K3 z1 G3 C% A3.十六进制字符串3 Q: }2 E. I" h* O+ T7 `
30.scope详解(遍历作用域)6 b; m" T8 b w. v9 F
31.scope详解(标识符重命名)
$ I+ l4 v! d9 o" `8 N, t0 }' M$ K32.scope详解(scope的其他方法)' a r9 s6 r3 R8 l$ Z0 }! P2 `
33.改变对象属性的访问方式' I) `4 c2 N+ O' P, B; @
34.JS标准内置对象的处理4 j, ^+ `! ^4 O
35.实现数值常量加密
! m2 t5 T _$ j& n36.实现字符串常量加密
2 x( `4 Q9 B" G3 X37.实现数组混淆
5 _" [- v& N" n38.实现数组乱序
2 I. h" ?, K) Y7 y! W39.实现十六进制与unicode字符串8 A- M# L5 _7 j* u! p( F- {0 U! J7 Y" F
40.实现标识符混淆
; H) H- r/ }; n. x& T% \41.标识符的随机生成. g4 F2 X" g) b5 @4 _
42.二项式转函数花指令. ]: C. i. u6 Z! h# v$ n9 F
43.代码的逐行加密
; ]6 b% k5 d1 ~ r2 N- B44.代码的逐行ASCII码混淆
$ k1 a# w8 S$ @# c5 ]45.完整的代码与处理后的效果% M( [" C, h( g8 `- U( f
46.实现流程平坦化混淆1
) I: p; t% D: {' L6 c& l- ^, O47.实现流程平坦化混淆2
" ?2 I% `7 s7 } F) x5 x- A48.实现逗号表达式混淆16 B0 E4 T- _4 w# V ?3 ~
49.实现逗号表达式混淆29 \ i+ f0 O- ?+ Q* L0 N; n% ~
50.分析网站使用的混淆手段$ e- U1 _& u2 [+ n, s9 X
51.还原代码中的常量2 l4 F' X( J! p* h3 l
52.花指令剔除思路2 i2 ?3 H p7 |0 U$ u
53.字符串花指令的剔除! L8 Q6 P4 l3 z+ `) E' t0 L+ f
54.函数花指令的剔除9 e9 Q1 T8 k0 h& c9 _
55.还原流程平坦化9 ~, {8 p* m4 f9 i) L9 ~
0 ]' C& h w) J& k6 \8 W/ m+ K0 Q
|
|