|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
; {" k, w d5 Y5 S+ g, S课程内容:. i! T, D, U% e; J
00.课程介绍# G( Y% F p5 r% \+ C( i( S% Y8 { q
01.环境配置
$ F1 |" `& X; p/ X: ]02.对象属性的访问方式: H3 L( T# \2 S" h0 p
04.unicode字符串
5 n& D& a7 e, T: n& V. g05.字符串ASCII码混淆
3 C; g0 W/ o6 k8 N06.字符串常量加密4 w: H/ O7 z) u, Z7 Z o9 P6 O' z" x
07.数值常量加密8 X0 W3 Z# I* d& u
08.数组混淆1 B! h& a8 x& t3 {3 C) |3 N8 t$ S, s
09.数组乱序
; U& d/ C0 z% K: }10.增加JS逆向工作量(花指令)( [0 z" k1 I$ W/ P" F
11.jsfuck
0 b& C( E# [4 b1 J12.流程平坦化8 |& y* i- ]4 h, P! o& ]* C
13.逗号表达式混淆19 d- r# x& o! M- i/ c+ S7 I: [# h
14.逗号表达式混淆2
1 e, B2 c! }5 D( ^& N15.eval加密
3 E) F3 E% ~: g2 u16.内存爆破; K" r. g5 B0 q' ]8 K! Y6 ~
17.检测代码是否格式化- G8 S+ l, j ~. }
18.AST的基本结构! `3 o& W: y* v1 I4 Y7 U& F* k; T
19.代码的基本结构; A, z7 }3 ]' ]0 Z2 U9 G+ i& I+ J8 V. a
20.parser与generator
% E9 g" E2 j( H6 R21.traverse与visitor
3 N$ t: {( S9 q+ A4 p* ^' @22.types
j( a$ A3 O) w5 i1 z6 ]8 Z( P2 R23.Path对象详解(Path与Node的区别)) {& Y! `: p, K" C
24.Path对象详解(Path中的方法)9 i. V \& e9 N+ K
25.Path对象详解(父级Path)
% b1 O. k+ c5 N1 b26.Path对象详解(同级Path), k; B. r& V$ @; }. X
27.scope详解(作用域)2 g) n0 e/ m: k
28.scope详解(Binding)5 V" x, N3 r, c& f
29.scope详解(referencePaths与constantViolations)1 B; P% E L3 n" Y) J v4 g
3.十六进制字符串% e) ]3 T: W! Y
30.scope详解(遍历作用域)
6 M! r( u& V+ G1 M. v31.scope详解(标识符重命名)+ C, @$ {$ j- V2 C D* X
32.scope详解(scope的其他方法)
- m8 `. `5 p8 z0 C+ Y33.改变对象属性的访问方式1 X+ E% C9 Y3 p9 X
34.JS标准内置对象的处理
6 D+ F# u/ R5 m h3 a5 N35.实现数值常量加密9 w2 j. i/ m; `8 o' p2 P
36.实现字符串常量加密6 G# D' I) @( u3 _8 L& }8 W
37.实现数组混淆9 g& t$ o" W1 [6 e7 N
38.实现数组乱序
) i3 Y' M5 k) f39.实现十六进制与unicode字符串0 D' I5 S) `) l7 Q
40.实现标识符混淆" b4 [9 A& Q5 `6 n- L8 g& u5 g
41.标识符的随机生成: k' n+ R9 w$ k( p: X
42.二项式转函数花指令0 j' F; b( X7 E3 J) G5 E' X$ D; I3 U
43.代码的逐行加密7 D; Z- R- b, f
44.代码的逐行ASCII码混淆
9 h! H) v$ a0 _: o( F5 _45.完整的代码与处理后的效果' W0 }1 }1 D8 j$ g
46.实现流程平坦化混淆15 z# `8 P: Q0 I
47.实现流程平坦化混淆25 F, @( {9 v: ~+ v, t8 w3 d
48.实现逗号表达式混淆1
9 s a5 ]0 _5 {" v49.实现逗号表达式混淆2# f4 D- A. _7 B+ O* a
50.分析网站使用的混淆手段
/ G" ~ H) t, i9 s- Q51.还原代码中的常量
; @8 ?1 ~! |8 g: g52.花指令剔除思路, B3 U. ^! F7 k
53.字符串花指令的剔除
/ A1 x" h4 O; l- k$ E* v/ V8 O, F54.函数花指令的剔除4 @8 \) M5 v# N9 f
55.还原流程平坦化
; t/ e# Q' b7 g, r2 a7 \ + |- U N8 Q! K6 V/ L C1 r
|
|