|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
- R# ^% ]1 }- d* Y' D o2 t( a. G; P课程内容:
3 ^! M' U. U! E0 }% u! i00.课程介绍
; e, {8 s1 P7 K" I01.环境配置; `: S; Q; J9 t; i
02.对象属性的访问方式
]' | d4 d- n% R: H' w# j04.unicode字符串
+ i4 j) ]9 e3 m9 o' K4 J05.字符串ASCII码混淆4 t2 d! R$ E! j' U6 O6 K
06.字符串常量加密1 r s+ t& C. S( M' @
07.数值常量加密
0 H1 j0 }+ _# F/ U" S08.数组混淆
! h2 u* V) K, j; d r09.数组乱序0 ], D9 J3 D3 n
10.增加JS逆向工作量(花指令)
* y$ p) x: @ p: O# I* Q1 Q11.jsfuck
; j) X' a3 Z1 w( d12.流程平坦化
M3 L$ F2 O1 g+ o% A; ~13.逗号表达式混淆1
: q S9 P9 x4 H( K' G" a* _4 t u14.逗号表达式混淆2, D+ P, {5 o7 m* G
15.eval加密) Q6 N( u- J/ @& y2 d" \. X7 V( Q
16.内存爆破
. ~ l$ I, g+ C( g17.检测代码是否格式化
6 G! n5 \; O7 g4 P* a% a18.AST的基本结构. q. w0 ^7 M [' e Z) |
19.代码的基本结构
6 T/ ], H/ q: n) W* u9 Z20.parser与generator
* L& o% \) i( w6 l4 e21.traverse与visitor# C3 e$ R% ^+ k
22.types
% |" u: r5 `9 y' t# z23.Path对象详解(Path与Node的区别)
- v) R7 H2 L4 h5 ^4 T0 F3 S. j24.Path对象详解(Path中的方法)* Q& p$ ?8 d: H( G
25.Path对象详解(父级Path)
: N, _7 d9 r( G) V( K0 w26.Path对象详解(同级Path)7 ], P9 `" H+ m( ^' w* W
27.scope详解(作用域)
. D1 c- {9 b( c P4 F0 t4 o+ q3 k% J, u; ^28.scope详解(Binding)" \2 z* P2 V' _$ C( f
29.scope详解(referencePaths与constantViolations)9 C. j, U+ ]& O. |7 i! ?
3.十六进制字符串
* C1 w/ N& ^8 i% T: _30.scope详解(遍历作用域)& k# Q5 N0 K* g, _- I7 L4 c( t; y
31.scope详解(标识符重命名)5 a. _! Q/ i" n0 x( h) M; L7 S0 L; `7 f
32.scope详解(scope的其他方法)
0 V L, x! j" z) j33.改变对象属性的访问方式* y1 ?) m6 |. l$ k
34.JS标准内置对象的处理
9 L5 B7 }3 w3 k* m9 j2 }: X$ E35.实现数值常量加密
% Y! G7 w, S% H' ?6 y4 H36.实现字符串常量加密% h3 A3 l/ E6 }% I$ P! k4 q& E
37.实现数组混淆
' _9 @7 P5 O- h7 s( H7 t38.实现数组乱序( O+ [, M% W4 o
39.实现十六进制与unicode字符串
+ m" b2 b: a+ [1 N2 J! C40.实现标识符混淆
& U: `8 V& k. Q8 P/ N. V) t$ j41.标识符的随机生成/ P% o9 p/ t! }6 P! Y6 {: q
42.二项式转函数花指令4 i) U2 |- v1 p# O
43.代码的逐行加密/ q+ g: }+ n/ o$ D, w# |' r
44.代码的逐行ASCII码混淆
1 g0 M6 m5 n5 A2 r9 N' }3 R$ I& T45.完整的代码与处理后的效果7 Y$ p/ A' `4 A) ]
46.实现流程平坦化混淆1. ~5 v2 Q$ B( |+ G) e$ i9 |# K
47.实现流程平坦化混淆2
* d) ~6 z# L# D& x48.实现逗号表达式混淆13 j" x/ u* S8 Y- Y
49.实现逗号表达式混淆2
* G* k k% I# b8 J5 J a6 o50.分析网站使用的混淆手段
$ Q+ R/ T! B/ }& T51.还原代码中的常量
; X1 z3 {* E u! D/ k7 Y52.花指令剔除思路
8 `( f, e% z3 E6 Y' O53.字符串花指令的剔除6 ^8 ^2 _: H9 J& Y2 X7 I5 B
54.函数花指令的剔除9 ^) F$ ?; p3 |* F6 J
55.还原流程平坦化4 F) D1 s- [( Y
6 J9 Z" T: ^+ X# N( X3 O
|
|