|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
( ~. X2 |; E0 b课程内容:0 b7 O5 _6 X2 B1 F2 Z; d* K
00.课程介绍6 v0 Q* \- l$ p. o' a
01.环境配置2 k" t# ~! f0 m/ }0 [( i. y- H
02.对象属性的访问方式
9 V1 `! M1 m7 L. C+ C" I2 Z5 g) k0 h04.unicode字符串
3 j* M" j( x+ g05.字符串ASCII码混淆+ {/ p- d- c2 e
06.字符串常量加密
$ d5 A/ @( q, ?7 x! U0 D07.数值常量加密+ x( o/ i/ d( w* F- z. }# }
08.数组混淆 r" i6 Y, V; o, Q& C# w- T8 u
09.数组乱序( w2 K( e8 `$ M
10.增加JS逆向工作量(花指令)
0 t y7 F$ l, U0 c6 ^3 @& U11.jsfuck
3 A0 x/ `0 v0 l6 y3 ]& _12.流程平坦化- J$ V$ i j \$ ?
13.逗号表达式混淆19 M( I& L9 `9 J0 S/ h. z" V
14.逗号表达式混淆2
5 j% u/ s+ r" G# `+ s15.eval加密" o, i6 L( O6 Z5 y
16.内存爆破' O8 ^0 s: H* y4 T
17.检测代码是否格式化
2 r7 @/ U M/ z( M18.AST的基本结构
n" ?& W: l5 H+ l( {19.代码的基本结构 Z1 K5 @# H3 ~/ }' ~* \% Y
20.parser与generator& o& n$ ^' L9 J6 A. `6 b" o) r9 h
21.traverse与visitor7 F" S: }2 \6 N) P
22.types
Y( a `3 `- g' Y3 d& H8 q23.Path对象详解(Path与Node的区别)
: A( o/ ^5 ]1 K9 Q' P24.Path对象详解(Path中的方法)
. Z% C( C3 G. B! w# n" T: R! C25.Path对象详解(父级Path), h4 \1 L3 {( K1 ~
26.Path对象详解(同级Path)3 \6 _: |* L0 W# b5 ?
27.scope详解(作用域)' D3 v0 O# G7 Y: v4 {& I, F6 _
28.scope详解(Binding)0 @' q" a& \3 x% Q6 O, \
29.scope详解(referencePaths与constantViolations)/ w, X! s3 o1 x* y( Y) x- p3 Y
3.十六进制字符串
; R. f( K- k2 @30.scope详解(遍历作用域); w: I b1 U4 D7 E# d
31.scope详解(标识符重命名)
8 j/ ^' I, Y# _% Z% g% [5 }! U32.scope详解(scope的其他方法)
. Y' f) q: b+ N3 }1 ]% @- @33.改变对象属性的访问方式
! g1 v; S; q# U8 I+ A, B3 \) i34.JS标准内置对象的处理3 F6 ? F1 K; w! l, Z2 a) L5 X
35.实现数值常量加密' O0 H* E+ h" {8 B; ^
36.实现字符串常量加密
& S. m1 [8 z& a37.实现数组混淆
+ m/ R# [; a4 o38.实现数组乱序) I, h5 h i: o4 @" c
39.实现十六进制与unicode字符串 ^2 q M# |$ P: X5 I6 @
40.实现标识符混淆
5 \' f$ o+ X6 h% R t! T2 V41.标识符的随机生成4 }; O( x. P' K( g
42.二项式转函数花指令6 A9 J3 E/ |7 n
43.代码的逐行加密0 S; H$ W5 ~& W; ]1 z2 A
44.代码的逐行ASCII码混淆
3 T/ }* F$ C& [, K. G45.完整的代码与处理后的效果
6 N# w3 T& k9 r8 Z) u6 A46.实现流程平坦化混淆1; \$ E; x/ D: S+ l D F; n
47.实现流程平坦化混淆2
6 H! y) M- j+ M; Q' l48.实现逗号表达式混淆17 l) \% h0 s) v8 c- J
49.实现逗号表达式混淆29 C# D1 K5 p$ y( E: k
50.分析网站使用的混淆手段
9 m. k2 I$ e# S' x B8 N51.还原代码中的常量
) O4 l% e. O! x" O- c: x+ }- J52.花指令剔除思路
8 c3 d3 z1 }5 f" V: ]. y; ]0 O1 L53.字符串花指令的剔除. ~7 G7 l. s& J- _) s' `' J: X
54.函数花指令的剔除# A/ a2 v6 f/ D- D! ^! _' g2 f
55.还原流程平坦化* \. s7 u Q5 j
9 ~/ T5 c! c' u
|
|