|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
* t4 u" V0 G$ q# r# ]0 f课程内容:
: }' ]9 e1 S1 E, E/ x* ^: E( U00.课程介绍- o; a& B; m w M6 @: e# B! V
01.环境配置' i o2 D! m9 i: q0 O/ z
02.对象属性的访问方式4 t4 _ K! C4 K/ l
04.unicode字符串
, Y/ c2 Y# y6 m3 A( o$ C P0 Q05.字符串ASCII码混淆
! X P8 t3 `2 x, t06.字符串常量加密; E, Z2 N# e/ u- j6 \# ]- |$ D% H
07.数值常量加密5 v3 n. h4 C" u$ ^. X# U8 M
08.数组混淆# _/ E- I o4 s4 ?0 z
09.数组乱序
. |2 C+ @& d( l( l10.增加JS逆向工作量(花指令)
' H6 w: X1 g& z1 Q3 v3 B/ s11.jsfuck
1 [3 m% w: P0 K8 P. e/ T1 D6 |% v4 m12.流程平坦化
" u% K6 | R. i" p* r13.逗号表达式混淆1$ Q) p* ^& k, w9 o- b: y& c. V6 R
14.逗号表达式混淆2
1 V' ~: ~5 B# c; z15.eval加密
) D6 K3 k3 D! }8 l* U$ m3 h16.内存爆破& x8 y+ s6 W& h& Y+ Y8 _
17.检测代码是否格式化
/ ?7 Q3 z$ T1 h9 C$ e. O18.AST的基本结构0 |) y/ o, O: S2 G- X
19.代码的基本结构! E+ }5 V$ E) u+ v1 w1 Y4 z
20.parser与generator
2 g+ W3 G! m' S( C& K' I4 f2 m% Q21.traverse与visitor4 E2 Q$ J3 G3 L4 R j
22.types# S- J! F& d5 m' A' K2 o% X7 Q
23.Path对象详解(Path与Node的区别)/ k$ s# D' |0 ]
24.Path对象详解(Path中的方法)
, P" M5 D2 Y" u s8 l; G5 g4 Y25.Path对象详解(父级Path)( B& k/ K) E6 F
26.Path对象详解(同级Path)
5 b. B- f1 U' R( D R27.scope详解(作用域)
" ` \$ U7 p. B/ `% W4 w* Q3 D28.scope详解(Binding)
6 H6 h, u4 y# w$ X29.scope详解(referencePaths与constantViolations)0 [' B1 g h- y( {+ }+ K* L
3.十六进制字符串# h+ |/ I. F" x" G9 E9 R) Z
30.scope详解(遍历作用域)
/ h) J; \# m& A- k1 Y' L31.scope详解(标识符重命名)
- R$ i! _, V2 s32.scope详解(scope的其他方法), S7 q3 e2 ~$ F1 t3 J8 y
33.改变对象属性的访问方式' ^' }8 D/ U* G% S [
34.JS标准内置对象的处理
; O5 v* B8 }" S2 O35.实现数值常量加密
- A6 [5 V$ \3 K9 M Z; N+ m36.实现字符串常量加密
5 \ l0 a& P, k' \" M, d. w37.实现数组混淆
2 H* g; f* Y! W4 X$ K# y* [0 P: N38.实现数组乱序
6 d4 A( h, ?. Q z+ b9 t39.实现十六进制与unicode字符串! p/ v* y# a6 i6 j
40.实现标识符混淆
0 C2 _5 O) ~6 t1 K p9 B41.标识符的随机生成4 u5 Q9 Q2 `( ?: A& i% L
42.二项式转函数花指令/ R# b4 T4 \# V5 l0 e
43.代码的逐行加密
2 X0 E/ H1 l$ e44.代码的逐行ASCII码混淆
5 I5 B k; c) d$ b- K d. P5 i45.完整的代码与处理后的效果" N* Z6 ?/ \7 u+ w! U0 K
46.实现流程平坦化混淆14 I5 \1 ^4 _. G
47.实现流程平坦化混淆2
2 p- h% }- Z+ ]# C9 k48.实现逗号表达式混淆1
$ z% N- f2 n% [7 L; h, D49.实现逗号表达式混淆2
5 z. z* R% y% N/ J; z0 R50.分析网站使用的混淆手段
$ A q2 y( ^; T- \" @& [51.还原代码中的常量
% T- v6 e' {( s' n/ y52.花指令剔除思路
. I" G. m: b, b' J" Z1 B. } b2 u5 p53.字符串花指令的剔除
+ S" H4 q' r6 Q) x) w54.函数花指令的剔除
$ m1 o1 X" M( I/ f) d) H$ m9 j55.还原流程平坦化
: K$ p1 n% \3 ]' _" @8 u1 `
* ~, m- p8 ]. A+ P( v( n
|
|