|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
/ ]) o3 X* q; b课程内容:
3 s! O% r$ n- [# L0 o3 M w00.课程介绍! O1 p$ \6 G3 d( d
01.环境配置+ K @7 g( e) v, g" s0 v! c
02.对象属性的访问方式+ R* p+ D6 k' V# X5 Q4 H
04.unicode字符串. K* i$ M. q- W+ N, r
05.字符串ASCII码混淆
" J1 A, l5 x+ O& f. r g06.字符串常量加密
; j* d$ o7 |1 |- Q07.数值常量加密9 y8 C3 I9 t. I' Y. `
08.数组混淆
$ T U# s. l; A7 f/ u. r' x1 u09.数组乱序, B8 i0 `' |4 A5 Z7 X, T
10.增加JS逆向工作量(花指令)% ]6 V5 I+ A% S
11.jsfuck
- O. N* G( i) F6 E$ h2 n. A12.流程平坦化
% S* \) J0 a) A% h% ?13.逗号表达式混淆1
9 u! T8 G r' m6 R14.逗号表达式混淆2
' F$ t5 M7 ~/ j6 L7 c6 k( U15.eval加密9 G" N" h1 u8 S3 s Q
16.内存爆破. Z# g# p7 m+ c2 R( X( L5 k
17.检测代码是否格式化
# ^" q; P6 G( @: r18.AST的基本结构
o" M! Q0 Q0 p19.代码的基本结构
7 c0 B. ?3 @0 t( M3 m' _# q20.parser与generator
; u' ] s/ A$ P1 \ K$ w21.traverse与visitor
2 S) |" U7 h4 j* c* H; J22.types' ~- ^; d& i; M9 {
23.Path对象详解(Path与Node的区别)
- V: [0 q2 ]$ l% c' R$ [24.Path对象详解(Path中的方法)# B+ g& t6 S% P- m+ p) o
25.Path对象详解(父级Path)0 g. C7 j0 }2 I) ^# c$ p: ]( U
26.Path对象详解(同级Path)
2 d& b& m; V6 ^27.scope详解(作用域)/ l$ f! b5 L4 s/ m, k' D: I% U5 a
28.scope详解(Binding). `* ~. _, Q# j7 S" p
29.scope详解(referencePaths与constantViolations)2 `9 G) _/ u2 r
3.十六进制字符串
. p9 a- x: ?( m/ O1 h! o; L- d30.scope详解(遍历作用域)7 ` K; Z A' ?. R- O
31.scope详解(标识符重命名)
8 f$ Q1 H- O. N8 A32.scope详解(scope的其他方法)
4 I b$ n; w8 L2 K! a2 _8 e }2 }' _33.改变对象属性的访问方式
. g; X8 M: V% e34.JS标准内置对象的处理! X* H/ i1 ^3 F% K% e8 O
35.实现数值常量加密& @/ E0 H3 |* p: e# |! `( n
36.实现字符串常量加密
0 h! @8 ~& c4 b9 N: l9 w37.实现数组混淆9 f1 _; {+ `0 j1 B( ^/ ?* B
38.实现数组乱序1 o* [; k! ?% [, h/ ?% ?0 L" j
39.实现十六进制与unicode字符串
/ J" w: x, K2 v4 F8 U40.实现标识符混淆3 r, S4 v7 ~1 E. @3 ~2 f
41.标识符的随机生成0 S8 {5 r7 i4 v- z* c8 s" ^. s
42.二项式转函数花指令
8 A& {3 l' v! K: F# d43.代码的逐行加密
% Y$ v3 R1 k5 ?! j44.代码的逐行ASCII码混淆
" k( J/ W `; }# X: y45.完整的代码与处理后的效果( c3 |5 D4 s0 [
46.实现流程平坦化混淆14 P3 G( z! b" O6 k
47.实现流程平坦化混淆2
. p9 ~9 l8 _5 \7 }) \, Z48.实现逗号表达式混淆1
9 M# p: _: Z1 t7 k3 f p2 p* y49.实现逗号表达式混淆2
$ | ]" i: E% k7 Y* q( Y50.分析网站使用的混淆手段, b, a |) P9 y1 d5 r9 A# l% D) |; r8 b3 O
51.还原代码中的常量8 S8 W" W0 ~$ i" R: n
52.花指令剔除思路
- q4 X% c# Z0 q' L! i8 D53.字符串花指令的剔除 G' L' B; ?* b* |: v! h4 V5 G
54.函数花指令的剔除
9 S5 M0 ?; W9 Z, n. J* e55.还原流程平坦化
- c7 E9 U1 S% H' W. j# i2 x / X; T5 t4 ?% ?
|
|