|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
. Z5 }4 ?5 y+ }5 O课程内容:8 H0 x, s. Y# d0 o
00.课程介绍- n; V8 d4 w# d; m r
01.环境配置
7 q# ` f8 X/ l4 r% G02.对象属性的访问方式
- G2 m* y# K2 Q/ ?1 P7 E04.unicode字符串
5 t0 t% M1 O: v' p7 u7 s1 U) N: _05.字符串ASCII码混淆* V2 @. i6 l) N9 k5 V/ v/ u
06.字符串常量加密% _/ r$ R% c4 u/ X) a) [
07.数值常量加密
/ I' ?3 c' `( ^: ] g! K3 S08.数组混淆+ @ N$ X9 c/ a- U
09.数组乱序
& [! p _0 Z+ D# I; X( O% l10.增加JS逆向工作量(花指令)3 ]* W/ t: n# O1 X# i
11.jsfuck/ i$ U& l/ D0 P# i! [7 l1 M, }1 d6 e/ s
12.流程平坦化
6 U9 Y. C; f; ~13.逗号表达式混淆1
0 q6 H- Z; D/ M5 g( D5 p0 e6 [7 `& U14.逗号表达式混淆2& L3 a% P4 B4 o$ _3 D7 j4 c
15.eval加密
# e- t; `3 J4 _& c16.内存爆破
4 u* v. @3 I' @- k# ^, ^17.检测代码是否格式化4 s" B. j0 O" Y" G
18.AST的基本结构
! l3 ~$ g9 T' W8 ]- |7 R19.代码的基本结构
# j( z1 `# u1 `) v7 R0 I20.parser与generator
" D2 c5 V2 E7 M21.traverse与visitor
" G* l9 Z; R' B- t( G! X7 f* _22.types
" B7 [0 j9 U* |3 s0 S8 h6 V! F0 K23.Path对象详解(Path与Node的区别)4 @7 d3 x! j; o' K* z
24.Path对象详解(Path中的方法)( s5 h, }! W { [6 y! O+ u
25.Path对象详解(父级Path)/ ^; ], }; T# z0 d
26.Path对象详解(同级Path)0 R& b2 g2 s$ z' i4 N% \6 r8 a g* p
27.scope详解(作用域)5 J3 X0 Z; ~$ P0 W4 k
28.scope详解(Binding)
% x2 U. V6 r$ X& _; M; j29.scope详解(referencePaths与constantViolations)1 t( J8 }5 w1 k4 c7 z$ z( W5 F
3.十六进制字符串
2 N/ ?0 u& o Z3 c: p3 l30.scope详解(遍历作用域)! W" I' t. ^, X* [2 x& R
31.scope详解(标识符重命名)
, F" b, q6 H- W1 t# c. ^32.scope详解(scope的其他方法)$ W5 C6 W- @) }4 _; C' C2 T
33.改变对象属性的访问方式6 Q+ _% C5 V' \& s T2 u; K8 Y
34.JS标准内置对象的处理. f. L" ^0 q: a! |$ i+ M( H
35.实现数值常量加密/ R _% s! _7 x/ b, J* |2 S8 F1 ^
36.实现字符串常量加密- }( ~) s- V% V
37.实现数组混淆
5 B2 q( @3 s, ?38.实现数组乱序
& C0 z) D6 [* c7 z7 e! R9 N39.实现十六进制与unicode字符串# `, y1 K! m4 d4 t9 m& c/ R
40.实现标识符混淆
8 [: w+ o8 l H41.标识符的随机生成
5 Z$ p" c$ K7 n5 h42.二项式转函数花指令
r6 v! _/ s6 V$ N& N" s43.代码的逐行加密( M! Q! T5 O/ N& G, h8 V5 q
44.代码的逐行ASCII码混淆
( M% M. q% k* W0 Y45.完整的代码与处理后的效果/ l5 d6 u' o9 I: E! L. r% T; j
46.实现流程平坦化混淆1
( h3 {( l4 ]3 B47.实现流程平坦化混淆28 g- `6 y$ P. b7 x1 s; i" P
48.实现逗号表达式混淆14 A) Q2 ?/ K" u1 Q4 G
49.实现逗号表达式混淆2
2 B+ I" M1 }- e& Q0 n50.分析网站使用的混淆手段
% _1 F: W4 [' i5 H9 D" E6 z51.还原代码中的常量
/ i! F# v/ m& D& ? A8 ^52.花指令剔除思路
7 x+ J" i& p9 l: C. K1 Q53.字符串花指令的剔除- B; i! q: R/ y5 m1 ^1 Z
54.函数花指令的剔除
; e" O" f# x; V t3 E9 r, E1 n5 J55.还原流程平坦化/ c2 {1 l/ R5 ~; F
" q8 m2 p2 D8 V* K# z
|
|