|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。3 J& g: ^2 }8 y8 l6 h$ ?
课程内容:! M5 z }0 j5 _% n3 o
00.课程介绍
! r6 [, z- ]. r# z4 Z: F/ A& b01.环境配置% p7 a& ]' u% A% G1 m
02.对象属性的访问方式
6 Q3 B. Q- }3 T* }3 z1 n04.unicode字符串- K) w! ^2 b8 @
05.字符串ASCII码混淆7 L7 N$ X" |. `& T6 J
06.字符串常量加密; P" h. O9 O6 }
07.数值常量加密. Q C, M* U! r( V
08.数组混淆( ]) s' Q' l$ j! I
09.数组乱序
`- M8 N, | C! m10.增加JS逆向工作量(花指令)
! w; N, @8 r1 } o11.jsfuck
: R e/ [0 O' {12.流程平坦化! N0 `2 M2 Q4 ]- i& a# G. ?
13.逗号表达式混淆1' E! X' O* ?, s. @: J4 I- g$ ^
14.逗号表达式混淆2- E; u" I9 a7 S$ ]. C. g3 T
15.eval加密' l# ~5 l: u. o2 V; p) B
16.内存爆破
0 O, |! d" z j( X' @% N! Y6 Z; E17.检测代码是否格式化& |' k1 E( N' o) d% y
18.AST的基本结构" n, f- ?/ u: a) M
19.代码的基本结构; A, M! o4 `+ k( e1 u& R+ E
20.parser与generator
1 F# @ O& X# P8 c* f21.traverse与visitor
8 N8 E b; V( Y( C& Q22.types+ e2 Q/ \- v) E" `( \& }
23.Path对象详解(Path与Node的区别)0 j& s0 X. I# n
24.Path对象详解(Path中的方法)
Q7 V0 ?- S; q) f [8 {$ r3 Y25.Path对象详解(父级Path)
$ K& u) _& y9 n26.Path对象详解(同级Path), x* J" t: U! K. I" j
27.scope详解(作用域)
( e1 E q8 F( a. Y. ?28.scope详解(Binding)2 v. K; m5 A, a) K* u
29.scope详解(referencePaths与constantViolations)0 V9 x" \4 r$ ~! ?, ~6 E3 q
3.十六进制字符串& Q# {, J. K D9 W+ q8 S2 `
30.scope详解(遍历作用域)
. B% @1 n L' u2 K7 s+ Z31.scope详解(标识符重命名)
. r: I. }4 z( \, e7 `32.scope详解(scope的其他方法)
( I: j: u4 L. m/ N8 ]33.改变对象属性的访问方式; H5 A* `9 n! x/ E+ L5 J4 ~, ]
34.JS标准内置对象的处理
- P) c$ y, X5 ?1 A35.实现数值常量加密# t- U) \% Y8 J
36.实现字符串常量加密
6 D; ?( M: M$ k$ V3 ^# ^- T! x37.实现数组混淆: P8 z# F3 b- l# B# W7 r# n) z2 ]
38.实现数组乱序4 d$ L2 z. A2 C+ C5 t+ i( t6 }1 |
39.实现十六进制与unicode字符串1 s4 x0 N! O- \, \0 }
40.实现标识符混淆
* A3 j2 R! u. t) L" o7 R' G$ b41.标识符的随机生成
4 j$ X" U4 `: a" R42.二项式转函数花指令
% M' \$ | L2 j0 P' a1 B43.代码的逐行加密
% ?/ M) }& b! v; Q4 k6 b44.代码的逐行ASCII码混淆
9 e$ H3 g9 { Z8 R45.完整的代码与处理后的效果
) p* E7 ~( I6 F a: [6 C$ X1 } a; |46.实现流程平坦化混淆1% o# {0 v! K6 h5 C
47.实现流程平坦化混淆2. _" r( ^& p2 Y& W- G
48.实现逗号表达式混淆1
7 J% l8 t. ^& n2 J7 z/ ]/ h" Z# j49.实现逗号表达式混淆2
6 |3 Z$ w# R" ?* F6 b- D7 A50.分析网站使用的混淆手段$ _$ a: a: T/ e2 b
51.还原代码中的常量; Y" O8 O6 A: z
52.花指令剔除思路- [- ]4 D9 {: R% k0 `; K
53.字符串花指令的剔除
! S" E; V! H* z: ~! \$ b Y54.函数花指令的剔除
; u! T0 O+ b& V, {1 {+ s, Z55.还原流程平坦化7 B* F4 O( M* L+ P
! |; T( S4 ~8 O1 j8 l
|
|