|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。, H+ z$ P" y; ]6 {3 \
课程内容:+ Y4 x/ d9 W- C
00.课程介绍
7 E/ c' M% Y0 S' z* k: e2 j01.环境配置2 R& ^+ G& ?- J5 ]4 M3 o B
02.对象属性的访问方式
& J! C# _6 Y+ ^6 V# d" m$ }04.unicode字符串3 |- z3 @1 o) h
05.字符串ASCII码混淆
' D) V$ ^3 c5 y: z06.字符串常量加密6 ]! d6 d, l0 B# W% N! g7 k
07.数值常量加密
0 p0 |7 @% j, B7 x8 A5 n. X+ {08.数组混淆* ]6 @5 S2 _: k: q
09.数组乱序5 |3 e& O9 G1 I% ^
10.增加JS逆向工作量(花指令): f7 n" ?7 ]( X
11.jsfuck k% n+ M: l C! u/ c9 z
12.流程平坦化
- Y9 ` f- x2 v13.逗号表达式混淆1% M/ L2 |" w; [+ v5 v9 ?
14.逗号表达式混淆2' g7 Q: P" k; v: p" G
15.eval加密
! m3 [ t# _7 G# v16.内存爆破 B& d4 z3 g" x( j& R6 F1 U
17.检测代码是否格式化
0 B! H* b% A: i1 [8 d. }2 B/ Z18.AST的基本结构6 w7 i- r+ b1 m {+ T9 N
19.代码的基本结构' H) k6 G* R- a& p6 \* {
20.parser与generator
& ?# {% @9 H+ M2 z6 }9 v21.traverse与visitor
" N$ q4 o! p& u l* ?( Z9 z' m' b22.types B( \+ Z+ {4 h# O
23.Path对象详解(Path与Node的区别)
7 |8 m- ] h1 h2 f24.Path对象详解(Path中的方法)
9 Z4 p" p$ |& j1 J0 \5 O25.Path对象详解(父级Path)0 c7 N! K; P3 y9 L) X8 A7 K% v
26.Path对象详解(同级Path)6 \5 o# I9 @$ ?2 ?4 v+ \ G# e
27.scope详解(作用域)6 ~- p4 U) O- Z& L1 c9 N
28.scope详解(Binding)2 ~7 W$ r5 [. O* }, ?
29.scope详解(referencePaths与constantViolations)
( i" D0 F1 I6 u, }/ A9 K% i) \3.十六进制字符串+ f! ?8 I9 f. g6 i8 `: e
30.scope详解(遍历作用域)
! Y4 S4 F0 U8 z2 K8 w31.scope详解(标识符重命名)/ q. E& c% n5 X5 `
32.scope详解(scope的其他方法)
# a$ X7 A$ N1 M! s33.改变对象属性的访问方式* D6 M6 P9 M' D0 i
34.JS标准内置对象的处理
9 }1 A: Y; v+ k35.实现数值常量加密
, G+ k; X" W" |, O( n36.实现字符串常量加密# T0 d3 d- ~ a6 j! L
37.实现数组混淆$ h4 Y9 w1 H$ W# l- A
38.实现数组乱序
. S" {: C' j+ U, |0 x8 q" p39.实现十六进制与unicode字符串
+ I. x( r& i) `4 b* `! f% a& S+ j40.实现标识符混淆
& [1 p8 h: N4 @+ n41.标识符的随机生成, U1 L$ C9 W4 U
42.二项式转函数花指令! U7 |' [0 U \, P9 Y
43.代码的逐行加密
- u; [/ r9 H8 a44.代码的逐行ASCII码混淆
" k& |7 a `* P! N45.完整的代码与处理后的效果
) y1 F$ |8 {9 i$ f) S8 ~46.实现流程平坦化混淆1& ` \8 i9 s- r' b6 L7 q
47.实现流程平坦化混淆2
4 e8 s' ]. v/ V, R( m2 E% Z48.实现逗号表达式混淆1
7 N" w" O) B5 ~- o2 N* ?7 G49.实现逗号表达式混淆2
9 l2 _) h/ ~2 |' S8 Y: d4 A. d50.分析网站使用的混淆手段
& k' Y& u% Z. J! E51.还原代码中的常量
% \% R% X6 W; W" `+ |- s52.花指令剔除思路) S. L) W; ?, c- l: A+ Z$ }
53.字符串花指令的剔除4 X$ ^: b/ x/ ^, }! j
54.函数花指令的剔除
4 G3 h5 J5 _. z$ l+ [! A+ j) r: Y55.还原流程平坦化
" d% w7 ~2 P6 E% i$ ] & w e2 \# I0 {( a
|
|