|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
8 X S+ |2 [0 G$ ]( d3 `' D课程内容:: G6 D, I1 A# r3 W8 ]8 L4 l
00.课程介绍" G% p8 [! Q1 q1 }; L
01.环境配置4 _$ X. N) N7 V7 J
02.对象属性的访问方式, d! Z# I: T. T1 \' a
04.unicode字符串
& \9 |/ B3 b/ A, Q2 n* m05.字符串ASCII码混淆+ }7 y3 _" R! I& c7 u
06.字符串常量加密/ i4 Y: S# Z) o4 m- a; j% p
07.数值常量加密$ j+ h* k8 k+ X5 r- Y" Z7 n6 V& e
08.数组混淆
5 z5 \: D J5 ~) e8 {" Y, l09.数组乱序+ @" {% p. q0 e* l0 a5 V
10.增加JS逆向工作量(花指令)
8 V6 @6 M' _' ?; B% n8 f0 S; ^11.jsfuck2 I0 D+ S3 t" d& C5 W* o- w( D
12.流程平坦化, y/ _, |# Y( Q: a; f
13.逗号表达式混淆1; p3 z* t o5 [5 |
14.逗号表达式混淆2
5 _6 n% a5 ~( X0 B/ r6 z, \8 Y15.eval加密
# c# \9 g; K$ d16.内存爆破9 R) o7 M( E0 ~1 p8 Z; T J
17.检测代码是否格式化! z9 E' a5 I6 i& {- d" q/ F
18.AST的基本结构
N! r4 i! k# @2 h% j% B& O19.代码的基本结构! s" L$ M% @! R, m+ a
20.parser与generator
1 a \6 n% M6 }$ ?+ P4 e2 Z" h21.traverse与visitor; o$ _6 d2 ~6 D9 X7 n4 @" P
22.types* T9 J* D* y. W3 a
23.Path对象详解(Path与Node的区别)" z+ `6 x8 X( ?5 f$ c) p
24.Path对象详解(Path中的方法), N* w8 V2 l; D2 _
25.Path对象详解(父级Path)7 \7 _( A: S) i* c& a
26.Path对象详解(同级Path)0 c( c+ N, C2 a9 c/ _
27.scope详解(作用域)
* m' Y$ j8 j7 p; l. { X28.scope详解(Binding)
/ ^- I6 u0 `, m% L0 @$ i29.scope详解(referencePaths与constantViolations)/ T2 N, n- K) |
3.十六进制字符串1 @. P( _* R7 A
30.scope详解(遍历作用域)
9 d5 x; F: \$ E: Z2 X31.scope详解(标识符重命名)
- g8 u6 c [% [, S32.scope详解(scope的其他方法)
' p3 y8 k* J; W, x8 D33.改变对象属性的访问方式
$ z3 ], O& q) j: Y# J/ W8 W; s5 r34.JS标准内置对象的处理
( Z+ ?4 Z' e4 @) \ |7 `35.实现数值常量加密
/ v2 I2 ]$ k) x) l36.实现字符串常量加密
- l8 j- \9 d: Z( p* l37.实现数组混淆
* Z }: H* i. T& a# M) f+ r38.实现数组乱序
; l5 I2 B: L, A! z$ i39.实现十六进制与unicode字符串; N7 w6 h \( X- R
40.实现标识符混淆
: ?+ r$ F. h6 ]9 Y' i8 X4 z+ v U& [41.标识符的随机生成
1 ?2 h0 Y4 c& z0 f42.二项式转函数花指令
; S$ G7 ^$ {# S43.代码的逐行加密1 _) u' }( N: _" Q( l
44.代码的逐行ASCII码混淆% E: o- ?3 ~0 g
45.完整的代码与处理后的效果
) o: T z& L! \& l46.实现流程平坦化混淆1- h0 S$ A3 t: O7 z
47.实现流程平坦化混淆2
8 X! Y5 v3 @4 @' r7 Z" b48.实现逗号表达式混淆10 x2 J F+ r5 ?$ p: J1 l- G& ]
49.实现逗号表达式混淆2
* W- w# u0 t! w: b0 l) _% n50.分析网站使用的混淆手段
+ u7 Z1 Q) u# B$ X; X51.还原代码中的常量
6 E/ P5 a0 ~& C- g2 g' k1 O52.花指令剔除思路
1 m' w6 g! D3 C- T53.字符串花指令的剔除
: V w$ g9 b% r8 L9 V54.函数花指令的剔除
5 i7 R: f5 b4 c2 R4 ?55.还原流程平坦化. o2 ]' _0 c3 ?2 ?% Y' i# [& v y
( W$ ~& e" X- o0 z1 g
|
|