|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。$ B8 V; ^8 Q l- W+ |/ V/ r s- }: G
课程内容:$ V$ |8 @1 }+ e
00.课程介绍9 z3 X$ M' J9 j' [ f# ~
01.环境配置
5 N0 T$ m, B2 r# r+ U1 d8 L3 T02.对象属性的访问方式5 g. V4 t, m; d- a
04.unicode字符串6 D& R* \9 H" K) L7 ?. B
05.字符串ASCII码混淆% a% l- k9 B; K0 {1 x2 K
06.字符串常量加密
! a0 m$ g( h# w8 J9 g+ f+ I0 C& M07.数值常量加密
6 y* ~ ^: T* H9 `7 l08.数组混淆
+ M7 y1 ^2 c" ]+ v& H" D09.数组乱序0 L N' `5 _6 m8 Q, Q
10.增加JS逆向工作量(花指令)
; T) \/ Z; V% U) G11.jsfuck
, ?' \7 `: M& i0 h5 s4 G12.流程平坦化- }1 S4 s) S; P. |
13.逗号表达式混淆1
* ?7 v5 K" B) y1 N$ a14.逗号表达式混淆27 C* s H. @' d5 S: ^: Z
15.eval加密9 \" R5 K& ]% C8 E* U- k; ~2 ?1 j4 l
16.内存爆破
' r0 h; E) G6 h; u5 k0 X# p) T! O17.检测代码是否格式化6 \; r/ F" r& i
18.AST的基本结构
4 J) V' q r6 s) O19.代码的基本结构3 B7 r+ V6 `; B0 p r5 N1 |
20.parser与generator. {) t" o, a. h+ f9 W
21.traverse与visitor
3 q! b x2 S# U2 W; R. X22.types) p$ r5 s7 Z' O. U
23.Path对象详解(Path与Node的区别)' p! K# i0 s( m
24.Path对象详解(Path中的方法)$ r; Z& \$ ?" o; c
25.Path对象详解(父级Path)
% f/ c& `6 D7 R; T h26.Path对象详解(同级Path)
3 Q, Z3 `# {+ `0 D: i$ t3 P27.scope详解(作用域)/ c, Z& f4 H9 W% u3 M' R6 a; o
28.scope详解(Binding)* _) s3 r( D5 W6 [9 t
29.scope详解(referencePaths与constantViolations)
) J' S" g5 a) h3 F- C5 y0 z3.十六进制字符串
S4 D( w2 S0 F30.scope详解(遍历作用域)! _* Z' ^6 d. M( K; B' U
31.scope详解(标识符重命名)) ]# }/ k3 n8 w3 q) z
32.scope详解(scope的其他方法)
; E9 u1 ^ `! j1 t7 I/ o' o33.改变对象属性的访问方式
7 i* W: X/ M& J% G( }4 o% d34.JS标准内置对象的处理# N) U4 v8 \6 V% D, z, }
35.实现数值常量加密
: G4 h, }: K; s: J1 x36.实现字符串常量加密
1 ?8 O4 O$ y5 w7 ~; T37.实现数组混淆' v7 X4 d& f, A8 C* W9 |
38.实现数组乱序 ~5 U5 ]* l' V4 v9 v+ Q; A
39.实现十六进制与unicode字符串 L: m" R% i* U+ M. @5 @
40.实现标识符混淆* P9 o) U) e+ p$ n
41.标识符的随机生成
# C8 }% W3 ?7 \# }, g42.二项式转函数花指令
4 o) _' x( D$ b43.代码的逐行加密
- a- [, I9 z, P44.代码的逐行ASCII码混淆
/ m" g% ^! u' c0 R& [7 p4 Y: [45.完整的代码与处理后的效果% @0 A2 G- d; p1 r- R
46.实现流程平坦化混淆1
6 I3 i/ T$ x$ G: E+ L, {47.实现流程平坦化混淆28 m5 F+ P' Z+ D2 i
48.实现逗号表达式混淆1
# m7 ?# q7 W3 `4 a% [1 U49.实现逗号表达式混淆22 v6 Y, |, @; b5 n
50.分析网站使用的混淆手段$ \# M$ [% L1 b5 J" [% T* \4 r/ M
51.还原代码中的常量' I; \, X/ B; K/ O4 M1 m: d8 c2 }
52.花指令剔除思路
% H5 I; j) M1 ~4 E' f) M3 H53.字符串花指令的剔除
1 [ J4 u) P+ N54.函数花指令的剔除& C0 _6 Q1 i' i& _. {: {
55.还原流程平坦化/ }8 R; [2 T. x" |" w
% p' M& Y0 ?4 o$ g7 N7 f
|
|