|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。9 V" J4 R/ u6 O/ B) ]% y: Z4 p3 u
课程内容:0 b7 V1 O' P2 K" B& \" Y6 O
00.课程介绍' T9 r( v9 V: N8 R* Z: b7 u5 K; B# u
01.环境配置
L) a, R: N+ U( C; c9 N- v02.对象属性的访问方式
( Q: @4 g4 e* h% z! x$ o8 m04.unicode字符串2 b7 c1 e3 l6 ?9 |3 H
05.字符串ASCII码混淆* h4 G2 V2 Q/ ]% a/ s A' e% x
06.字符串常量加密- { |- }% D; q6 I! p9 R
07.数值常量加密8 }: a. O5 S* K
08.数组混淆
* J. _% g: ~9 J G7 A09.数组乱序+ N& ?- Z; E/ d$ W% i2 b
10.增加JS逆向工作量(花指令)2 L3 b8 j+ V m& U4 c
11.jsfuck
8 I% i7 Z! X1 P) w0 e: F& v12.流程平坦化
$ E8 a! R: R. H* S: E$ \" o% K" g13.逗号表达式混淆1
: ?: _0 U/ _! @3 j14.逗号表达式混淆2
2 |, R: x$ E, ]+ o; m: F1 t15.eval加密4 `2 M; r0 U6 [
16.内存爆破" A- c/ ^4 Z+ x- J& k
17.检测代码是否格式化
. C$ i4 j" j& s18.AST的基本结构) u6 F/ y' G7 d- j8 f6 ~2 T B' W
19.代码的基本结构: E7 }$ }$ B }8 L: n- F8 `
20.parser与generator. y6 Z4 e/ \! r( D- M M* G. Q
21.traverse与visitor
2 i/ C/ _7 \! j/ q7 r8 ?( q22.types
# F4 z$ R# a! m, N& G7 N23.Path对象详解(Path与Node的区别). u4 p3 M+ H& n& e4 {' d
24.Path对象详解(Path中的方法)
6 Y7 D# D+ `& U/ Q# c9 Y25.Path对象详解(父级Path)
) A3 L, ~' {0 A' q6 k# O* X26.Path对象详解(同级Path)
' P/ X. z- f1 O8 [9 K, ?27.scope详解(作用域)
; f5 X' R2 e5 M28.scope详解(Binding)
6 k9 T: O% |' W29.scope详解(referencePaths与constantViolations)
- Y e) w9 v. A, } n! G1 W, P3.十六进制字符串
+ f, e5 f3 f/ g! y30.scope详解(遍历作用域)
9 x# Z6 x4 `' e' K. Z t31.scope详解(标识符重命名)
7 ^% I. \7 |, j5 c2 O32.scope详解(scope的其他方法)
7 Q# W. Z* J5 J$ X1 f& E+ |' Y33.改变对象属性的访问方式
3 K8 E0 Z3 k6 _" y0 x34.JS标准内置对象的处理4 |3 `! |0 o) l6 M% p; O+ Q
35.实现数值常量加密! {2 }$ Y3 g/ K
36.实现字符串常量加密. ]3 g6 P' _- J0 d' d6 ^
37.实现数组混淆
; j) v+ N8 Y: K) _* m) T. F38.实现数组乱序
0 }! l7 p9 V! `+ D! C39.实现十六进制与unicode字符串' c+ N5 C5 f, s4 ^6 n# [8 s
40.实现标识符混淆, p9 D3 X' ~4 b$ I% }, D9 M
41.标识符的随机生成
- A5 x n5 ~( ]6 t, q8 X42.二项式转函数花指令
. x' ] H: ]4 W. Y: u* O7 y3 M43.代码的逐行加密
3 V/ C+ w! N& C, D44.代码的逐行ASCII码混淆; `) ]0 }* s0 y. N- H5 U
45.完整的代码与处理后的效果
" i3 }& E2 ?1 U8 k8 u46.实现流程平坦化混淆16 H$ Y. o6 L4 r( _+ e
47.实现流程平坦化混淆2
! i" V, a1 ?1 u: E- f48.实现逗号表达式混淆15 J! Z8 b" l( d3 _/ R5 J1 |
49.实现逗号表达式混淆2& p% ~. `) R& i, B) F) c; P" N+ g
50.分析网站使用的混淆手段) k# y# Y. c: _+ }/ S6 V
51.还原代码中的常量 C* @ o" a% B
52.花指令剔除思路2 v7 M% s" O& C' e. J4 T7 u
53.字符串花指令的剔除" o* Y6 ^( l- l, X C; q5 W
54.函数花指令的剔除0 y/ [0 u3 K g5 j: t
55.还原流程平坦化
# Q6 V) K( {0 s: I7 s ' B- a$ X$ H `/ P; B, k9 @ V
|
|