|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。0 F" t( b0 O- p& M0 X9 x
课程内容:) m1 p( K8 Q8 ^ Z) u' H& h
00.课程介绍
% ~/ p! o( i; [- X2 C: ]8 \# z01.环境配置
6 G2 q: [( y& s3 X& {02.对象属性的访问方式
# m) I1 y' j I& [' }04.unicode字符串9 H9 M z+ {9 ~! o. I* @# p
05.字符串ASCII码混淆
# ]% }! r$ I. a4 x f6 @; L5 l06.字符串常量加密/ o" j' W0 Y1 r" [+ r5 H! ]# s0 `# ]2 s
07.数值常量加密
8 c4 I7 \3 W( \+ J M8 j08.数组混淆
* q+ i4 E' U( I( `; w09.数组乱序
% S+ u5 |" j0 u7 `! S% \6 m& L' _4 z10.增加JS逆向工作量(花指令)' _6 }, I. A: i* P
11.jsfuck
: v8 L5 R' z( `) c8 e5 e12.流程平坦化1 l0 a, p' P& }) M% F
13.逗号表达式混淆1
( ^; m9 v! S8 g- b% l$ w( c14.逗号表达式混淆2
+ p V8 F6 X8 u15.eval加密3 m% x, r ]$ }) C& |
16.内存爆破
) M7 B* U9 w# z/ u9 V+ O6 ?2 [& l17.检测代码是否格式化
/ k- ^, \1 P2 Y4 j18.AST的基本结构5 [% @7 `) d- v: ^4 X
19.代码的基本结构
1 z& x7 F" s( T' R a! O# y20.parser与generator
( U8 W& |; d( {/ q1 e21.traverse与visitor/ q! K3 z( Z9 N& Q, z9 u
22.types
' c& }8 u% A+ d& p8 x7 M* X: C& K23.Path对象详解(Path与Node的区别)% z# }" X& Y4 D- Y( h) h
24.Path对象详解(Path中的方法)6 W5 _+ Y2 \6 a! a+ C1 H8 y( ]
25.Path对象详解(父级Path)
' ^' m; i p2 ~, t. b26.Path对象详解(同级Path)/ R T0 V3 d3 W% |; R
27.scope详解(作用域)7 f8 B: y/ V; {: N$ C) j6 C
28.scope详解(Binding)6 C( i' r6 S8 G+ G0 W/ v& G
29.scope详解(referencePaths与constantViolations)3 t# \) W9 `+ E4 ]1 z
3.十六进制字符串
& _) ] C! \# Q, Y# W# g$ ?; D30.scope详解(遍历作用域)1 Q; ^. s. G3 a: n) a( Y
31.scope详解(标识符重命名)
9 m2 z+ I1 k0 ^4 l7 G5 k32.scope详解(scope的其他方法)9 d& V& {9 v1 L1 y+ _9 {( {6 ?2 x
33.改变对象属性的访问方式6 y+ T+ z* m0 Y( p7 c$ P
34.JS标准内置对象的处理
4 K" t }% `) u9 `" t+ m35.实现数值常量加密
% ~1 e3 x6 ]0 r1 s8 H, i36.实现字符串常量加密: _3 j% p" M. O
37.实现数组混淆
. ^$ |4 f7 R0 ]' P% m1 `+ D38.实现数组乱序: _& D) F" \# y5 D$ ~
39.实现十六进制与unicode字符串: i5 p J: r$ ]% ^
40.实现标识符混淆
1 d$ j D5 C- u1 |0 J41.标识符的随机生成
9 b0 p; b( G3 R9 j42.二项式转函数花指令. D: R* e0 ?0 O0 I' R Q: }4 u& J
43.代码的逐行加密
4 g* y3 C" {3 x1 [* d44.代码的逐行ASCII码混淆* U& [; v2 ^0 N5 W( K# h, k$ N) w
45.完整的代码与处理后的效果
q) p2 H* u1 X0 b; m5 _46.实现流程平坦化混淆1
$ `4 V) @# A$ X% S, H8 t47.实现流程平坦化混淆21 k/ I3 I+ x# E# r# N g
48.实现逗号表达式混淆1: ]4 z. V# v, I/ p+ {& ^8 n
49.实现逗号表达式混淆2
" J5 g* o1 g( K7 U4 G, P50.分析网站使用的混淆手段4 S3 I+ Z! \% Q1 j
51.还原代码中的常量- Z- M; L& @2 j! W! D) H( d4 w# E
52.花指令剔除思路
1 v; r M8 l" q4 T/ m" {53.字符串花指令的剔除
7 n U1 V- b/ _' A9 L/ \2 H# ?54.函数花指令的剔除
7 H2 b$ r: k% ?2 G55.还原流程平坦化& Q/ E* U% p) ], Y2 z
4 b) d+ F% ~2 W$ q1 g* e" k" G
|
|