|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
1 S3 ~9 S1 @& d# k$ `$ y课程内容:" i8 N9 Z1 @8 K% E6 @6 n
00.课程介绍
2 S' W6 I, F& }* Q3 k7 y01.环境配置4 [8 J: G0 p) H! B% K; r$ W) R0 F
02.对象属性的访问方式
3 Z$ x7 O5 `, q( A04.unicode字符串0 w7 o9 G5 n% o4 N( H& t: b
05.字符串ASCII码混淆
1 G: |) p; z2 h9 e. P06.字符串常量加密
) m7 L% z0 e6 I% t }; i! }9 u! ]07.数值常量加密
3 ?' ^( I m- [& J9 f/ L+ C08.数组混淆' B& @! W# N' n, U* h2 y; ?( \
09.数组乱序6 j' o5 G0 v' {- z
10.增加JS逆向工作量(花指令)+ q% i, {4 p4 a
11.jsfuck
. u: s: ^: o0 R12.流程平坦化) r6 r9 v. A# d# S$ j
13.逗号表达式混淆1
9 q/ c. L! O4 u! |6 L- p14.逗号表达式混淆2( O: T8 K1 d j5 T( ~. i0 N" Y
15.eval加密7 G$ S! V6 n0 r, m; f
16.内存爆破
K/ S. w/ U3 J) S17.检测代码是否格式化& H' P' r/ b( d
18.AST的基本结构
$ c# X1 d# t6 t19.代码的基本结构( E3 ^/ Y2 i: ~& j
20.parser与generator8 r) d2 ~5 r5 \! r
21.traverse与visitor' Y: D$ }/ |4 @8 V* p6 ?) ~
22.types
& ^6 |3 C O6 t* H7 J! k- E g23.Path对象详解(Path与Node的区别)
5 a+ x2 r5 i- L+ ]2 j24.Path对象详解(Path中的方法)+ a- u/ E5 B9 l' L4 I0 {' \
25.Path对象详解(父级Path)/ C y: u7 I: |: L- i" U
26.Path对象详解(同级Path)
" b! u4 v }1 l27.scope详解(作用域)) i/ j, g0 k/ g* N( C, k- _
28.scope详解(Binding)+ @5 ]$ ^! J. l+ X v: r6 G
29.scope详解(referencePaths与constantViolations)
( }8 {1 C! @4 e- s! Q7 S2 E r3.十六进制字符串) m1 N0 s& [1 {5 M9 u$ k n
30.scope详解(遍历作用域)
2 w8 X0 q& j( Z8 D4 h0 q31.scope详解(标识符重命名)
; K/ Y% l8 A# A' ^/ t32.scope详解(scope的其他方法)
. [8 N; H3 E/ c. ^! x33.改变对象属性的访问方式
/ k$ Q9 s" [' k, @/ x2 r34.JS标准内置对象的处理1 m) [% m% T3 G
35.实现数值常量加密
! G# z4 \0 D' i2 |- N, T4 g3 L36.实现字符串常量加密
/ c9 @" b, ?% f9 a6 D37.实现数组混淆. ?' ]$ c" x. x6 Q+ Q7 f2 w* V
38.实现数组乱序( V" h! W$ L2 \; ]9 N' E
39.实现十六进制与unicode字符串
3 w+ _& ?" z: {2 `# U# u40.实现标识符混淆) K' n# z3 c3 G3 d2 X( K
41.标识符的随机生成
R- i6 W( ]5 r/ D42.二项式转函数花指令 V. m( `5 g4 o. {& h: |# Z9 Z0 ~
43.代码的逐行加密- B' V# C1 Z" |, j H! H. J
44.代码的逐行ASCII码混淆0 J0 U/ y' R4 U L& M
45.完整的代码与处理后的效果
. p. }1 T# U, u# `46.实现流程平坦化混淆1
, p8 G$ v9 s7 w7 p47.实现流程平坦化混淆2
, f! ^; g( A7 j% S7 p48.实现逗号表达式混淆1
8 V( E- g; v8 s6 ]9 v8 \' _# J. S49.实现逗号表达式混淆2
1 n7 u" c$ |4 J ` w50.分析网站使用的混淆手段
* A, u2 A# Q) v2 R( g51.还原代码中的常量! e2 y P9 V$ @: Z5 a8 n
52.花指令剔除思路
3 ~/ u8 `5 z4 o1 \53.字符串花指令的剔除
2 @. j, i6 v+ v$ F/ P& Y54.函数花指令的剔除: v: Z5 ?- @6 Q
55.还原流程平坦化
% d3 Q) ?. o5 L/ }& H3 o , f" k3 O y. u. X+ J
|
|