|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
4 ?+ j5 I1 O4 E课程内容:
; J8 g: x4 u& N00.课程介绍
& o" H1 {/ m& G" G2 u/ F5 C01.环境配置6 S. [1 [1 a R$ G% R
02.对象属性的访问方式
2 `0 O/ S) x! c3 F# S6 J: s: S6 D04.unicode字符串- P; C* M. ~2 v
05.字符串ASCII码混淆
7 J( N( |- m5 a' q: s06.字符串常量加密$ ?7 e; y6 t' p" c
07.数值常量加密
- N- ~6 ~- G% f" ?; Z6 |08.数组混淆) B5 D8 N% y; ]* d6 U' P
09.数组乱序
* ]6 Y4 o, v' W3 D: u7 M10.增加JS逆向工作量(花指令)- D& o- ^; C" k' ^
11.jsfuck0 A# [: V1 b! i2 q2 C' O! T) g
12.流程平坦化
, h6 U4 H+ U) F: \13.逗号表达式混淆12 v/ x5 v: I1 X0 b
14.逗号表达式混淆2- z' w/ I/ T3 I; \! g$ G
15.eval加密" @7 }$ b Z' ^- L& n# s& o$ r
16.内存爆破
9 [0 b! b; F4 |17.检测代码是否格式化' q- @% K! L( r& V- `# R
18.AST的基本结构/ Z c4 }8 I. J
19.代码的基本结构2 X+ X. h! N" ]$ f4 J
20.parser与generator4 p: R0 A4 S7 a7 W) L: E" C
21.traverse与visitor
) P" I2 `% f6 R' k( L22.types! m3 t" k: _( F. n0 W) I* C# ]
23.Path对象详解(Path与Node的区别)
& @" [: [: \8 S# J24.Path对象详解(Path中的方法)$ M! G% _7 m1 l$ `
25.Path对象详解(父级Path), @8 n! {5 h' R9 `6 ^8 H& ?2 n, y
26.Path对象详解(同级Path)
; w5 S6 l% t; `3 _+ N3 p27.scope详解(作用域), R* l# {1 V: {
28.scope详解(Binding)
2 q. _2 t0 H( Q; L/ y3 t" t# h! G29.scope详解(referencePaths与constantViolations)9 v, }. p9 ]- F3 P2 _- e
3.十六进制字符串
; [& l7 b) g& o) _ ]30.scope详解(遍历作用域)
8 H" F7 N- x5 p2 N% q5 b, k31.scope详解(标识符重命名)
/ t! x5 p& h4 h; F: O- ] C32.scope详解(scope的其他方法)
5 s1 j! o! {( F8 ?33.改变对象属性的访问方式
I: _6 t0 Z4 W+ i34.JS标准内置对象的处理
`, c7 Z' {& h35.实现数值常量加密
3 B4 e! N; i4 |& W J: T0 n2 W3 W36.实现字符串常量加密
* g: M7 ~9 R7 r+ r. C37.实现数组混淆
2 f0 z+ C* Y! k* H( Z38.实现数组乱序
; a; |/ |5 I9 }; W) m" ^39.实现十六进制与unicode字符串: r5 ^8 z) u$ Q: q" S6 R' k% v
40.实现标识符混淆
! z" D: F: Z4 Y& \0 x41.标识符的随机生成
. K' ]9 g+ C( Y P4 h42.二项式转函数花指令
9 L: B+ i1 n& Q* w9 c2 k43.代码的逐行加密. W. N& U/ D" l& C+ {
44.代码的逐行ASCII码混淆6 E L) U$ j9 f2 Q: _8 [7 g
45.完整的代码与处理后的效果
( J" S. U6 a( p b2 P# z46.实现流程平坦化混淆1 f- t0 f1 K2 r, z( |4 R* ^/ h+ W
47.实现流程平坦化混淆2* G# U& D& j+ R; B3 p" S
48.实现逗号表达式混淆1
, g+ R I2 d5 C3 E* u0 \) A8 m49.实现逗号表达式混淆2
" M0 R8 l; m4 Q! P9 w50.分析网站使用的混淆手段
. Q* f! Y7 s0 L- g" y" z51.还原代码中的常量
0 D( Q# Q+ O" I52.花指令剔除思路8 h2 c2 f- c1 J( m8 R) s
53.字符串花指令的剔除. x3 u, ]9 i& F b9 m
54.函数花指令的剔除& B& @6 ]& d) v9 ~5 e
55.还原流程平坦化+ s- ^$ f: [( k: E: X9 w
4 V! B/ _/ h+ Y6 h }6 ]
|
|