|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。7 a; d6 W2 A: L2 c
课程内容:
: o% R) Z( M: x00.课程介绍" _- x7 J$ G5 s6 l: V7 r
01.环境配置
' ~8 _% F6 d! S7 x02.对象属性的访问方式6 l9 x& W% P4 F5 t7 [: m
04.unicode字符串
. E `/ ^. I' G) s) R05.字符串ASCII码混淆
1 _% { a) t X06.字符串常量加密+ I5 v6 P4 z( f8 z$ c
07.数值常量加密- N0 t% h8 J7 J5 m
08.数组混淆
! a9 |3 C: X0 Z" C% ^) n6 y09.数组乱序: R1 O: M( u) Y: N
10.增加JS逆向工作量(花指令)
8 O' z6 \" Q$ g4 v11.jsfuck5 v! j1 P; m: L9 I
12.流程平坦化
2 N3 U. d! d5 z# @) K! I; V13.逗号表达式混淆1& P! i0 U* E7 o9 U# @
14.逗号表达式混淆2
3 I/ H [! \6 {/ p. V( y15.eval加密
6 Z$ D2 }* D' G16.内存爆破 m+ |+ z+ @5 F, @" |% N
17.检测代码是否格式化
( J9 J" ^# o* v18.AST的基本结构( u3 ^/ \! @# O8 ?6 p) q) l ~
19.代码的基本结构
, r; C1 X5 z1 u& U4 ]3 m T20.parser与generator1 w H0 f2 f& d: n0 A
21.traverse与visitor C7 S" Y8 T4 ]
22.types+ P, {6 s% @: Y% ~% E2 Y
23.Path对象详解(Path与Node的区别). ?! \5 @) p" _/ i: J, d
24.Path对象详解(Path中的方法)
3 v/ c F- ~& w& i& X25.Path对象详解(父级Path)
1 G* b, I8 p1 _/ F5 v; k+ q- I! v5 ^26.Path对象详解(同级Path)
, H8 |: n7 i- l27.scope详解(作用域)- B! v- \( z/ l u* m
28.scope详解(Binding)
: p9 t$ {% i' r: i( V" ^29.scope详解(referencePaths与constantViolations)1 E8 v2 S" z0 l5 w
3.十六进制字符串1 ^7 F% Y w6 Y) N I+ M4 d. V5 L6 ]
30.scope详解(遍历作用域)
2 z+ D3 z7 a: E3 m" ~31.scope详解(标识符重命名)) a% I$ p7 J4 Y( J& y: z
32.scope详解(scope的其他方法)2 ~0 a- B T0 B! F' d3 K
33.改变对象属性的访问方式4 {3 l* x/ y# z- [
34.JS标准内置对象的处理# G& u7 g4 N+ \4 v% c+ a+ N' U+ y
35.实现数值常量加密8 y. ]( e5 c. A2 a( U
36.实现字符串常量加密; y. f; ^# R3 f& D8 o$ a# Z0 y. c
37.实现数组混淆
5 H$ K* Z c1 H: d' a& e4 P38.实现数组乱序
3 w2 O! R0 [& b39.实现十六进制与unicode字符串
?& b, }: _% a40.实现标识符混淆1 V" }! Q: _; v* g
41.标识符的随机生成
+ `) |! v2 w6 E R8 D2 n42.二项式转函数花指令
! A2 Y& Z, D) _3 K43.代码的逐行加密0 g; W- u1 ~1 Y8 @6 H- ?
44.代码的逐行ASCII码混淆0 N B' q: b. V0 ?4 m
45.完整的代码与处理后的效果
9 e) T% R Q% d( M1 \+ Y46.实现流程平坦化混淆1* _5 }6 M3 g. m! I
47.实现流程平坦化混淆2; v1 t; G: e# k& D+ R/ w6 D
48.实现逗号表达式混淆1
x7 |: s2 d) _ b: W, j49.实现逗号表达式混淆20 p* J+ z% s1 y" j% ]- T1 J. w
50.分析网站使用的混淆手段/ k! t: h9 s- o
51.还原代码中的常量
7 D) f5 ]3 p n% y4 r/ M52.花指令剔除思路4 s* A9 S5 r! I0 t2 P- j
53.字符串花指令的剔除
1 L' j( \1 L4 |# X. x54.函数花指令的剔除
, a8 B& a- Z, X& {7 ~55.还原流程平坦化
6 Q/ ?: r4 `7 o% P; {, e & p$ c6 \- c4 X# a2 A! @
|
|