|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
; |! p/ H$ C8 B- g9 l0 a课程内容:
; G9 A# t6 V* D! \; z* ?00.课程介绍
. _1 p5 ^ l& c01.环境配置
' G3 ~( e4 y( V# V; m/ Q1 u5 ]02.对象属性的访问方式. R4 ^3 J: J! U, A+ @
04.unicode字符串
" w$ }5 A7 }+ _ n/ C; h05.字符串ASCII码混淆/ w w' @5 @. H) O" a' v1 E
06.字符串常量加密3 u) e/ ^8 `! F$ d
07.数值常量加密
( K4 ~0 j* m' \08.数组混淆& H! h, o8 M( s2 b8 o
09.数组乱序3 P. S# O0 @( Z& o* a0 I# B
10.增加JS逆向工作量(花指令)& P/ |! A- Y8 k! m
11.jsfuck
. G9 D6 O4 {* B. Q' [12.流程平坦化, k5 N1 l" x/ n& s, M
13.逗号表达式混淆1* ^; S) T" L2 `2 }0 X' K, f/ a
14.逗号表达式混淆22 w* O. }* G! y. L
15.eval加密. t | D3 ?2 t' k; h' e) }2 n
16.内存爆破
1 f8 y# J: D& [6 b. Z, G17.检测代码是否格式化! w& Q( o: B7 g9 N
18.AST的基本结构; |: n; ^" A8 G" b
19.代码的基本结构
+ ?6 I- F- J/ D7 S6 X4 V20.parser与generator! n3 w6 \# |" H( S
21.traverse与visitor
. [) ~$ ]6 y2 w22.types
6 a; {2 T7 k3 v5 C) ?23.Path对象详解(Path与Node的区别)" ~0 @$ J7 s1 v# l
24.Path对象详解(Path中的方法)% l* V2 ?+ N9 h! E
25.Path对象详解(父级Path)% B7 \% d4 F6 S6 x/ p9 G c
26.Path对象详解(同级Path)
9 H9 y& R& s, B3 x27.scope详解(作用域)) f5 f5 ^! Q2 P2 e2 }
28.scope详解(Binding)
J# y6 J9 @* P$ V" s: g29.scope详解(referencePaths与constantViolations)
' V" A$ ~" [5 u- t9 t, U7 r/ P3.十六进制字符串
6 k y9 W3 P' M: t. p30.scope详解(遍历作用域)8 h/ i% p. S6 D! i" q# N
31.scope详解(标识符重命名)" Z6 E" j+ ^, y( {) f
32.scope详解(scope的其他方法)' @. d2 s7 x/ ?; \- k+ s
33.改变对象属性的访问方式
$ ] H% w# H, U5 T' V3 j, G/ ?$ h34.JS标准内置对象的处理& u/ u; h# y+ j1 y$ R/ s4 Y6 a2 W
35.实现数值常量加密
6 i0 s8 x* j0 L# A0 ?# W+ H) z36.实现字符串常量加密& h- Z. G7 {4 i: s+ S
37.实现数组混淆
( E) _2 i4 f1 ~ \% |# _' n* e38.实现数组乱序
& C1 B* h% }; k39.实现十六进制与unicode字符串3 K7 G6 F' s7 L" ?; |
40.实现标识符混淆* _2 [ M) C Z: H# k' L3 I
41.标识符的随机生成
7 c; F1 q0 q" y4 f* n) h4 ?0 V42.二项式转函数花指令2 a" m( l; j2 Z! O
43.代码的逐行加密
) n5 z; d6 p/ U `) g( o. ]44.代码的逐行ASCII码混淆6 f9 s; J* x' T* C
45.完整的代码与处理后的效果
$ q( r9 y P) f$ @5 \3 |" A% X* W46.实现流程平坦化混淆1
, r* k' Q8 H, p" I* s5 o2 p d47.实现流程平坦化混淆2
- R" m* i% F4 a4 X+ V48.实现逗号表达式混淆1
* F# t& D$ A% l' ]49.实现逗号表达式混淆2
- u* } `* Z* P2 v50.分析网站使用的混淆手段
# P% F: g6 y8 C' K/ |; Y9 v51.还原代码中的常量
7 D7 }3 A8 G: m+ F2 `52.花指令剔除思路
. V7 O9 L! R% K! T" [- T3 c53.字符串花指令的剔除/ A( r" l, [) g, b# f
54.函数花指令的剔除0 r( V) b; `. M( k! h' X
55.还原流程平坦化 p. O. p3 |3 L
. [. ?) E0 f! N& n. |9 {
|
|