|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。- i2 U; ?) v3 V' B6 V
课程内容:
5 d" O0 Q5 e# _# Q& u5 ?: s3 u% K$ {00.课程介绍( M! v# _/ B/ i0 F! O
01.环境配置" U* K! l6 L" M# R) e$ g5 o% [
02.对象属性的访问方式" e- B e" ?. j. v
04.unicode字符串$ b4 z. x$ M' |, v/ m, }
05.字符串ASCII码混淆
* P6 {9 I0 h& ^ y9 l06.字符串常量加密# \5 y+ r, p0 a! G' k9 c+ C5 a
07.数值常量加密5 t) E; O1 F4 `
08.数组混淆
8 w: p# }; [8 r- e, O09.数组乱序
5 V% F4 b. T1 v& E0 R+ Y10.增加JS逆向工作量(花指令)1 r' q0 _3 Y- T
11.jsfuck$ }) a& g- f& n: e! l2 U
12.流程平坦化- g' H3 R5 X- M* ?+ S$ v
13.逗号表达式混淆1
: ~9 a! L) k0 l' z- _14.逗号表达式混淆2
% `+ b% C5 C0 x1 j: `. O15.eval加密$ p" g! V0 r! Q: c7 [: C
16.内存爆破& r6 @) u, Y2 `9 @1 ~/ {
17.检测代码是否格式化5 V) L1 w$ Y& Z0 l6 V
18.AST的基本结构
5 K+ G: {; h- m19.代码的基本结构
$ t5 U' S. y0 f+ b20.parser与generator' P: w& u& E6 k- d0 A$ K
21.traverse与visitor
r1 F7 w: J% @- U7 O4 b' T6 {22.types
' {$ [& Y- h8 ~* K9 c23.Path对象详解(Path与Node的区别)
/ v' [( I" i* A) [+ K; k/ X24.Path对象详解(Path中的方法)
% A3 R/ T; y$ W9 c0 z* R. U25.Path对象详解(父级Path)$ Q, p. N8 T `$ E. ^' X2 ^
26.Path对象详解(同级Path)
: _' q) I4 x" C. q: [( y27.scope详解(作用域)
0 c3 j( E: E: i1 D) t28.scope详解(Binding)0 H, h7 g1 i# s5 n u# o( ~
29.scope详解(referencePaths与constantViolations)
3 e/ [5 q0 R1 } T3.十六进制字符串
' _ g7 R( x3 m% g30.scope详解(遍历作用域)6 ^( {) U1 @, Y8 y5 [' `9 ~2 ?& V9 |+ K
31.scope详解(标识符重命名)
, M; b! R9 H4 K& k+ s, W2 Y32.scope详解(scope的其他方法)
, C# B, x! W! F. \. w33.改变对象属性的访问方式
. T0 X( F. q6 A9 h: @+ z. Y+ t* m34.JS标准内置对象的处理
. E6 }* p. Y$ T+ K, p3 W35.实现数值常量加密( x) L$ a7 s3 W3 N# |) R
36.实现字符串常量加密& N. y/ ~: j4 l0 p2 o
37.实现数组混淆
( `# U: j& }" |" G- y38.实现数组乱序( }5 q1 A5 r4 {# F2 }
39.实现十六进制与unicode字符串- F6 }+ e+ _) B2 |
40.实现标识符混淆
4 H- e3 L5 W/ p0 j: q41.标识符的随机生成
$ U6 n; x- S, d0 ~2 I% H42.二项式转函数花指令
/ ?# y" k. S" B+ M43.代码的逐行加密
- ?+ S$ O: d9 U) L* ]44.代码的逐行ASCII码混淆# g9 ^# y! Q* Z. q% Q4 I5 K! E
45.完整的代码与处理后的效果7 H0 j9 G4 O! Z
46.实现流程平坦化混淆1
. Z f0 p7 g6 ]47.实现流程平坦化混淆2
, R* k2 \# ?5 t' D/ y$ h6 Y48.实现逗号表达式混淆1% U. P) J9 w* \9 X1 X5 R
49.实现逗号表达式混淆2, U- O) X/ s5 L
50.分析网站使用的混淆手段& F% K$ _; ~& j# p4 Z) v6 Y
51.还原代码中的常量* G; t% ]' Q% z) N! n: F+ _
52.花指令剔除思路; k$ L" W: Y& K, s
53.字符串花指令的剔除
( u0 K7 ?' J/ d- A; l2 P54.函数花指令的剔除
# g+ l3 d9 L: z55.还原流程平坦化
8 R2 x) N' y2 A( i# i. z5 t 1 C$ R8 q9 _4 X7 _2 v6 f
|
|