|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
% _" t/ S7 q9 s3 X& r课程内容:, f4 C# d, h) ?3 A/ n6 ]
00.课程介绍: H8 s- U1 n$ M' U; k
01.环境配置
# F7 w; P" Q) b# A: i02.对象属性的访问方式. O0 j+ A: m: h3 e
04.unicode字符串# t n) H1 P; X, i4 U" ?
05.字符串ASCII码混淆( A. y3 d9 d# u0 ?- k& {# {& W
06.字符串常量加密$ N5 l" e2 g7 p; }* @
07.数值常量加密1 Z+ d" Q- G4 N1 D
08.数组混淆
E% ~' ]. _5 R" a* K6 W/ Y9 A09.数组乱序# W n$ a: f+ @8 X" @0 ?
10.增加JS逆向工作量(花指令)
0 k$ V7 L, K) P11.jsfuck7 X r+ X8 C* ~" | [1 w
12.流程平坦化* V- p6 M& D9 I* {) s( ]
13.逗号表达式混淆1' q/ o" t! L7 J, w8 H5 M T9 \
14.逗号表达式混淆2
4 b( u; c, {" }; g4 r" f15.eval加密. _, }3 K8 [# \
16.内存爆破
# B; \$ Y7 S4 k$ _/ G17.检测代码是否格式化, f$ J4 m7 J4 \1 z" W/ s
18.AST的基本结构: P# N2 A; Q, a6 C/ ^9 @
19.代码的基本结构- U3 m( \6 s' Q' G% W. |' q! e
20.parser与generator8 l- K6 ]/ f9 m" {9 P$ p
21.traverse与visitor
% N* F# b0 q3 m9 G3 s! K1 A( y5 C22.types
; {* B% S } x" r3 m5 C; m# ]23.Path对象详解(Path与Node的区别)
- ^' { i k$ _+ l24.Path对象详解(Path中的方法)9 F1 I& y) c8 W$ }. L( _
25.Path对象详解(父级Path)9 z: i% K* }; T
26.Path对象详解(同级Path)- U% f' L4 A- G: ~
27.scope详解(作用域); R0 B7 A1 S" f% _+ J9 M: }, v
28.scope详解(Binding)' {* c- b! \8 ^$ j, x5 ~ V
29.scope详解(referencePaths与constantViolations)4 x* U' O1 t* L3 p0 [2 ]4 X7 a
3.十六进制字符串, g+ m: g$ p, `9 }+ r2 `/ p
30.scope详解(遍历作用域)
8 L. C4 E8 C* e! V# E3 i31.scope详解(标识符重命名)( a7 J( }6 u' l1 a* a+ K
32.scope详解(scope的其他方法) q$ [' t' t4 M
33.改变对象属性的访问方式% [: S# v" z- U0 k& Y- }
34.JS标准内置对象的处理
0 D3 _8 b/ J- h35.实现数值常量加密
: U0 N! K! Q3 Q# j! l# j36.实现字符串常量加密
* u5 N" c* f! E3 m/ a37.实现数组混淆
% I0 Z% P! }+ C6 n" G4 Z' D7 s38.实现数组乱序
$ J% m5 s; p" U) t0 _39.实现十六进制与unicode字符串* L! D* V3 m5 w
40.实现标识符混淆5 P% ]7 w4 l( K- Y# S0 w$ Y
41.标识符的随机生成
[: M& u- _6 f& H6 S42.二项式转函数花指令' Y/ j/ }) e8 n( `" C
43.代码的逐行加密
! Y( C: T! e8 M7 @) U& j44.代码的逐行ASCII码混淆
+ ?, B' r+ P% |: W$ K7 j45.完整的代码与处理后的效果* W% h. }+ r5 j
46.实现流程平坦化混淆1
4 [: i# w! R- F( }- c$ }0 V1 L' ] A47.实现流程平坦化混淆2+ T0 y3 Z/ g6 k
48.实现逗号表达式混淆1
$ W3 {$ l% N8 d8 i' d49.实现逗号表达式混淆22 B* L) F/ |( L$ `: ^- E" L$ p
50.分析网站使用的混淆手段. Z: |3 F# ]+ F7 D2 {: q5 E# X7 ^
51.还原代码中的常量
' C7 q7 [, ?3 w0 e7 w5 u: Z$ w8 P52.花指令剔除思路4 r4 R9 [7 \7 s
53.字符串花指令的剔除
, F2 C% \ l) r# j7 T54.函数花指令的剔除
6 ~) d8 j- A$ K55.还原流程平坦化- F6 L$ X9 U9 p- F7 {
! K5 A% p5 L% T: F7 ?
|
|