|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
! A$ ?: Y# l, d6 |# j3 V2 a课程内容:( v1 y3 d9 k9 W
00.课程介绍- d8 Y. I/ |' { X
01.环境配置1 y0 o% h! }3 B- A
02.对象属性的访问方式
9 G; Q7 |: n0 _$ |3 s" ], T" S, V04.unicode字符串
4 E- r3 g" V. q& j. a+ V% l05.字符串ASCII码混淆3 u" C5 D" X) L9 i! U" F3 H( _. ?) X
06.字符串常量加密: \* W8 x7 a! _# s
07.数值常量加密
4 \% I# t* R5 o+ E6 d08.数组混淆( g6 e+ `4 x# c) x- k
09.数组乱序
0 G, u; S9 w( T' d10.增加JS逆向工作量(花指令)+ o4 h# s R3 i( y9 v8 {/ v- {6 o
11.jsfuck
( r) M8 u* n) r3 [# s$ I) S12.流程平坦化8 Y$ O1 w4 C* ~3 B7 |
13.逗号表达式混淆1# x# ^5 f. N+ L' U; ^
14.逗号表达式混淆2
3 i3 x3 |& c, p4 j) E5 W15.eval加密# L5 n+ C0 ~1 v2 D
16.内存爆破! K! G3 Z. L# |1 _/ T0 G
17.检测代码是否格式化- y0 _* q1 N# [% `7 B0 F
18.AST的基本结构1 U7 m/ K# m) G
19.代码的基本结构
0 D* e, ^4 v# @- X! G6 G8 y20.parser与generator2 j$ P8 A9 |; X! i
21.traverse与visitor. o: [0 y* G, D! l( b
22.types1 {7 O! c: d7 ~' K) ?6 H8 o
23.Path对象详解(Path与Node的区别) w5 B8 c* [) K5 P) y
24.Path对象详解(Path中的方法)8 N7 w) U) j" m% w7 l
25.Path对象详解(父级Path)
) g, i2 u) g) A7 R26.Path对象详解(同级Path)# P& c$ |/ U/ u; K. o3 p' g
27.scope详解(作用域)
$ [+ o9 k8 D8 D; z6 z28.scope详解(Binding)
" m: ~2 e3 m) D( U" l4 {% h29.scope详解(referencePaths与constantViolations)
0 V* }9 z: T: u$ S3.十六进制字符串
q6 B+ O0 p2 l30.scope详解(遍历作用域)( ?7 e' Z- {' W" `; Q5 {4 v, @$ \
31.scope详解(标识符重命名)
; O0 v0 K [2 c& B) p' m/ I7 Y: I32.scope详解(scope的其他方法)
) ]0 }5 M! `+ E# l33.改变对象属性的访问方式
" J# d* X% a5 T7 a/ v) V34.JS标准内置对象的处理
8 |$ [/ V9 B( b$ c35.实现数值常量加密
' c4 P! }) T+ d. i/ a36.实现字符串常量加密! A8 K4 w+ E0 y5 D; e+ {
37.实现数组混淆 Q z* M' \6 f
38.实现数组乱序
: F6 D; z2 u& T2 t; S6 s39.实现十六进制与unicode字符串
! F+ |) s# {/ t3 {6 U, e+ |$ Z40.实现标识符混淆
) s- \; \, K& r; R2 L) n41.标识符的随机生成) u7 A4 L# |, ^- R7 w# F z
42.二项式转函数花指令* q3 j @" d/ c5 t4 S8 D+ C( g
43.代码的逐行加密
& Y5 s4 z/ g( }/ h7 r( g44.代码的逐行ASCII码混淆1 ~ K8 l) ^* k% p+ J! d3 H8 f
45.完整的代码与处理后的效果
/ h8 E, N6 _0 Q% e46.实现流程平坦化混淆1
; |1 P1 G( p S$ n# w, t5 p5 n47.实现流程平坦化混淆2
3 u ^* X6 o4 F& m48.实现逗号表达式混淆1
; \3 e* f4 ~" A' S, L- {8 r4 M# a1 U49.实现逗号表达式混淆21 X; x) F( f& W R) A8 h* Z
50.分析网站使用的混淆手段3 q1 z, G3 v0 W- F% |0 W
51.还原代码中的常量1 |. H, X& a, B5 L/ a
52.花指令剔除思路! y) ]3 {; _" \* f
53.字符串花指令的剔除4 O# a$ f3 D9 _2 W% ?* z# N
54.函数花指令的剔除0 I: l* o! o- n/ M8 w
55.还原流程平坦化
) z- y+ N. \* |( }5 G
- B9 I7 U& q% ], ^; |4 c
|
|