|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
2 a1 _4 A* B6 n g5 f! V6 |9 h课程内容:7 G+ r0 t+ r' E* H! x3 Y0 W6 m
00.课程介绍- s+ t+ h0 T0 `8 w3 Y
01.环境配置
! ^ `/ v/ W% `2 m& O7 Y# |* X02.对象属性的访问方式8 y, f+ l8 I. m, L
04.unicode字符串
( h9 i5 j2 I* e- c3 a) X$ F05.字符串ASCII码混淆9 e# e3 F& q9 F- D- F: K( l
06.字符串常量加密
U0 O5 {, P/ G2 M07.数值常量加密
* ]' ?3 b9 v. q+ P, K" A08.数组混淆$ E; |& E2 E3 [7 b4 W
09.数组乱序+ d1 u1 d+ Y6 e
10.增加JS逆向工作量(花指令)% ?9 ]% V; {" U( r( d! @
11.jsfuck
! F3 C2 @# U- Z4 x12.流程平坦化& {# a$ @+ k8 g$ p; S7 D
13.逗号表达式混淆1
S6 a& n3 T: S2 \: ]+ q14.逗号表达式混淆21 c/ Z( r7 ]5 \
15.eval加密
$ @+ N5 n3 o4 R" } j+ |3 {16.内存爆破/ e/ ^ a s7 k9 X- S7 Z! ^
17.检测代码是否格式化+ v9 N: ~& s, K7 c/ q, a# s( J
18.AST的基本结构# Z) S3 \ H$ i
19.代码的基本结构
/ F0 S# v2 I8 w20.parser与generator
9 K9 T: u# \; D. P" k21.traverse与visitor
, K& T1 n$ k& d3 R0 ?22.types
. @/ Q+ }+ L/ l9 B( s23.Path对象详解(Path与Node的区别)
- o' ~0 ?; I! X+ d( a' f24.Path对象详解(Path中的方法)
0 j1 w6 i: }4 g( w: J4 ^25.Path对象详解(父级Path)& y, m4 z v" c: U
26.Path对象详解(同级Path)' @* Q6 k( P: W' E7 g
27.scope详解(作用域)
8 d' T" r% o/ `28.scope详解(Binding) J; k1 Z( e' _! t" p, z7 u6 D
29.scope详解(referencePaths与constantViolations)
2 ?4 D1 R$ s8 s' I0 Z. \. f3.十六进制字符串
9 f1 }& u; _; Z8 I30.scope详解(遍历作用域)
: h) K2 s% \7 [) M2 h# {* Z9 b: o, J31.scope详解(标识符重命名)
- N. A" l) F2 h. @9 X; Y2 a) u: i2 [32.scope详解(scope的其他方法)1 O: D6 f! m) h+ U
33.改变对象属性的访问方式& s. e/ M8 Z7 i0 a& r
34.JS标准内置对象的处理
' }; E* V! H5 y" v0 M6 Z# E35.实现数值常量加密
$ Z2 V/ a) b9 ]% P5 B: t7 ]36.实现字符串常量加密/ q4 K- B6 M, P
37.实现数组混淆
0 u9 M, N: C0 N" Z38.实现数组乱序; z' E! y2 e* f8 R# t I& d
39.实现十六进制与unicode字符串& o& D$ K5 [! M+ O1 V! ~; T4 o
40.实现标识符混淆
* i2 }# |, J! z6 X- }, S41.标识符的随机生成
5 t, M* h0 ?* G& a! O) h42.二项式转函数花指令6 {) m8 a- I" a' X
43.代码的逐行加密
- H3 Z% C" {& U. J44.代码的逐行ASCII码混淆
# {/ [/ G" X& u$ u, R, {2 I0 O45.完整的代码与处理后的效果0 w8 @. c3 `9 {, s2 Q
46.实现流程平坦化混淆1
: t! B* o: u0 e( b. C. K47.实现流程平坦化混淆2' m( e2 w0 ]) u7 L. K& B6 r+ n
48.实现逗号表达式混淆1' Z) k# Y% Y$ y% `# F! E
49.实现逗号表达式混淆2
% j- n9 j( D" H2 i: }& f50.分析网站使用的混淆手段
: d& \0 v1 i; {51.还原代码中的常量
$ }* t9 a4 R( A/ X2 c5 H6 h% ~52.花指令剔除思路9 H. C' ~& t5 s, l6 ?' w, z6 O
53.字符串花指令的剔除
% _& m. C# L- Q% m54.函数花指令的剔除* l0 x8 g" S Y( U
55.还原流程平坦化
5 S6 a- K% q7 B$ u / V+ L5 R2 @* H; ~5 k9 @ c: f$ H3 }
|
|