|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
: A; m, O9 O* u% i7 A课程内容:( ?" N4 Y& L5 \, n/ b1 ~
00.课程介绍
. {' s: E2 d$ f' T* }4 b% Y5 y01.环境配置
* `+ `% J9 h+ x6 I0 V4 R( v/ z02.对象属性的访问方式% z8 |% ]/ U( d* F$ U
04.unicode字符串
4 }" d8 ~% N3 D1 J5 U05.字符串ASCII码混淆
$ `* C& q5 A5 D! N7 ^& q1 t06.字符串常量加密
7 C6 ?! @, L5 P" A07.数值常量加密1 I `9 b. I; |
08.数组混淆" U5 _- O3 ~' b8 I
09.数组乱序
1 U! X* r9 ^8 L/ c$ [7 O10.增加JS逆向工作量(花指令)
1 ]8 W! N! D. l3 S3 b11.jsfuck
. ]0 e/ p' u. |7 f6 i+ i0 L12.流程平坦化: H/ P2 O6 a4 N
13.逗号表达式混淆1
" e$ [6 @, `; n) U# ?! q3 K, t14.逗号表达式混淆2
8 u4 r% y R& [6 i: {15.eval加密/ P1 B( A( b/ b+ G2 }7 L+ }( R& @
16.内存爆破& {) |- z$ B( B) k% S# ]
17.检测代码是否格式化0 z; |: h3 {2 @& V8 j# r, K/ y; ]3 l
18.AST的基本结构
' \: e7 X/ y" l19.代码的基本结构
. E2 z5 R! g. q) a4 `5 y% [( _. \- K20.parser与generator
: B/ L9 T* L' M3 Y: O. y9 v21.traverse与visitor7 W+ l% R$ [, g/ I/ e1 p( m
22.types' o$ W2 g5 E) ?# W/ [! ~
23.Path对象详解(Path与Node的区别)
+ a5 b! W" z; b0 G& Z9 _# o24.Path对象详解(Path中的方法)
! o9 K9 o3 k; C25.Path对象详解(父级Path)5 e+ V2 O% S2 Q- g
26.Path对象详解(同级Path)1 n, L# g5 C1 E. o4 f
27.scope详解(作用域)# P3 I5 F9 W+ x% S
28.scope详解(Binding)( Z/ m: X" A5 Y( c; Y# e! y
29.scope详解(referencePaths与constantViolations)& G6 N" k# ], k7 J5 S- c
3.十六进制字符串+ N# h( u$ a/ I' Y# X. I+ H
30.scope详解(遍历作用域) h) T2 j5 B( p3 O4 }; p4 t
31.scope详解(标识符重命名)$ m) J4 ~& w }* U; K
32.scope详解(scope的其他方法)0 Z, U0 T) N% S8 K* Q& _
33.改变对象属性的访问方式 c- F4 G4 L; q5 T0 T |# `
34.JS标准内置对象的处理
3 D6 ?, l" ?3 m6 o' E35.实现数值常量加密
. [& m* |8 h3 F; X% A" r36.实现字符串常量加密
2 M# i2 _6 D* z8 u37.实现数组混淆- \, L1 E: G1 S
38.实现数组乱序% L8 m, o$ u* V! O+ U% v* c1 H5 b! e/ z
39.实现十六进制与unicode字符串5 `; P, g' R$ c7 X ]$ A
40.实现标识符混淆
4 A! W+ a4 Z% W. ~+ Q/ @9 }0 ~. }41.标识符的随机生成
7 {0 r, _" [5 ^( o/ m4 b42.二项式转函数花指令6 S& |0 r0 M* z2 {% L" Z
43.代码的逐行加密9 _( _. Z" T: U
44.代码的逐行ASCII码混淆4 X* o' ?4 X/ p
45.完整的代码与处理后的效果' b7 t0 b1 R2 \
46.实现流程平坦化混淆11 _ B: z1 H3 Q* V
47.实现流程平坦化混淆2
! ]5 q$ J2 R/ d5 ]48.实现逗号表达式混淆1! H& I! }2 \) X! z0 G/ V @
49.实现逗号表达式混淆2. F! ~8 J2 O2 C b0 J t! l3 e
50.分析网站使用的混淆手段
0 D% S1 Y9 w- f! J* I1 n51.还原代码中的常量
& u3 q U4 T1 l' |' v2 Y0 \" y52.花指令剔除思路
+ R" c9 X0 Q$ ~+ d53.字符串花指令的剔除
) ?, J5 q; @6 i6 }" W; ?. e54.函数花指令的剔除: d% |( p) y' M" N- }2 ^/ Z( m( \
55.还原流程平坦化: ~) f; Y8 a4 u: o+ Q
2 @4 i2 ?! z8 n
|
|