|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
, u2 y3 e7 z2 G7 l' {( K7 n课程内容:
6 G% ]' S( y% G00.课程介绍) ]8 M4 G6 q( A( O1 e8 V. d) G
01.环境配置
: S5 k; O* T7 o: C7 D! f: j02.对象属性的访问方式
! n& {) f K# W8 X3 H$ F04.unicode字符串
/ O/ L: ^( ] ^. F5 g' k; ~05.字符串ASCII码混淆; |$ _6 R; J8 b* q9 I
06.字符串常量加密
) b* {% |: _4 s5 D/ |* o$ C& ^07.数值常量加密
# Y% V) _, x( x8 O2 a% l08.数组混淆 f. D5 S# b6 }! T, X7 X/ v- j; B
09.数组乱序/ `; H- ~( t; j8 V/ C# ~
10.增加JS逆向工作量(花指令)0 P. D( ]% M; ~' Y$ b$ F5 [4 E
11.jsfuck
* U" V; @) \9 N12.流程平坦化+ P( [) t! L2 f2 y
13.逗号表达式混淆1
& k; g$ ^5 m3 h, m14.逗号表达式混淆2
" m# i l$ Q, K2 ]15.eval加密, K, r/ ?6 X$ ?) v/ B9 _1 `
16.内存爆破( c; j* {, k P# G8 F
17.检测代码是否格式化
0 l2 K0 C! t0 r( D$ X18.AST的基本结构' |" u' f) A4 R, [9 g+ [1 b
19.代码的基本结构
$ Q8 Z) f, R% C a6 [5 J- o20.parser与generator
) q# J/ ~' r9 G1 J( b( @) q" g21.traverse与visitor
5 `# M5 y, n5 r% F& i$ T, w4 M22.types
0 D% b. Y# F: ]' y23.Path对象详解(Path与Node的区别)
% c) a. y% F! ]' W; F! u, @& R: \$ k24.Path对象详解(Path中的方法)' f, U# u4 L5 f8 m4 z
25.Path对象详解(父级Path)
" G! y( u# S. g+ a26.Path对象详解(同级Path)
9 u5 U& @ H' m" D0 r27.scope详解(作用域)
. r; d2 S: ?/ Q5 ]" }4 {28.scope详解(Binding)
/ |7 t* h9 Y; }% V L3 K29.scope详解(referencePaths与constantViolations): k, u4 H+ ^ S. Z k
3.十六进制字符串+ F, G/ c' @4 T
30.scope详解(遍历作用域)4 x7 {3 I/ X! b9 `1 V! j E) a
31.scope详解(标识符重命名)
( b, k4 s) a& k& L: h8 [# ?32.scope详解(scope的其他方法)
( ~( _( t1 d9 m/ v1 }+ G% ^33.改变对象属性的访问方式 N2 J* q6 J" B# V- M, \8 Y6 q' [
34.JS标准内置对象的处理+ F c. d2 `$ v
35.实现数值常量加密' x: W: {7 ?; T. m: G3 Y
36.实现字符串常量加密
1 h M; f: C5 F37.实现数组混淆8 {* j* X# H$ Y9 _- K3 }
38.实现数组乱序/ r0 u: c. O; u
39.实现十六进制与unicode字符串" y( ~. I2 m" l+ S
40.实现标识符混淆: f! C8 `0 N: e
41.标识符的随机生成
/ ]8 W, K; p0 ?6 ]" F( t42.二项式转函数花指令
4 b& i7 q" p$ U1 I9 e, q# m43.代码的逐行加密
) _& L5 |8 }! z8 t- O" J' ^$ H( R44.代码的逐行ASCII码混淆
7 h4 p3 s. [) O- y; Q) K# T S45.完整的代码与处理后的效果
1 Q; B7 v4 f/ L2 D4 L( i$ N46.实现流程平坦化混淆1
! Z( Z N$ x6 r* h5 [ B/ o1 }- \47.实现流程平坦化混淆2
$ v# Z8 z+ V; K; D" k1 b48.实现逗号表达式混淆1
Z! h: c7 Y: a$ g8 N49.实现逗号表达式混淆2
1 z0 c% P$ u& T$ n- O) `" q) V; f50.分析网站使用的混淆手段
! q4 E" J" m9 [. Z/ X; f, ?51.还原代码中的常量
1 v& m. [+ }+ @52.花指令剔除思路
! D; w! G! G/ P- [/ n0 J, Z53.字符串花指令的剔除
3 l' b/ O9 R. H4 O% Z8 B& p54.函数花指令的剔除
E9 Q o& X$ M# E55.还原流程平坦化2 `- s' F% P% ?3 h, J. N% p
, X9 y$ J4 s P# K; a. I) k- B
|
|