|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。& C+ P+ Z3 X% q* T
课程内容:
. y- _) o4 s) S: p3 p" M00.课程介绍5 Q& m6 R' S6 t$ t$ r
01.环境配置, K; r* R. j6 K. |
02.对象属性的访问方式3 ^, o8 R0 E/ K! e& Z0 M1 w
04.unicode字符串
* Y$ }0 {4 E4 o4 k05.字符串ASCII码混淆
6 m7 ?+ i5 D- y06.字符串常量加密* m) Q! a' Z: ~3 m3 b, [8 R; i+ x
07.数值常量加密
J! d* v3 |5 x08.数组混淆1 U- I, g, o, I# ^6 x
09.数组乱序, z1 a5 j8 v! |) S% [5 W3 B# T
10.增加JS逆向工作量(花指令); O; S% b$ b, h6 E
11.jsfuck3 C/ `* d. y/ t/ x. _
12.流程平坦化
M) N# |5 Q6 B. f' F4 ]13.逗号表达式混淆1: T) e t1 B# H' `
14.逗号表达式混淆2
4 z* v* o$ u: z: z15.eval加密4 L& _- `# c; e" t& N9 F0 P/ y* k
16.内存爆破8 \8 f0 \( Y* q# ^: F% ^
17.检测代码是否格式化1 D+ ^) u7 \& ^3 O7 H0 d4 }
18.AST的基本结构
# X) g4 i. s4 k) W( x" J19.代码的基本结构
$ _: j& y* J2 E, G" {3 ?20.parser与generator
3 t& C, V5 f( K4 g1 M0 q21.traverse与visitor$ q i/ X$ _3 |; Y0 l
22.types
( Z) i1 o* S" U2 M1 l% T2 X( P1 M23.Path对象详解(Path与Node的区别)
7 s. l. ^8 _1 V8 ]* R( V0 u24.Path对象详解(Path中的方法)
4 I% x" L; F5 A; Y* r25.Path对象详解(父级Path)( `+ i8 Z% d7 z9 j
26.Path对象详解(同级Path)
; X$ m; C$ s( J5 g, F( `. o5 B27.scope详解(作用域)
! B8 b6 l! |; `3 n7 _28.scope详解(Binding)
8 J3 E' y; I4 O' ~29.scope详解(referencePaths与constantViolations)1 b" b2 r( A. e
3.十六进制字符串
9 V# a2 q- v, q30.scope详解(遍历作用域)
' M( h" I- l* r* h- _9 H) O) u31.scope详解(标识符重命名)& f6 R. ?" c" W- ?. M/ r- S
32.scope详解(scope的其他方法)
+ g! q6 Z2 d+ B33.改变对象属性的访问方式
1 f% M" K+ d- t( {+ n# L8 B5 X; R$ r34.JS标准内置对象的处理 V" J& s: M9 L- X, U; D' a, ~8 T5 u
35.实现数值常量加密" \, V& r0 V- @9 Y( r+ v7 C
36.实现字符串常量加密
4 d8 u$ U0 R7 e# [8 o37.实现数组混淆
~% ?9 }3 |0 e2 K& G38.实现数组乱序
3 }- O3 {" M, v* r39.实现十六进制与unicode字符串6 m. A& @6 }" F0 ~/ [" Q
40.实现标识符混淆
7 z7 M; v9 t, P2 `41.标识符的随机生成/ ]" S- L! O, ~- ]+ ~
42.二项式转函数花指令
/ N2 H% {4 a& m6 r! l43.代码的逐行加密/ O c/ Z0 z6 e
44.代码的逐行ASCII码混淆
- S5 ~% J Y: T5 o4 p, m) x45.完整的代码与处理后的效果: [( H* ~4 k7 {6 r, l
46.实现流程平坦化混淆15 r1 ?0 [0 o G6 L+ l/ X
47.实现流程平坦化混淆2
* |, i, F' Q$ p( E* |+ Y& e6 G48.实现逗号表达式混淆1
7 M, M" B: b+ l49.实现逗号表达式混淆2
( a$ ^3 i, w" G( B- O3 F8 q50.分析网站使用的混淆手段: v5 b7 G1 L4 b: z# g% N
51.还原代码中的常量
3 k5 H/ F7 w$ g1 b8 o Q52.花指令剔除思路- }! x9 P9 F, Z/ P
53.字符串花指令的剔除' w' Z" p+ F2 [3 S. [* o+ `
54.函数花指令的剔除# D$ P' f1 ?( t. F" I
55.还原流程平坦化
) H9 r, M% t8 m* T6 e" v: O
?" o) a7 W) a3 h s0 t
|
|