|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
& Z3 q; b$ L$ a! u8 P% f; n课程内容:
7 k V9 ?# M8 U* a00.课程介绍; z }1 k/ {1 a& }: V
01.环境配置$ ]" ^& w! b: V! r
02.对象属性的访问方式
3 {4 R$ g; I+ ~$ |% p' ^04.unicode字符串
; k3 J8 c( `# R: U/ X05.字符串ASCII码混淆
6 g$ o7 \) I% {% T" p+ b06.字符串常量加密
$ O6 u/ {, M3 ^/ k07.数值常量加密
! v5 J9 i9 t* Y2 T4 u$ g0 k08.数组混淆
. B3 K0 e2 n- o: d6 p f09.数组乱序9 b$ g- D4 W4 @: Y
10.增加JS逆向工作量(花指令)2 f' G6 S, e3 D
11.jsfuck
6 p% V; b4 `* g) m12.流程平坦化
3 P2 c9 U5 N; `3 z# Q) j) P# l13.逗号表达式混淆1) k9 Q, W* A4 B7 \3 W
14.逗号表达式混淆2
2 n+ U9 w9 o' q) v$ B15.eval加密
5 P1 N) H6 c. y7 v' P16.内存爆破/ I) v3 m* n l; H) K% p
17.检测代码是否格式化
' a3 G3 ~) b% l2 _2 m6 p18.AST的基本结构
7 j4 p2 N9 e9 i19.代码的基本结构
, b4 ~7 X9 X% \: B6 ]; u20.parser与generator: T. W% t: ^& K5 a% _, m
21.traverse与visitor6 e: E/ K( s) ~5 J
22.types
) {/ ?) p$ G2 c# O9 j5 a23.Path对象详解(Path与Node的区别)
) ~2 \. E, ?+ {/ \& d; q0 Q24.Path对象详解(Path中的方法), q7 q. x; I0 o: W. F2 k; c
25.Path对象详解(父级Path)0 V; O5 o+ u) @8 q( N
26.Path对象详解(同级Path)& `$ k5 a3 j: y* S. \
27.scope详解(作用域)& T) f9 F" w& u, O
28.scope详解(Binding)" r @8 \8 x" o0 G' W' X& u9 h
29.scope详解(referencePaths与constantViolations)& d. h3 {) ?" C
3.十六进制字符串9 m" {( g& q8 O$ L4 }2 K
30.scope详解(遍历作用域)7 H) L" K2 O$ d x8 N) C
31.scope详解(标识符重命名)
0 g. ]# s( v: c2 D0 Z0 _6 E i; o- E32.scope详解(scope的其他方法) j& g$ p: V9 i) s
33.改变对象属性的访问方式# f. Y* V& R( f
34.JS标准内置对象的处理
$ e$ x+ [. l1 @5 d35.实现数值常量加密
% [+ m+ y$ N: K* w# U3 K- Z36.实现字符串常量加密* H0 n7 F$ u) s
37.实现数组混淆
/ M7 @/ |1 c( R* I8 e6 N38.实现数组乱序, O7 L2 |- _1 f' C# C! z0 B
39.实现十六进制与unicode字符串
$ d+ e# U. n( A$ L* ?& A40.实现标识符混淆( R. u8 h( |* M% d
41.标识符的随机生成2 d& ~1 K( p# E* p
42.二项式转函数花指令1 p. A+ [2 Z s! h, D9 w$ i5 I
43.代码的逐行加密) ^/ i! W. F: n( c# i+ N' d
44.代码的逐行ASCII码混淆
" g: |& l x1 d) f$ f) `6 \% }45.完整的代码与处理后的效果
4 I4 ?; z3 w" y. F4 {46.实现流程平坦化混淆1
% f: w' v5 u- G* K2 P5 x5 L8 e* E47.实现流程平坦化混淆2
, N5 [# `7 `" k9 t% |5 ]. a48.实现逗号表达式混淆10 `# C2 O( |4 b# q4 T& s1 ~6 F
49.实现逗号表达式混淆2
1 j! S0 F& B9 F6 a, D50.分析网站使用的混淆手段
6 a# _( V- { B0 b$ K( [3 u% ]2 Q51.还原代码中的常量
/ D( [0 B8 j8 Z5 e0 l \52.花指令剔除思路% c7 V7 g! {' |% b
53.字符串花指令的剔除$ b7 o; N% s9 F f
54.函数花指令的剔除6 \: y5 \+ [1 g( W( W5 x' r
55.还原流程平坦化
3 H- O; r. U, t. }, @( k7 l' r ' r6 C; o n7 D. ]: B' X6 f; x
|
|