|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
5 ^0 ^. A6 g6 y" b5 A; \; e课程内容:, h; h6 C/ {- `3 G% r, g. f8 ^
00.课程介绍
$ {: X9 i/ l/ R T5 A$ B/ O3 q A01.环境配置
8 h& z z% C( ^8 _02.对象属性的访问方式7 }& z+ R1 O+ ?7 ^- D' L( ]
04.unicode字符串. x2 s! P2 u v* |# Q: e3 V
05.字符串ASCII码混淆7 d% m/ P, T- D3 N
06.字符串常量加密, U4 Y$ \) z- ^: n
07.数值常量加密
. |7 U; B0 c: G7 I$ X08.数组混淆
7 @: N4 N* u" B" S' }+ k: v6 }09.数组乱序, K3 j1 F/ L W; V. |
10.增加JS逆向工作量(花指令)9 U* |) R( s& Z. V# y6 a1 @
11.jsfuck
3 v: F4 h' t7 ^5 l12.流程平坦化
, E1 T8 p j7 @. B; C4 y; A( U13.逗号表达式混淆1
# i1 \4 F1 O" _1 k14.逗号表达式混淆23 f- |0 i1 O z! K6 ]% H
15.eval加密
5 @$ r+ {' l: M& \/ H! Z16.内存爆破
( E( o; f& u" x2 C17.检测代码是否格式化$ ?$ M3 G, G1 n/ Y, Q
18.AST的基本结构( A8 {4 @, `& f( R
19.代码的基本结构
+ D7 d& p# {5 _: V1 t# s/ W9 T3 ^20.parser与generator
( z; |' H5 Y! h+ k! F% G/ E1 Q21.traverse与visitor- Q; f" M8 J m/ W8 r( j2 O
22.types
# \. s6 y7 ]; N8 f23.Path对象详解(Path与Node的区别)# b! F1 r1 p. i& I' A+ i" `- I
24.Path对象详解(Path中的方法). K F0 I& t! j5 K
25.Path对象详解(父级Path)9 G& u% \- @4 }8 ?/ L0 n
26.Path对象详解(同级Path)+ s$ t7 }0 K8 f7 }: D2 t. U9 S
27.scope详解(作用域)
3 d2 G, T8 f. J7 E1 }28.scope详解(Binding)
, V( _9 o* M b+ ]9 E29.scope详解(referencePaths与constantViolations)8 m+ A& f! W' M2 J9 [; l/ {6 F4 ]3 Q A5 t
3.十六进制字符串
4 }( }2 `2 i8 m6 J30.scope详解(遍历作用域)
9 G3 z: f @4 q# {31.scope详解(标识符重命名)
* g$ s; f# o" m+ l1 g- T32.scope详解(scope的其他方法)
# j8 r& n. I0 g+ z- [33.改变对象属性的访问方式3 \' t6 n3 J3 I' h1 r7 }0 q; B
34.JS标准内置对象的处理
' @8 ~ r* ^; O( V5 f" E35.实现数值常量加密
* {! ~8 H1 g, ` ?6 ]36.实现字符串常量加密
# |( f4 e# M T2 x" W# P5 X g0 h( ~4 {37.实现数组混淆6 {2 x& d, ]9 {) M I r& g/ {: n
38.实现数组乱序+ b- o7 E* W; B9 w4 s
39.实现十六进制与unicode字符串9 C' }% A+ Y U; y2 t" s
40.实现标识符混淆: D. J$ }) K/ ^) g2 o) e
41.标识符的随机生成. A7 Y4 R6 I7 v4 g
42.二项式转函数花指令- x* [4 N T, S* C R! p+ @1 d
43.代码的逐行加密0 F8 z8 V5 E" O6 X
44.代码的逐行ASCII码混淆( e' |/ Q. m! i D, ~& j: @
45.完整的代码与处理后的效果( i" O% d2 U+ |
46.实现流程平坦化混淆1
; M% \3 U) J6 `$ W5 w/ M47.实现流程平坦化混淆25 }* |& m- d3 @9 }7 A0 j* ~
48.实现逗号表达式混淆1( `2 H1 M' r( e" {. }) j8 s- f2 l' v) S2 q
49.实现逗号表达式混淆2, A; y2 @9 `0 ^
50.分析网站使用的混淆手段! I; [, L9 ?9 U/ R2 Y- w' D
51.还原代码中的常量/ Q$ L2 z8 D5 g# @' }2 A; L
52.花指令剔除思路9 }& e1 w( y+ D* `* c" x
53.字符串花指令的剔除
x) U+ @1 R' M8 g54.函数花指令的剔除$ ]$ V8 m. ?) }; q& h0 {
55.还原流程平坦化
: n" K( N, B% M 0 R/ U4 k6 v) E; Y% X9 K; T3 z3 }
|
|