|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。! t1 T" s' Z0 A3 y
课程内容:/ m7 m& S2 D% U# U
00.课程介绍8 ~: }4 d+ ` J, p; X
01.环境配置+ A) F- K, c) {
02.对象属性的访问方式8 R; ~2 v: j- ^! i; g* w( R; W
04.unicode字符串
2 v3 d2 M' [2 c5 r7 W1 H5 w05.字符串ASCII码混淆
1 Y! R1 x }; s, J$ w! F06.字符串常量加密8 o6 M x* ?# }- i2 U
07.数值常量加密
2 ]1 e' s: x3 C- F) S08.数组混淆5 `, q0 y M# D
09.数组乱序
: o. U: j9 n: n8 q: \0 h5 Y10.增加JS逆向工作量(花指令)! o7 A- U) C) r0 A- a+ W
11.jsfuck
# U3 J3 M; E; A; S/ U6 k8 f, p: ~0 m12.流程平坦化
6 J, f; h% b& [13.逗号表达式混淆1
* N3 X \! \# j% A- _! Y14.逗号表达式混淆2- E0 {6 H/ V$ y+ I, h D& ?0 g
15.eval加密8 [) w1 @+ J8 }/ V% P M/ |
16.内存爆破
D: B9 r2 m/ Y% \0 m: O17.检测代码是否格式化
/ l" a l: b& U; z7 }18.AST的基本结构
7 a6 P; K+ B4 m5 I; e19.代码的基本结构. u7 W$ n2 F7 Q1 _ O& ?
20.parser与generator/ l3 d* C! e9 Z* j% L6 a) }
21.traverse与visitor
' L$ Y: h& G+ a22.types
X$ N/ L* K/ l2 U; O1 [7 @23.Path对象详解(Path与Node的区别)
4 q# L: X5 U7 b: E7 F24.Path对象详解(Path中的方法). c& W2 D3 o$ i5 \! B
25.Path对象详解(父级Path)
- s: p- |) ?! M# Z26.Path对象详解(同级Path)
2 R* o2 m) M) w* w. r% d27.scope详解(作用域)# {& }. v$ K$ O; P, p; j
28.scope详解(Binding); Z4 f# _/ H% J ]$ I. q2 ^
29.scope详解(referencePaths与constantViolations)* a* W2 Q" Q0 _3 i2 y
3.十六进制字符串3 x' }; ? `- O W' A% J
30.scope详解(遍历作用域)
1 C' e) [( m2 G8 I' t) s31.scope详解(标识符重命名)% O1 e/ b6 d4 ?! Y$ l
32.scope详解(scope的其他方法)
9 f8 z: ?1 f0 i" q33.改变对象属性的访问方式
0 {$ }9 s0 t* V9 P2 z6 P" w34.JS标准内置对象的处理
. Y7 A( g$ x- {1 @5 X7 l1 E35.实现数值常量加密
9 |; J0 q8 g& x, l2 N1 _36.实现字符串常量加密/ A( D' m3 @$ \. ^' P0 a
37.实现数组混淆
' N; `7 q" {3 q) U38.实现数组乱序& ]- N4 t) x3 g- R D$ y
39.实现十六进制与unicode字符串
0 l$ [; D+ g* u. H3 i40.实现标识符混淆7 j* ~7 ], \/ s j7 }0 s* a q) x
41.标识符的随机生成7 ]9 p2 }" @ a( K' ^
42.二项式转函数花指令 m8 R+ h$ a1 e1 ?. V
43.代码的逐行加密! @# z5 s. E M9 Y7 ?/ N5 k
44.代码的逐行ASCII码混淆
3 f. ? ?; H6 p$ o- c: A45.完整的代码与处理后的效果
4 J7 s. k/ }& t3 c: u s0 j# t46.实现流程平坦化混淆1* M3 d( N) ?6 q6 T7 U
47.实现流程平坦化混淆2
* u* u) ~, I" _9 S' t48.实现逗号表达式混淆1
# i+ h, i# I: r' G0 W: h# c5 Z49.实现逗号表达式混淆2 ? {* a: U& u9 Z! n; v
50.分析网站使用的混淆手段# o/ u7 o6 V5 F
51.还原代码中的常量
. T" ^$ s5 _' t& o9 U52.花指令剔除思路7 l0 b1 v8 C+ E$ ~9 y- c
53.字符串花指令的剔除
; a' R6 u+ }0 A! O, b" Z8 w9 O( P) {54.函数花指令的剔除7 E& R$ h. Z |8 G
55.还原流程平坦化
; c8 r5 {+ u- e4 U2 f 0 q+ h: C( F7 Q
|
|