|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。, u9 V) l+ E, S; R; J
课程内容:
9 t3 J( Q% E4 s0 ~1 E4 H9 _/ V; [0 v00.课程介绍
. v; A, P r0 S1 m01.环境配置. \/ a8 c4 o; l" D b3 m4 `9 J
02.对象属性的访问方式
8 P$ F$ A7 L( ]3 P04.unicode字符串
$ |6 j; C1 G$ v% I05.字符串ASCII码混淆5 U0 P# X$ [0 n
06.字符串常量加密8 m8 Z) H0 B5 F1 p& ~# \0 A R
07.数值常量加密3 ]8 n9 D) `2 c0 x, A Y
08.数组混淆
: i R9 A$ O" U- ?4 J09.数组乱序
3 s: [# ]# b4 l4 L0 b10.增加JS逆向工作量(花指令)
$ a* s& ~7 J y) C& {8 f6 P+ Q11.jsfuck" Z' v% d- P6 c; N
12.流程平坦化
+ T8 F8 J, |& |# }% }13.逗号表达式混淆1
p X& i& K9 E* W/ q14.逗号表达式混淆2
2 z3 V2 m/ I, f. _7 O, B6 l15.eval加密
3 Q; n8 ?& }* @9 E4 w: c16.内存爆破
4 c: Y, l V$ ?4 X' ?' x* N17.检测代码是否格式化
# Z! d: i6 o9 N; _& Q3 O& J18.AST的基本结构
. M$ u& G5 Y9 s5 @9 T# c" j, G' y- g3 ^& x19.代码的基本结构
. I( n# y0 P6 a# `) R' ~20.parser与generator
2 O& ^4 r0 |' R9 a21.traverse与visitor q- t+ G, r+ e/ z: M9 R
22.types! q" S' d" _8 K9 w6 w0 H* X" I; C- z
23.Path对象详解(Path与Node的区别)
8 ]% O V3 R! ?2 G( Z) l; R24.Path对象详解(Path中的方法)1 C) N8 d/ r4 m l; q" g; D' ~
25.Path对象详解(父级Path)' Q5 v3 k" F# f2 ^
26.Path对象详解(同级Path)
6 ]' R0 M% ^2 U: C1 _, ~2 F# r27.scope详解(作用域)
2 ~7 |0 w5 k4 l) p* S28.scope详解(Binding) P- S! o8 Y2 x4 j% B# q
29.scope详解(referencePaths与constantViolations)+ a" U5 \0 W- F4 B3 w9 \
3.十六进制字符串7 K \' u" {* D; z
30.scope详解(遍历作用域)
# V( ~1 c' H- H1 O# x31.scope详解(标识符重命名)
# B Z1 K0 y6 H) R. B# [32.scope详解(scope的其他方法)
/ T; D* W9 `0 }8 j. [ c% q33.改变对象属性的访问方式
4 T# \6 X4 |* K# P7 ^2 {* ~5 M34.JS标准内置对象的处理
' _$ {, I3 b* T6 K5 C% L6 n35.实现数值常量加密
k5 p- m8 K% h; u4 l1 k) L36.实现字符串常量加密
1 {9 W6 h5 A2 i; B$ H37.实现数组混淆5 {( `( w3 F. b, U4 V$ `- y) z5 s
38.实现数组乱序" b. H% T+ ?% C& u
39.实现十六进制与unicode字符串3 ?+ q4 |. w3 G. m
40.实现标识符混淆" C2 B9 p5 f$ r+ X" P
41.标识符的随机生成( Y I1 ~0 A: _) X- r
42.二项式转函数花指令
; O" x* Y c% @) U43.代码的逐行加密2 k# j3 L6 {% I6 p
44.代码的逐行ASCII码混淆; X+ _$ A0 y& ?8 v# X) f0 _) P
45.完整的代码与处理后的效果
6 ?, S" z( \7 D" f46.实现流程平坦化混淆1( [3 O- A8 p. r8 `
47.实现流程平坦化混淆29 _9 r" o- J7 v! ]+ S# O- T' D! [) U. _
48.实现逗号表达式混淆14 v0 B+ L3 } g# q" A4 N8 g& K0 P
49.实现逗号表达式混淆2
. M O' E9 Y+ c* t' g# w j) q50.分析网站使用的混淆手段+ \# F5 {: w @+ x. `" E
51.还原代码中的常量8 s: w8 a8 L k
52.花指令剔除思路
/ f6 {$ k" r7 w- l3 R: ? I \53.字符串花指令的剔除: r* g# v- e5 u/ K, b: j* F4 I
54.函数花指令的剔除$ z/ W: |; h$ }3 t3 C
55.还原流程平坦化
Y1 h% J' k( \; S! Q) I 6 I0 N; R' Q0 p& F4 E: G
|
|