|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
7 J6 ?% m/ ?) Z3 s( U$ g. ~课程内容:' U3 Q# n0 \- s( A- g% y2 k! o
00.课程介绍/ \2 ?1 v; p4 _' [+ l/ E4 `( E
01.环境配置
- B% K# e2 f! C" H6 y8 q02.对象属性的访问方式
: d+ R- B/ M* [- ^8 N0 ^04.unicode字符串
4 t- h" K. y8 G4 [6 ]05.字符串ASCII码混淆( o$ s) a! r3 p1 S
06.字符串常量加密3 M" E/ c/ Y$ N: t
07.数值常量加密% D4 b2 N9 Z; R! ^* E
08.数组混淆' C; U! w9 ?! H' ]6 ~5 l
09.数组乱序( N* `5 Q: r2 ], E
10.增加JS逆向工作量(花指令)
- Y# q2 y8 \) @% y11.jsfuck
# D4 @3 G$ Z; C& h! Z6 N12.流程平坦化! ? Y6 |3 ?, M) x" s8 s/ U
13.逗号表达式混淆1
C: V7 r; ^5 O ~$ i H14.逗号表达式混淆2, Z: O, s7 ?# Y6 |, h
15.eval加密
+ w% Y+ b1 M0 l! K' R16.内存爆破
# x9 v4 v I' P5 a, O17.检测代码是否格式化
( N3 @( z5 k0 _2 Z6 a* x18.AST的基本结构
5 Q8 m8 Q+ ?( ^3 }- o19.代码的基本结构6 M; I3 V: T9 N9 q1 U# Y: t# X: d/ V
20.parser与generator
& h* _- `1 D: ?8 N G# i21.traverse与visitor
3 Y: b3 B' b/ b0 Z0 G+ \! ?0 m22.types9 }% }2 p5 w' R* `3 I
23.Path对象详解(Path与Node的区别)
% c) n, u# u8 r7 Y24.Path对象详解(Path中的方法)
1 u1 ^* `3 p; H, j, e- s9 R25.Path对象详解(父级Path)! n; Z, I Q* n8 \+ g
26.Path对象详解(同级Path)
" r( {5 W! ~( x' b" d27.scope详解(作用域)
8 C- x& y& [8 R% ^28.scope详解(Binding)3 j* E/ n6 B# _) u8 c/ W/ }
29.scope详解(referencePaths与constantViolations)
! J u# V* F" t3.十六进制字符串8 U# X! i' r) S; [6 }5 T' H
30.scope详解(遍历作用域)7 M, r' b5 Z0 j* E2 A' ]0 _
31.scope详解(标识符重命名)( G3 c( |! X# f, _+ T [& V
32.scope详解(scope的其他方法)! u& o, E; W0 _' \* e6 ^
33.改变对象属性的访问方式0 K( E* ?5 p2 J- r" T$ z
34.JS标准内置对象的处理+ D. R0 u2 z. N. b2 |+ S% d
35.实现数值常量加密* P, @: o4 C1 u! L5 r9 l& Z7 R! ]
36.实现字符串常量加密
. N" M0 _& ^% {4 ~37.实现数组混淆. `5 H' z) G4 e- V2 |
38.实现数组乱序5 a& z/ K; }0 z
39.实现十六进制与unicode字符串, j A! \' P. Q; C: `9 R0 N
40.实现标识符混淆/ \1 H; h- {4 q- m! q
41.标识符的随机生成2 A4 c7 p6 j; Y: B
42.二项式转函数花指令5 S! h+ b7 V8 W9 @
43.代码的逐行加密& Q, y, i0 j9 v9 ^4 ~ Q2 @
44.代码的逐行ASCII码混淆
# Z. a& H3 _ J1 F45.完整的代码与处理后的效果
1 @ ~ w8 T! A: q5 Y46.实现流程平坦化混淆1, m% m3 H- P* E* \) _& V& r2 ?
47.实现流程平坦化混淆2, u, R1 s2 Y* i5 j6 l$ Q7 ~
48.实现逗号表达式混淆1# Y2 E1 W# f8 V; m1 v5 y/ x
49.实现逗号表达式混淆2! e0 E2 h6 E8 K' ~7 Q7 d
50.分析网站使用的混淆手段
! f' u: n' B5 Z/ W7 M+ a6 ?51.还原代码中的常量
# h8 ?+ o6 B2 M+ c52.花指令剔除思路8 |* L' ]9 f) ^- n, R+ i
53.字符串花指令的剔除9 b4 K2 d3 _; ?0 U1 e. m) O+ ] t
54.函数花指令的剔除& I* v9 i5 V' h, [+ c6 q
55.还原流程平坦化% ]) N9 N; l, d4 r- P
5 b4 C4 c5 h: v/ E
|
|