|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
$ u6 V6 N" v- L; c! c: P' s& m. n课程内容:
' f0 e5 G: m7 s) @00.课程介绍( y7 {* Z7 R& x8 q8 x9 @6 P
01.环境配置/ @4 r" W7 W( z& R) Z! g
02.对象属性的访问方式
* o& J4 a' ?8 Y04.unicode字符串
Y2 Q$ c2 b1 K8 L* ^: Z: }8 L3 O05.字符串ASCII码混淆6 i- ]% k: E7 Z4 R7 T
06.字符串常量加密& B5 [1 b- p& Q( d z# n) {7 R/ K
07.数值常量加密
, A2 r3 G* ]* E& i! X# y; [5 L08.数组混淆6 r/ h9 ~ {4 x1 A t
09.数组乱序% t# B3 o2 {* D U# C
10.增加JS逆向工作量(花指令)
9 ]* ?5 @( j' G: m5 h5 X, @ `9 x/ ^11.jsfuck
( t0 F% \0 {( b12.流程平坦化, _! e) ^4 J. L6 l$ v' z
13.逗号表达式混淆1
# b5 [/ ~ }) H5 W S/ I. `: y14.逗号表达式混淆2
& F) h0 N+ U6 v% M8 ~( V15.eval加密
7 V0 x6 E& M+ z- L16.内存爆破
7 W6 V& l% e( o7 U8 u17.检测代码是否格式化
, _- l: p9 M! ^3 x. g1 ~1 s18.AST的基本结构/ ~% c: u. k& T
19.代码的基本结构# @* W8 t6 k) w* R
20.parser与generator
8 l0 W/ f: S* P. ^4 B. A% q4 l: t21.traverse与visitor
/ I! l( L5 [/ G) J$ }22.types
: C2 P6 t6 c, S" |23.Path对象详解(Path与Node的区别)
! j) R3 x, w& C, [; r) P: H7 g. a24.Path对象详解(Path中的方法)# j6 C) y6 C, S6 K/ Q# ?8 H8 {
25.Path对象详解(父级Path)
7 c2 b a2 t3 n6 ?( `26.Path对象详解(同级Path)
, x2 @% \1 d* }. J4 F27.scope详解(作用域)6 P, Z; q. V r, f1 J' Q
28.scope详解(Binding), p) R, q# h ^( l
29.scope详解(referencePaths与constantViolations)
0 {' t, C8 [' l/ X O- @( A" C3.十六进制字符串; N O: X) `! H: z. w( p
30.scope详解(遍历作用域)
0 }4 W6 L- @' L, o; a8 z31.scope详解(标识符重命名)/ ?+ x: ~( I! v+ T5 V @9 y5 f/ n$ Z
32.scope详解(scope的其他方法)8 Z; ~6 i: ]1 e# U1 b; E
33.改变对象属性的访问方式
8 |0 ^- g1 \4 E/ s# |34.JS标准内置对象的处理! p+ P( P4 G8 G! p! e
35.实现数值常量加密
5 {5 u. q3 O* j$ }8 S# e$ }36.实现字符串常量加密
1 D5 r) v5 h5 _& a- B% P; y37.实现数组混淆
# i: m i; A- ~1 x: H38.实现数组乱序, u4 G! N. f; U$ c6 y
39.实现十六进制与unicode字符串, ?1 z9 g+ ?3 P' P
40.实现标识符混淆$ |7 J5 i5 x; S8 H* R6 @/ M3 s
41.标识符的随机生成" ~! `3 X8 Z. b' x5 A6 g
42.二项式转函数花指令
6 l K/ I4 A; R& x( o! w8 H43.代码的逐行加密
( }5 B5 N/ ^& e( Q4 y& X$ ]44.代码的逐行ASCII码混淆( F# `: b) R A# R9 E/ U
45.完整的代码与处理后的效果2 r0 }0 B7 p* N% E$ Q
46.实现流程平坦化混淆1# j: A# f; |) |4 U
47.实现流程平坦化混淆2
/ ?; T4 c+ N3 N& `# Z48.实现逗号表达式混淆1
) f0 g/ z* X2 T' t$ c$ y49.实现逗号表达式混淆2
- V$ k- r0 F5 A5 u, K# ]50.分析网站使用的混淆手段
+ p8 |6 x4 `; G51.还原代码中的常量
7 v5 I# h& M0 V) H52.花指令剔除思路: F1 A9 r# H6 r/ n% l3 a) K4 ]
53.字符串花指令的剔除
# i, i3 x$ z1 t% B W; ?! Z54.函数花指令的剔除
! P9 i: b+ y* j, o/ q3 a5 e$ s55.还原流程平坦化
, e8 H; d3 M# B1 m/ l" ^) c
! I9 W- t$ T! v3 A5 w
|
|