|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
+ B" q$ f& j( W F( S课程内容:! Z A' o% `/ @4 G4 t. J/ B) n
00.课程介绍$ t, c% _/ r1 M7 s
01.环境配置( I- L T' D+ p4 u( T
02.对象属性的访问方式
f9 p+ C1 ^* ?! E% B% P3 Q04.unicode字符串
4 ~5 r5 u7 }8 b0 s/ `' I7 H05.字符串ASCII码混淆. Y# E0 I. B: u2 L, s; s
06.字符串常量加密- k5 }) ^/ n5 P; [0 t5 Y: T& O
07.数值常量加密
$ M9 @; J& B$ D' m8 S08.数组混淆
% ~% ]/ j1 l* g$ U9 J09.数组乱序4 ^5 N ^ t K
10.增加JS逆向工作量(花指令) Y4 `, u7 D2 ~! O5 d
11.jsfuck5 _4 s3 M" [5 N& V( r
12.流程平坦化 B$ q/ M% p0 h) u; |+ E5 K$ F
13.逗号表达式混淆16 V4 E. Q) O" b" W
14.逗号表达式混淆2
+ L+ x2 [. A7 ~0 U/ R" I' e+ j15.eval加密
/ A3 ~- P( r8 `- |- J16.内存爆破" L& K" h, H( V
17.检测代码是否格式化/ r. k: g, w5 W! p
18.AST的基本结构7 H8 ]( i& Q- n, K
19.代码的基本结构( y- O- X4 e" s' a$ ]
20.parser与generator
' q$ g! j7 _3 z; A5 w21.traverse与visitor
' ?+ M% F c& }& T# r22.types$ G- y2 J5 K( u% {& ]
23.Path对象详解(Path与Node的区别)' ~' @+ [: i0 N6 q3 k9 C" h, \0 [
24.Path对象详解(Path中的方法)
( z1 J _1 S8 P0 v" N _6 _; l2 W+ z/ W25.Path对象详解(父级Path)
4 A# q3 O/ |4 C' W% w26.Path对象详解(同级Path)" ~: H1 M v3 \/ k& H" h4 o
27.scope详解(作用域)3 a7 z. H! x: `' X# ~
28.scope详解(Binding)* y& ^. M; M% s! m# C' v. _4 P
29.scope详解(referencePaths与constantViolations)
* v, C5 H! Z2 w/ V9 A* J& Z3.十六进制字符串4 v1 }6 b+ q9 T1 O3 P4 k
30.scope详解(遍历作用域), N: {1 y1 }5 K3 I8 X
31.scope详解(标识符重命名)! e7 ^8 F2 y% B, w
32.scope详解(scope的其他方法)( T' Q0 C/ f; a6 _
33.改变对象属性的访问方式
! @+ d& G4 H9 D S2 n4 Z$ _34.JS标准内置对象的处理
6 L& V* ]" L9 k$ j: d35.实现数值常量加密
% l9 l: ^4 ]1 y" _36.实现字符串常量加密
7 f9 `) f, d' A5 L/ l N37.实现数组混淆
; T# G% o0 v( P7 ]$ q6 C5 L4 p38.实现数组乱序- S$ M0 Q) K9 F. R7 D
39.实现十六进制与unicode字符串
0 @/ q, I, d; i5 D) Z, _9 z40.实现标识符混淆; ~3 K& `8 ]1 Q5 T- B
41.标识符的随机生成1 {- R9 ^" c; d* ]
42.二项式转函数花指令, b: B1 d5 ~- Q% l6 J( ^
43.代码的逐行加密9 {* W7 c0 ~$ X& a4 H
44.代码的逐行ASCII码混淆
' l3 c9 F; ~. l0 Q45.完整的代码与处理后的效果
6 k3 l7 k, u6 b# j- f4 N46.实现流程平坦化混淆1
* A$ u; l' L# M$ ` \1 K8 s47.实现流程平坦化混淆2
# ?6 @% z( Q/ q! X. f; F48.实现逗号表达式混淆1& E8 m# c8 l) f) t0 P3 _# s: V& O1 S+ s
49.实现逗号表达式混淆2
. p2 q! k4 Y, C ?$ I9 W50.分析网站使用的混淆手段
! S; E! o) c9 a* E" p' I! J. q+ i51.还原代码中的常量
' n0 B/ n; v/ q% \52.花指令剔除思路
+ T }4 O# C( h6 ?% \4 e0 R53.字符串花指令的剔除
- F! f1 Y. ?3 e, `7 v54.函数花指令的剔除
6 M& j1 X& a) g( a6 V. g55.还原流程平坦化
! Z1 I8 i6 l. ?
# {/ {2 T& i, z/ T) ^4 h) o( C
|
|