|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
/ T- |3 h. |( w4 A" L1 C4 Y& n7 G课程内容:
/ d+ ]" s, n7 X1 A1 W00.课程介绍
0 h' d3 Y- _6 W3 h2 L01.环境配置
- X4 f2 N9 Z% U7 f" n02.对象属性的访问方式
& G u \$ ~6 N( e0 o04.unicode字符串7 [5 }8 u. {" ^) B
05.字符串ASCII码混淆
% P8 B9 R' N: c0 \4 I( r06.字符串常量加密
0 U/ _$ |) S* v' x' s+ [07.数值常量加密; j6 t5 K) f; Q3 F
08.数组混淆
# J/ R8 x U5 y& O09.数组乱序
5 t6 h: o' Q& @10.增加JS逆向工作量(花指令)
8 V; x( r$ A, Q11.jsfuck
$ o& S# L0 _% }- k( C+ a, C$ K1 G12.流程平坦化- v v3 l2 w+ `* b
13.逗号表达式混淆1+ i+ ?4 ~0 B5 ~
14.逗号表达式混淆2' I; e! s0 J# V" `: u: K7 e3 ^
15.eval加密# u1 f' o+ a/ H5 k2 \+ z4 z/ h
16.内存爆破
0 y8 y; D5 j V: v/ s; J17.检测代码是否格式化
. X& p2 U3 D0 _18.AST的基本结构
! K+ x+ m: x" }, ?8 m8 B- K19.代码的基本结构
# b6 l$ G( J: b2 ]! u& l- ]20.parser与generator# L W. P3 N9 }* Y. H
21.traverse与visitor- H4 E% Y$ U" O3 n7 X+ E# R
22.types* h; ?! d4 n2 W2 y9 O4 t
23.Path对象详解(Path与Node的区别)
( @; ]' y' f) z! j24.Path对象详解(Path中的方法)" N# v% C+ b3 J* Y! {- x
25.Path对象详解(父级Path)" r2 L2 b3 |+ ]
26.Path对象详解(同级Path)" Y6 b2 G6 m4 y4 {7 f9 S2 O
27.scope详解(作用域)3 {! R0 P* A- D- G, v) K( `
28.scope详解(Binding)+ ]" H! P) A7 X. L4 j: w
29.scope详解(referencePaths与constantViolations)7 x% w9 Y3 S8 W$ b1 h
3.十六进制字符串$ y+ P+ Y5 \6 T" n
30.scope详解(遍历作用域)
3 W* A7 h6 I) [% P* a1 O5 f; X0 M31.scope详解(标识符重命名), S2 `! s- w2 O/ w9 j
32.scope详解(scope的其他方法)& A$ ? l$ y# \/ R- A
33.改变对象属性的访问方式6 ]+ C1 [$ I8 O& |
34.JS标准内置对象的处理* U3 o% B# F$ ~) n( b; j; N5 K
35.实现数值常量加密
9 M( ^, j- B7 U3 K8 H36.实现字符串常量加密
9 e3 f p. v; I3 W k37.实现数组混淆) l1 `0 h' N6 L' c5 C
38.实现数组乱序; |8 `8 w$ R. G
39.实现十六进制与unicode字符串
6 V2 @. y& S' [, I5 f% m9 [0 L: k40.实现标识符混淆
$ C7 Z. O# E' Y41.标识符的随机生成
* N9 Z* x4 {! F. ?. P+ @) |42.二项式转函数花指令
2 y F9 l9 L4 z: ?( ^43.代码的逐行加密1 b, B4 h' B+ W- F/ J1 e
44.代码的逐行ASCII码混淆
: u. t: d1 d9 Y4 D7 Z9 v5 O45.完整的代码与处理后的效果* x- x( H; g! z0 j4 z, Q9 g
46.实现流程平坦化混淆1: J/ G: d- [4 c- D
47.实现流程平坦化混淆2
( ^, i* d. V% h48.实现逗号表达式混淆1
1 h7 B. \- q( a3 j& j3 O# ^49.实现逗号表达式混淆2; k+ M8 s9 M! \
50.分析网站使用的混淆手段" H; y0 k, }9 O. b! p2 F( d- k1 k
51.还原代码中的常量
* {. h0 a$ i3 B52.花指令剔除思路
+ V3 m, W; f M: ]- s7 W53.字符串花指令的剔除
+ U( e. |) u; R- `" o' e% z54.函数花指令的剔除
- m5 o2 A G+ _- @! n55.还原流程平坦化' z; a+ P6 _4 F" n! w; Q
5 H$ F( I* y5 B/ D! \0 Z( k
|
|