|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
. a# x l. R) t0 G. c* l课程内容:. f3 y3 _7 Y+ D+ `
00.课程介绍
2 U1 G7 a R Y8 w- X0 L+ B" {( ?01.环境配置, H# ^: e V0 S% Y( |4 \
02.对象属性的访问方式5 W' G/ M% v9 t. _7 h8 K! g; u
04.unicode字符串: L ~7 l- U( O! B
05.字符串ASCII码混淆
~# [7 C, I0 k, I06.字符串常量加密1 P, y) p1 u/ o
07.数值常量加密" G; P5 O z# |9 {. ]) l
08.数组混淆
* n( O. v/ ~3 O0 i4 {09.数组乱序
. v* B! h: f( {# P3 y10.增加JS逆向工作量(花指令)
& ^4 R! [4 ~ t3 E11.jsfuck
1 X# {+ a( R- H" A12.流程平坦化
$ }: ?& D6 p& b' Q! O' s13.逗号表达式混淆1
2 ]. e ^/ I' x, N+ f14.逗号表达式混淆23 `: U. K' U8 q! F
15.eval加密
2 a5 r: k' W2 G16.内存爆破
8 X N% u0 X* R' ~" H17.检测代码是否格式化
* }2 O4 A* C" {) U1 Q3 h0 o# o6 x18.AST的基本结构
! d# b8 Z+ k+ e19.代码的基本结构+ ]7 N: h9 K A% e
20.parser与generator
' M; D! }! z* s6 ~21.traverse与visitor
) x5 x+ ], x1 R) d2 `3 W22.types
+ h2 k! }: c+ `0 c) G8 `* h. J23.Path对象详解(Path与Node的区别)
9 f7 N1 ?5 X. ~8 ]9 \% P24.Path对象详解(Path中的方法)
/ G$ H) o7 f; e9 v- r" }% l& ?2 v25.Path对象详解(父级Path)
1 p* W' P2 b3 Z6 N, n5 j8 u2 f2 P26.Path对象详解(同级Path)
& T- h3 U) O. L/ b27.scope详解(作用域)6 m2 w) o4 U7 i; Q
28.scope详解(Binding)+ g) W, i: q8 C) D0 i
29.scope详解(referencePaths与constantViolations)% ^; p6 v. s9 X c5 x# ^
3.十六进制字符串
' @/ x# B9 `- ]% Q30.scope详解(遍历作用域)% k& [# o7 C9 b
31.scope详解(标识符重命名)8 p# a: g( L/ j( b& W
32.scope详解(scope的其他方法)8 b( K& t0 [. r) `8 r
33.改变对象属性的访问方式
" _, X5 J8 H; P4 k! K# J34.JS标准内置对象的处理% P+ @3 p. e8 ?+ B, W
35.实现数值常量加密6 E9 \# q S5 i" y) J5 T6 @ y
36.实现字符串常量加密
7 x/ X; ^" o ]: J! j8 E* c37.实现数组混淆: m; g9 v3 ]5 b5 l4 }. s3 E6 n, E
38.实现数组乱序' r1 }: b5 l! m! ~
39.实现十六进制与unicode字符串, p& P5 C d3 l4 @' M( ]5 X- [
40.实现标识符混淆3 O; q! {3 O3 x3 i5 }/ }, y
41.标识符的随机生成
+ m5 B5 E/ E) U9 e& p/ E42.二项式转函数花指令5 x2 a6 U" e& ^ l9 }
43.代码的逐行加密
5 e# B. f6 h& \, `- Z. T44.代码的逐行ASCII码混淆; l! `+ s, A+ [; K2 T
45.完整的代码与处理后的效果7 M. r2 k4 h- t: r& U! o8 Z/ W
46.实现流程平坦化混淆1
* V+ h" s9 s0 S" D9 O* r47.实现流程平坦化混淆28 j0 ^7 k+ ~% s8 F# A% y1 ^
48.实现逗号表达式混淆1% i" a1 [- @5 `' {9 X) C7 M+ A9 f5 S' k
49.实现逗号表达式混淆2' U( }; `: |) r1 R7 D7 p4 q
50.分析网站使用的混淆手段( J) g7 h: f; X* M
51.还原代码中的常量# s' z( N/ g( h& s6 N: j
52.花指令剔除思路
5 j4 K& o9 P% P( ]53.字符串花指令的剔除
; `; u3 Z' ]. i$ z54.函数花指令的剔除
3 l0 I( |) Q, Y* B/ r3 k5 ?55.还原流程平坦化
& u: }/ p$ V7 ?: t5 ?, a 1 J2 q2 E% r# m' ~& h
|
|