|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。6 g' g' \7 |6 z% ~5 }
课程内容:* a# a% c5 ^+ p/ {
00.课程介绍
7 Y o% S: O: A$ w! s. U01.环境配置2 v4 D$ l$ t3 f7 E1 G) F
02.对象属性的访问方式5 G% @% t7 z6 g1 D1 [
04.unicode字符串" h" D$ E. I' E
05.字符串ASCII码混淆
3 o, e4 \0 [7 V' ~9 i06.字符串常量加密. p. q& U3 r, \3 e" b, N8 b
07.数值常量加密$ d9 r; @% Y2 N8 R* d
08.数组混淆
+ s9 u% J9 l" s09.数组乱序 p4 W" n( ^' n8 N+ L* |
10.增加JS逆向工作量(花指令)
0 P, F& m5 l* E& R% X1 l# m11.jsfuck
, @7 ]/ l) F; D% A2 ~5 H12.流程平坦化
. g7 b$ s+ A5 b4 N! Z13.逗号表达式混淆1
* |$ |$ M0 S$ O) p8 D8 D5 R14.逗号表达式混淆2
+ I' R+ s& b# i15.eval加密' L: [) n& ~8 w% e9 O8 R) Q
16.内存爆破5 F$ Z1 b0 Y; n) ]8 _3 S
17.检测代码是否格式化
: q" r) s( s1 |/ Y7 O' G9 k% A- C18.AST的基本结构& s( a8 y! U( |% S9 I2 j9 l
19.代码的基本结构
/ Y8 S5 s v0 |# |20.parser与generator% s2 }: P- K, ?
21.traverse与visitor- n8 `. S% {$ k# a8 C
22.types: E4 X" ~/ L# b$ @
23.Path对象详解(Path与Node的区别)
$ C! X H+ s$ e. d$ `; k24.Path对象详解(Path中的方法)" d4 F" D8 e; @/ f6 Y
25.Path对象详解(父级Path)& m# [9 \! h" j0 M% Y# @* g1 D! S' y
26.Path对象详解(同级Path)
9 W7 L( P3 o$ B) G% I8 a* T27.scope详解(作用域)
& W/ q8 P7 i: C) C' S8 y! p28.scope详解(Binding) E7 Z% P9 c' D
29.scope详解(referencePaths与constantViolations)
; L8 y. _, ^& d3.十六进制字符串
b# s; N% d9 i7 D30.scope详解(遍历作用域)
7 D4 a% F. s! F2 _. Z, L1 g' p31.scope详解(标识符重命名)1 U1 K4 p, P8 ?: e
32.scope详解(scope的其他方法)- j1 w9 ^, M- q9 q; L
33.改变对象属性的访问方式) A3 H% t: X' e6 X& f9 E4 ]& \" B
34.JS标准内置对象的处理
, h4 O# ?2 t T5 D; {6 N) J) K35.实现数值常量加密8 T) T0 M' a9 e
36.实现字符串常量加密; f1 T0 t: G( r- f0 O
37.实现数组混淆/ q; N1 [ U* I$ B
38.实现数组乱序
; a/ s: y) L, \" {39.实现十六进制与unicode字符串* O. U- J8 t5 X& z U: o% y% [ M
40.实现标识符混淆 N. l% d3 r" h/ j4 ~
41.标识符的随机生成
( n/ V2 R: l5 G: A0 r* ^42.二项式转函数花指令: \! m0 n. M' n; k# R! p2 _/ [
43.代码的逐行加密
% L7 o3 o' L% g9 `# i+ {) U44.代码的逐行ASCII码混淆
# ~& q2 @9 p; U7 F% A; @( [45.完整的代码与处理后的效果
6 z9 |; R2 Z0 ~$ ?5 Y- M1 P" [46.实现流程平坦化混淆1; c0 d$ ^% a5 p
47.实现流程平坦化混淆2
! x3 K7 v- v: E7 {48.实现逗号表达式混淆1
( m: q. g8 u1 W" F49.实现逗号表达式混淆2
7 A& g$ b% ~; p2 Y6 `4 }2 t% B8 v50.分析网站使用的混淆手段
3 r7 C& H* J0 p" ?5 a51.还原代码中的常量
1 e7 _% ]9 m1 i/ t/ G' }1 w* H52.花指令剔除思路' E; {$ d! \0 T1 v' I% L: p B
53.字符串花指令的剔除- L' [8 U: G& `% q- h4 V/ k- L
54.函数花指令的剔除' G/ C+ S1 i9 O, j4 N
55.还原流程平坦化
& e! P$ \& {1 t: h* M* ^# Y 6 V- I$ U; Y7 h- O; K* s
|
|