|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
2 z( i6 u1 N7 P# g课程内容:
2 M5 p6 M1 K; V6 X1 d, @. r, F9 n00.课程介绍
1 }5 x: N1 D; I" a$ i01.环境配置( l5 |4 M: f) |, E0 q
02.对象属性的访问方式4 a! g; V) _$ K: ]2 a
04.unicode字符串0 w& ]9 |2 z E) F$ Z1 I U7 q
05.字符串ASCII码混淆. b6 o' D0 P- x% c' n3 ~) P
06.字符串常量加密
/ u* p0 i8 U5 }1 k07.数值常量加密
5 Z$ _2 d4 ~0 I: U: d/ U08.数组混淆
1 K7 u- b) D y7 o09.数组乱序1 E- R( o& s2 `# l" X2 x
10.增加JS逆向工作量(花指令)0 ^% V2 D6 }5 b* M8 S
11.jsfuck8 n! @8 V4 `4 l
12.流程平坦化
2 |$ @% x) g1 ?; T0 B13.逗号表达式混淆1; C: Q. P( c4 y; P% p7 l4 v
14.逗号表达式混淆2
4 U+ P, [ [+ c1 J3 W15.eval加密
5 Q( x/ ^+ u+ h: e; |; L* H16.内存爆破3 _1 |0 b; R! Q# G! w
17.检测代码是否格式化. H7 F2 t4 A8 t" v; s% V
18.AST的基本结构1 Q# L0 L; t2 C) D
19.代码的基本结构
, a, K$ o7 w+ A$ a+ @7 |20.parser与generator. C- j4 R$ Z9 E# s7 T: ?
21.traverse与visitor
' r+ `1 @! L* s p' p22.types( P5 l( L' a1 i
23.Path对象详解(Path与Node的区别), v) r( p1 y& B c5 l
24.Path对象详解(Path中的方法)" s" s7 D- W/ y& W+ U
25.Path对象详解(父级Path)3 H3 l2 ?2 p/ ^/ A# s
26.Path对象详解(同级Path)
" {/ n0 z2 b) U# p27.scope详解(作用域)2 ?* A$ p3 u) T3 v/ e; L
28.scope详解(Binding)6 n: N/ D1 L% r u: T
29.scope详解(referencePaths与constantViolations)
, S& c9 E4 Z8 L/ Q7 E4 p; l3.十六进制字符串$ l; R- S8 }2 k$ v. c1 C
30.scope详解(遍历作用域)" A" f r9 C9 u, C3 {/ v9 l
31.scope详解(标识符重命名)0 W$ a, K( G( ~0 {6 J+ x$ }
32.scope详解(scope的其他方法)0 x7 E% @/ ]* T* @* @& r) s$ i; F
33.改变对象属性的访问方式
. [# q5 R/ R" e. E/ S9 r34.JS标准内置对象的处理5 f* a; n) Y: V
35.实现数值常量加密8 p4 I2 ]# t8 B8 D" T7 p$ ~9 r
36.实现字符串常量加密' F7 ^+ ?9 p" b8 v' j' @, r x* G: V$ U x
37.实现数组混淆1 Y+ J h: {) N0 p
38.实现数组乱序+ B/ A% `9 E: K$ s0 x
39.实现十六进制与unicode字符串
8 P. j2 y ]5 d6 o$ c3 R40.实现标识符混淆
8 w2 @5 G! p6 s$ z3 _41.标识符的随机生成
) B# {9 X0 }- |42.二项式转函数花指令
; t# ^, O7 Y V( ]6 c43.代码的逐行加密5 M* ~3 y# Y1 \0 S
44.代码的逐行ASCII码混淆2 i: q5 o$ g( ~$ b0 W7 g
45.完整的代码与处理后的效果
( n3 e, M# q% B- a" j. c46.实现流程平坦化混淆1
5 X" t4 T( X3 H1 S47.实现流程平坦化混淆2
4 ]. q0 q) s" D& v48.实现逗号表达式混淆18 G" l" @) Q" C. v2 y6 L5 v+ Z
49.实现逗号表达式混淆2
, ^ w ^4 t7 `: `! i6 ?, P/ L- ?50.分析网站使用的混淆手段
, M' V5 U4 M% ]9 c5 \51.还原代码中的常量
! j* H) G& z0 d+ l( M! L. A/ f52.花指令剔除思路
+ [2 u+ H: b( y0 d7 U' I6 @7 p53.字符串花指令的剔除
% P; i Q4 d3 R54.函数花指令的剔除
; v8 \$ k' U5 y* e, F& o55.还原流程平坦化. t5 P2 w; m9 b6 ~+ X* [
4 y/ I6 e* _% a2 {
|
|