|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。+ W; I$ N" p2 I3 A: L3 A3 H
课程内容:; {0 F0 \! y3 J0 u, a0 f
00.课程介绍" y b% ? @( `
01.环境配置
7 b) \. q: F3 G) x02.对象属性的访问方式
* y: a" W k/ |5 m/ [$ R04.unicode字符串( B0 {6 w3 D6 j; A
05.字符串ASCII码混淆2 |( P: i$ K( D( u2 T) J# B
06.字符串常量加密, p) E% V$ J: n
07.数值常量加密% |& I; E6 h2 V8 j6 J
08.数组混淆
1 C$ q2 b9 S, m$ f09.数组乱序( e# D" T+ ]* r& G1 O3 l3 B
10.增加JS逆向工作量(花指令)
+ H* O0 x. B" k9 Q* A11.jsfuck
8 D! Z- A: O% [" z- J8 y. Z12.流程平坦化
* F7 A }5 E# E$ E/ B13.逗号表达式混淆1* f R( w7 K4 }. d* l) Z$ n% ~* c
14.逗号表达式混淆2- C( y% A/ n) i) A7 }9 \/ d! f
15.eval加密
- v/ ?3 E9 }& e6 u7 h7 h8 x3 J16.内存爆破
! d7 t3 R3 M. }3 ~1 k* ?17.检测代码是否格式化
$ y. [8 t4 H- \( g+ Y18.AST的基本结构
7 O8 `/ b# O9 i19.代码的基本结构
* w& N" a- ^3 Y: P* k20.parser与generator$ l# ?2 ?- e' ] Y, r
21.traverse与visitor
0 N7 V6 S2 O& z# j22.types
4 s5 Z8 K" V# m8 O, a _) |23.Path对象详解(Path与Node的区别)
3 Y# i: { w \# W, D( t7 I" F24.Path对象详解(Path中的方法)8 d$ \6 I6 k. y: ~) @/ x7 c; W
25.Path对象详解(父级Path)3 }: n2 E/ G \7 j) v* \9 G4 P( o$ q3 u
26.Path对象详解(同级Path)& z9 m, h I) ~) B
27.scope详解(作用域)& E* P- e' M+ y7 U' D9 f
28.scope详解(Binding)
, X2 R* Q1 y7 k" G29.scope详解(referencePaths与constantViolations)' |+ @1 S- l) E5 Q8 [3 H* z9 Y w
3.十六进制字符串
U$ w r" U, z$ s! j30.scope详解(遍历作用域), V3 `, c1 U$ H1 |+ Q8 d
31.scope详解(标识符重命名)
1 F; [6 d2 t8 f _! V; k( e32.scope详解(scope的其他方法)8 ]4 W5 M: _! J7 S/ I/ R
33.改变对象属性的访问方式( C' P: E5 T, r) j9 ^" j
34.JS标准内置对象的处理
* F2 u$ _" Y2 O# F! Y" C/ Q35.实现数值常量加密( o$ a4 c5 V& v0 j: Y' x, V$ V
36.实现字符串常量加密2 u+ W- Q U4 d' z0 H* C0 }
37.实现数组混淆% `6 K/ O9 p# g6 Q' V% h
38.实现数组乱序2 V( D: H8 I- D) G% w
39.实现十六进制与unicode字符串
" o. ^* M4 k3 D- E, Q! s. N40.实现标识符混淆
7 T1 \6 D. c( T4 n1 O6 u5 _41.标识符的随机生成2 q K" ~ ]4 U: f) w5 E! `
42.二项式转函数花指令) m7 k5 A9 a, [: P* i! A1 k& b M
43.代码的逐行加密
a U( n6 u7 q44.代码的逐行ASCII码混淆
; u. Z ~. |( i9 o45.完整的代码与处理后的效果
; k q9 M' c3 e: `2 Q0 f; K' C; R8 I46.实现流程平坦化混淆1& |3 k( A3 W/ Z: X. M# N; |
47.实现流程平坦化混淆22 W& X7 F7 W, [& ^) R4 z& Y; r6 \3 J
48.实现逗号表达式混淆1- r$ Q$ z- Q; K) j! l
49.实现逗号表达式混淆2( ?' n3 ^) S! s/ i! i
50.分析网站使用的混淆手段3 Z1 _ f+ ~. \6 X H5 I
51.还原代码中的常量
. w1 t1 N9 ?0 F1 c3 U0 z52.花指令剔除思路) \5 ^3 m* C( {. Y/ ?- e- p- n0 [, T1 v
53.字符串花指令的剔除5 R s @* H6 b* t" W
54.函数花指令的剔除
- \ K3 k: v. H( {/ n8 M! }55.还原流程平坦化/ `$ }" A d5 A7 ?, _$ ^
. L5 Y& k& G4 K/ h A1 V
|
|