|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。5 ~1 f; a5 `. ^9 w: C2 a* y
课程内容:9 b3 p& h$ d; I8 i8 X' V7 M
00.课程介绍
8 U. }3 U3 Z4 {4 o W J3 l01.环境配置2 }0 D( m5 M3 l4 U: d3 G
02.对象属性的访问方式
) O* h0 @) {4 ~$ y L04.unicode字符串4 A3 b" r- C. ?3 j7 E
05.字符串ASCII码混淆( V- M B+ b% t& \5 _/ Q! g# D
06.字符串常量加密
/ W9 o7 e0 B) I7 W2 f07.数值常量加密
! O2 Y/ x* {/ x! O9 C08.数组混淆3 h- z4 g' H/ a3 R5 b% y8 [* M @
09.数组乱序' O9 N: C% r6 |
10.增加JS逆向工作量(花指令)' ~: U r% a1 q6 m+ e6 B, t6 u5 ^
11.jsfuck
: w5 E% t" N5 |! S; d& x- z12.流程平坦化
( F: l: ]& p. x4 V13.逗号表达式混淆1
, i7 y% y& v$ F. ^" I# X6 @14.逗号表达式混淆2
2 c/ X5 \5 h0 ~; t15.eval加密
7 q5 v) ]! ^; u" j4 f* j! f16.内存爆破' H3 \( A) l0 d5 g2 g) R
17.检测代码是否格式化
! p. B+ U$ a* E: f- t18.AST的基本结构1 m S+ u' ]* v) X/ [9 t/ X; ?5 Z
19.代码的基本结构3 s' L1 V. `% e9 B6 r1 W1 d
20.parser与generator
3 T0 K7 y: N' U$ ~- G' D8 H% j2 A21.traverse与visitor
' p8 m9 K, f0 M% M w22.types
- ^; p/ f5 P+ j8 x' R23.Path对象详解(Path与Node的区别)
\/ Z+ i+ f9 f- \/ @24.Path对象详解(Path中的方法)
/ r: ^# p8 ~& V25.Path对象详解(父级Path)
& w/ X; c; r; K* J1 h26.Path对象详解(同级Path)1 t# u4 W' s, s4 s
27.scope详解(作用域)
# }# J+ t6 B4 V: z5 \28.scope详解(Binding). h4 i @# K# S! t; R' K
29.scope详解(referencePaths与constantViolations)# L7 W# @) m7 l' U4 \
3.十六进制字符串
0 D9 f4 \8 u1 Z1 V; i* F30.scope详解(遍历作用域)/ T- u8 Z- m* Y
31.scope详解(标识符重命名). H. {$ N& p: A6 h: X: [4 p
32.scope详解(scope的其他方法)6 B8 M8 u$ I! u o1 y) S0 N! ]
33.改变对象属性的访问方式) ?) {- f, [5 L
34.JS标准内置对象的处理* |, _" W4 D( h- b* e
35.实现数值常量加密
/ h$ Q* {- `) ]9 [0 L36.实现字符串常量加密
" |4 d1 F3 D- a$ q9 ^/ p37.实现数组混淆7 r: c8 Z% _" w0 r
38.实现数组乱序9 V# D( V' i6 A8 O3 a7 \" ~" H
39.实现十六进制与unicode字符串
6 S2 _, a% J" U/ K/ o: G9 q( ^40.实现标识符混淆& A& c( F! R. H# r
41.标识符的随机生成
) [+ @) e$ B3 K% T$ ] h4 H42.二项式转函数花指令- f3 ^1 m; A, b: w* i" J
43.代码的逐行加密
3 L. p- P$ U7 l' c44.代码的逐行ASCII码混淆
h" F3 R% S" ]7 T, A" N3 j3 w45.完整的代码与处理后的效果# E- D) |- N# `. n7 r _1 _
46.实现流程平坦化混淆1
; B3 v1 g2 @ q* r, d47.实现流程平坦化混淆21 y; b0 M X, i- {2 B; i
48.实现逗号表达式混淆1
! B% ^+ ]8 R$ K# G5 l49.实现逗号表达式混淆2- \) J4 Y6 }$ w
50.分析网站使用的混淆手段0 `+ k7 v6 M1 t' i% M% W* _
51.还原代码中的常量
9 J- @* P' V& Z4 d2 ~52.花指令剔除思路! s2 Y* V7 V) [+ I6 R m. K# R
53.字符串花指令的剔除
9 t1 ]9 Q! \$ }5 W, p( F) n% @54.函数花指令的剔除
/ d o4 w) c& U55.还原流程平坦化
1 y# @2 V" t. ~ J8 H8 F ; b! @0 k+ Q, t# B: `" K ?1 }
|
|