|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
9 v. \1 Q M" S: U+ I/ {课程内容:
& }: x" N( A. `' p. `' `) n3 t00.课程介绍5 F4 J* ]1 f& W" K
01.环境配置
; h5 m, a' v* Y. `02.对象属性的访问方式# }) h9 I {9 K7 U7 i/ k
04.unicode字符串 }2 t! J# G2 C% j1 B$ @9 Z4 k
05.字符串ASCII码混淆) l5 ]; b. b$ Y& B4 i
06.字符串常量加密
* f8 A' S/ s- K4 _& |6 E07.数值常量加密
% P7 P, g# ]. p. d1 J08.数组混淆
+ L! T8 N& S9 [4 B" c. }+ s# N09.数组乱序
$ g% [( Z0 A6 N5 W10.增加JS逆向工作量(花指令)
3 A9 Z, j- `: c11.jsfuck
2 e) Q ^, ~$ y8 m4 h12.流程平坦化- ~% J% ^* `% n7 {
13.逗号表达式混淆1) p: i3 A: ` p: E# M- Z
14.逗号表达式混淆2
# H; f/ i- y }, l9 K7 S2 w15.eval加密( O' n2 n7 y% _5 T& O& v
16.内存爆破6 e6 z4 R$ g O6 I8 x) c- m
17.检测代码是否格式化
2 H8 G k7 ^8 D) }- v18.AST的基本结构
t i/ V$ J2 d, A6 {, |19.代码的基本结构6 f; Y6 b% R8 B5 V3 n3 y
20.parser与generator# Y* h( Y# P n: p* f
21.traverse与visitor! U, O2 C @( a$ m6 K
22.types
: v6 S4 }7 |7 h! j7 {23.Path对象详解(Path与Node的区别)* X6 b: ]9 Z T, [ j
24.Path对象详解(Path中的方法)
& Z5 V5 [$ m' R* G+ a25.Path对象详解(父级Path)
, s4 P7 M3 r I- k i* w# Q26.Path对象详解(同级Path)# K1 e9 w7 B6 `7 X8 K
27.scope详解(作用域)4 ]5 X, y' C+ u# t4 V( E5 i
28.scope详解(Binding): L+ Y7 p6 Q5 [ b" o6 ?3 j9 x
29.scope详解(referencePaths与constantViolations). k' z: p% y# a
3.十六进制字符串
, I3 t! b r. ]30.scope详解(遍历作用域)3 B0 L) |* o: Z5 ?% j
31.scope详解(标识符重命名)+ n/ U2 ` s- ^' x* ^5 H! z @
32.scope详解(scope的其他方法)' A! i' ]# c6 Z4 T, J8 w* I
33.改变对象属性的访问方式) i8 D2 L6 I1 y& n t0 l# Y
34.JS标准内置对象的处理
+ z; Y/ K% L8 N4 \* i35.实现数值常量加密
2 b. ]8 K$ `! V6 I. e& f36.实现字符串常量加密( ]5 s5 u" P ^4 K) p+ d
37.实现数组混淆% ~" p4 v% z( U1 i: t
38.实现数组乱序
1 L; M+ M7 }) h" N8 P: o- }2 F& w39.实现十六进制与unicode字符串! K! w6 f! w* g- n+ @3 K* H5 m
40.实现标识符混淆
* A1 c0 C1 h. D* ~ m& s$ f41.标识符的随机生成
8 ~) G+ J3 |0 b42.二项式转函数花指令
' O& i& L. n- B7 t/ ?/ R* U43.代码的逐行加密
9 e. N$ J& Y* m. Y1 }44.代码的逐行ASCII码混淆
0 A& Z- T! Y- d1 o' m, b45.完整的代码与处理后的效果% s3 H3 v5 | n4 {( @
46.实现流程平坦化混淆1
8 r# C( S8 H. Q2 U2 m$ N3 i: U+ d47.实现流程平坦化混淆2
# u' ~ X2 B p4 X48.实现逗号表达式混淆1" _6 k; u t8 q6 I0 e. w9 W
49.实现逗号表达式混淆23 g+ k" B4 C5 P% w& F5 V) F1 T
50.分析网站使用的混淆手段8 n7 w3 U4 S8 e& ^& d& U6 M! P) g0 N
51.还原代码中的常量
7 ]" ?8 B. b* ]2 Y0 J3 `+ X52.花指令剔除思路( O* Z/ E5 {" e) P
53.字符串花指令的剔除; A5 C9 P1 Z, n/ v, `
54.函数花指令的剔除
" M4 k6 `; o0 D55.还原流程平坦化
6 X8 F; l2 i; f6 \2 @ 7 D" `; R3 t! z$ [! M
|
|