|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。4 o9 k( g" v0 b* x7 ?9 N
课程内容:
" B) W6 s7 e9 v3 D8 @. a00.课程介绍
7 \' T! b) x) m9 @* V: F01.环境配置1 a& G0 k2 F2 X- N: D" E! @' D
02.对象属性的访问方式
; r: Y4 N- G( _. A* k: H2 }' Z04.unicode字符串
9 t# V9 P- D2 m; L% |. J- C05.字符串ASCII码混淆7 [1 p* ~; c/ p9 ^, k+ ]
06.字符串常量加密6 j! e, a" u; o* `
07.数值常量加密
+ ?% E8 {2 e3 s0 A% h( U' Z7 ?08.数组混淆( R5 T E; L0 E) @' ~0 g
09.数组乱序
6 S( U3 O* L" f7 J10.增加JS逆向工作量(花指令)
' f$ S/ s% Y/ Q! F( j- n11.jsfuck
$ y5 p( |; ]5 ] p8 ^12.流程平坦化
3 f+ G4 T. A7 N* l7 {. A, [8 q13.逗号表达式混淆1
7 P" D* n4 x9 B8 B14.逗号表达式混淆2
' F) g3 j% [- }% B6 f8 |3 U1 p15.eval加密
3 y1 _' Y- l0 K2 K& ^2 V k16.内存爆破8 x# ?! `& x9 K2 s, K
17.检测代码是否格式化; J% s$ _) y! _. `# E9 D z
18.AST的基本结构
( I) B% \1 j2 T J. H19.代码的基本结构
$ L; u* b0 g! ]20.parser与generator
8 J5 `5 Q7 E# ]# r; P21.traverse与visitor! N4 P& c ^8 B
22.types4 ]1 X& `& W/ S' |
23.Path对象详解(Path与Node的区别)
, T" _8 `" t5 _+ P24.Path对象详解(Path中的方法)5 S: |4 {3 q6 r0 R1 X( z
25.Path对象详解(父级Path)! {# s* J. G, p% N' o
26.Path对象详解(同级Path)- M1 O, z7 F) ~+ m7 s% i( M
27.scope详解(作用域)
k- n3 w, M- h. `$ O( h$ Y28.scope详解(Binding)7 D) A. B/ K0 ?+ D; |) M
29.scope详解(referencePaths与constantViolations)- ]' A( Y# V T0 f+ h
3.十六进制字符串5 I, n0 Q& h, k. M
30.scope详解(遍历作用域)
9 e+ v0 ]9 G: {5 x31.scope详解(标识符重命名), k/ J1 a' A3 C9 h, x; J1 e' ~
32.scope详解(scope的其他方法)+ ~+ y" |; x! R
33.改变对象属性的访问方式
8 M/ V% x( ~1 P0 o8 ]/ q34.JS标准内置对象的处理! G/ `2 O/ l3 X9 ]5 X& p- {
35.实现数值常量加密7 K, X; W# J4 W* U3 Y
36.实现字符串常量加密' q0 A% S6 h; d9 j& D
37.实现数组混淆
# \4 p1 f; B( h) t+ j: O5 T% \38.实现数组乱序2 a3 d8 }1 x# Z m1 q$ k" Y" q7 G
39.实现十六进制与unicode字符串- N, I' y7 E3 ^5 D1 O% C
40.实现标识符混淆" S7 v3 }4 T8 i0 }1 ^" q% C
41.标识符的随机生成
( T5 l/ @. O& z& {42.二项式转函数花指令& R& w9 T0 S* D2 X2 U
43.代码的逐行加密* b) `7 @" G3 J( R- }
44.代码的逐行ASCII码混淆
: j; G! c0 d# Y; N0 o45.完整的代码与处理后的效果( X R; Y! ?8 Z
46.实现流程平坦化混淆1& z( ~: t- f" V- B. S, i
47.实现流程平坦化混淆2
4 Z9 i9 b3 o9 M& i6 o9 a48.实现逗号表达式混淆1
5 R8 |0 u8 {0 r0 ]$ \- n8 S! e" n9 U49.实现逗号表达式混淆2) j M- c! ?) o+ m8 |
50.分析网站使用的混淆手段3 A: J; O1 d9 @# w1 y
51.还原代码中的常量5 f$ ]5 b, ~" j# ^1 N% h3 F( z0 O
52.花指令剔除思路: J N6 {* n' s4 P0 x
53.字符串花指令的剔除. ?& w S9 |4 ]& D8 W
54.函数花指令的剔除/ S& P8 G$ Z6 f; W
55.还原流程平坦化5 s: `; S. |7 @9 P7 h
. c: ?; F; y" A5 H) U: ?0 G7 s* b6 x
|
|