|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。4 d$ i: x0 _; L! e2 J3 N- ]% E
课程内容:
. d6 X5 V; U5 n" ]0 s9 F$ D; z# U00.课程介绍
' }* E, W- p; Y9 }5 b; b01.环境配置. s( r0 m3 a$ [7 a8 y( S- p( y" n# d
02.对象属性的访问方式
5 }# g: }* J# `04.unicode字符串" d+ I h7 k5 d( L
05.字符串ASCII码混淆4 \4 v! }5 |$ C- {0 U6 t
06.字符串常量加密! v% Z1 r( P; u( M* O& b
07.数值常量加密. N) A Z. l& Q: |9 E5 h! U; f
08.数组混淆
4 h3 t( V5 Z i09.数组乱序+ b: v9 w9 X4 u2 V) e5 U
10.增加JS逆向工作量(花指令)- Q6 t) |" A: E7 r$ l) e
11.jsfuck
/ F& C- w1 x2 f, s9 R5 {# x0 s6 C12.流程平坦化# q1 x# a0 h) B( x5 r
13.逗号表达式混淆1" M: O7 H) \1 S6 Y- l4 ~* g( b
14.逗号表达式混淆2
0 G- A" w* X" i0 `! X15.eval加密
" m% \4 p$ S+ r. e6 G. Q) L16.内存爆破, x2 I' ^8 G4 @) X# }
17.检测代码是否格式化
2 r, K6 T, c' E1 F7 @0 @18.AST的基本结构7 E- W! @- g8 F1 i" q
19.代码的基本结构! U+ m5 D3 f6 k8 f1 E$ Q* h! \+ @
20.parser与generator; _: f/ b- {: C% e. B# B
21.traverse与visitor
0 }. C* M7 m6 I6 J22.types2 @/ @/ A! ^! M' J
23.Path对象详解(Path与Node的区别)
" |+ M/ p9 X" u; @24.Path对象详解(Path中的方法)
9 ?4 [& [) @; l, B, g7 l+ U25.Path对象详解(父级Path), Y# K5 D' S( f' ^. Q" V9 B
26.Path对象详解(同级Path) d9 `# b) N- Y& B( k+ _" g
27.scope详解(作用域)
6 W+ k/ }) I' ^! j: ~28.scope详解(Binding), s9 O9 z. k& v6 y! ~4 M: G
29.scope详解(referencePaths与constantViolations)
( ~' y7 x0 x3 ?- K+ V/ }5 T3.十六进制字符串
2 G; F. W7 g' u* H2 M* Z& U8 P4 Z( o30.scope详解(遍历作用域)( t1 o/ @# O: `5 _; j, M
31.scope详解(标识符重命名)
: Q& E% L2 b" l: k/ `! f' Z32.scope详解(scope的其他方法)- Y. B1 O7 S# x: ^
33.改变对象属性的访问方式
$ z' U* E$ C f# ?. a34.JS标准内置对象的处理- q' Z/ d+ M* {" q$ c
35.实现数值常量加密! G! ~+ K m2 n% G$ p' H: {) v
36.实现字符串常量加密
& {! \' J8 ]$ h$ _, l37.实现数组混淆& P B7 ?: G( B( M8 F( O
38.实现数组乱序" m7 f, j. ?' S
39.实现十六进制与unicode字符串. c; |# Y5 }& J/ d6 Q
40.实现标识符混淆, o9 G1 u8 B; i9 @$ g' G
41.标识符的随机生成; W8 r* Y9 ?: H. O
42.二项式转函数花指令
9 b* {& r U" o. _43.代码的逐行加密( z; b- c, ?2 h- n- p
44.代码的逐行ASCII码混淆! v6 r. P X- ~
45.完整的代码与处理后的效果
3 z$ x. G/ I4 Q: b; L46.实现流程平坦化混淆1
1 Z' ~9 A3 Q% Q$ h* ?' y4 m47.实现流程平坦化混淆2
' H- Y3 g: n4 Q8 Q- H: N48.实现逗号表达式混淆1 |+ \$ [7 c! v
49.实现逗号表达式混淆2
1 G! W+ f7 K" p6 ^$ J( z) f q50.分析网站使用的混淆手段9 A; s* C0 e5 u1 ]7 q7 g
51.还原代码中的常量3 k" {; G% R/ f! }2 u: f; `
52.花指令剔除思路
/ r+ K' _/ `6 D9 J8 r3 I53.字符串花指令的剔除
3 T5 F5 `2 r5 a54.函数花指令的剔除
8 j$ x. G4 w) F# S- {55.还原流程平坦化
; v: {* F' K H
& u- y9 F0 i& ~! ~! ?% S
|
|