|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
, u- {9 N& L0 D0 f课程内容:' F2 ]6 I0 V! _* k
00.课程介绍& A6 a3 \; n2 f- P7 F
01.环境配置
; _: c* r9 u: o; ]02.对象属性的访问方式
, N6 O9 o$ [ L04.unicode字符串
2 w" `" i( b- w4 Y( z! \05.字符串ASCII码混淆" }' _& j+ I2 r; H
06.字符串常量加密
+ d/ F6 M* i* k w5 _, ]& J07.数值常量加密. f8 e1 ^( S( C$ @! i5 |4 C
08.数组混淆
; S" d( x2 a" {/ b- U+ G6 W! f1 e' Z09.数组乱序
) {2 _. P) ?) m/ w& L4 _, ]" Y u# u10.增加JS逆向工作量(花指令)
1 z, b ~$ B* m( r/ [1 v& V11.jsfuck
5 w! l/ K6 O' u& e5 f6 w2 P12.流程平坦化2 I. `& G1 ]( p) k: ~4 T% n
13.逗号表达式混淆1" ~6 ]8 h( N, _& s; W& O( e: k
14.逗号表达式混淆2
6 I$ z6 }5 q- b. `) D15.eval加密
7 Y# G1 j) {: p' X6 `" i16.内存爆破- O9 U6 f5 Z4 C, y
17.检测代码是否格式化+ }+ E( J0 H) L2 K' C
18.AST的基本结构* @9 y5 _+ x( q% n# t
19.代码的基本结构
$ e7 x9 e. a* r. Y20.parser与generator! Z( D2 r& `4 e+ y9 M2 O7 V# p
21.traverse与visitor
( s7 s" [$ K% H7 W( x22.types
X+ W. I @( N7 p- a+ H ^0 F3 M23.Path对象详解(Path与Node的区别)% _, ^2 Q# @; R! b- {3 Z- ^ B
24.Path对象详解(Path中的方法)4 K6 K) V, [# m9 c5 ~( H
25.Path对象详解(父级Path)) k2 \; C; R# ^' U8 \; g0 S) B
26.Path对象详解(同级Path)
/ t* F7 ^- |' c) Q3 r" G9 ]8 x27.scope详解(作用域)1 S9 ]4 c$ O! w
28.scope详解(Binding)4 E1 r/ {% l* f, n8 ?
29.scope详解(referencePaths与constantViolations)
! H% ?% S) W1 Y. Q: T# D$ p$ x3.十六进制字符串
" d/ d6 y# _; T- Y" N' m) z4 }30.scope详解(遍历作用域)0 y: I, [" p) Z$ ~+ T2 ?$ C
31.scope详解(标识符重命名)
8 A( ~; i. q' ^32.scope详解(scope的其他方法)2 w6 w7 p) C: O! t5 t7 ]# q
33.改变对象属性的访问方式% D S2 B: M+ H1 K; a
34.JS标准内置对象的处理
{1 G( o- ^7 a- N35.实现数值常量加密, M2 ?3 f- l6 T( A5 x& H& ^; R. C
36.实现字符串常量加密
* f& H) W, j+ K+ j$ N2 s" u37.实现数组混淆
& y* u- |: F$ m9 i: j' J0 {% _) {5 L38.实现数组乱序
& W+ P% A6 P4 k3 Z- t1 T! F" o/ R39.实现十六进制与unicode字符串( N$ L$ s5 A! T, Y
40.实现标识符混淆
9 g6 z, t- f! m% W8 [7 c41.标识符的随机生成
! Q8 ? z# G% F42.二项式转函数花指令- r2 O: o* J; N( R% O3 P1 c2 k
43.代码的逐行加密' j, R; o$ z4 ^, p
44.代码的逐行ASCII码混淆
! L7 |. Z9 b* r, x' }. s9 n45.完整的代码与处理后的效果) C$ K: u0 k. S$ J* z" ^. ] n/ e
46.实现流程平坦化混淆1 H5 k$ `3 t: v
47.实现流程平坦化混淆2
4 Z+ x9 m; S" @* d$ B( d; y48.实现逗号表达式混淆1
- |/ F1 K8 \5 O$ `8 ^. y6 V5 V49.实现逗号表达式混淆2
3 o4 G' g2 S2 s0 V) Z50.分析网站使用的混淆手段
6 {( W O2 R& y! V" k: @51.还原代码中的常量, n. | q$ {9 v W4 v
52.花指令剔除思路. S! y9 |7 K& E1 H: s- r9 G9 u0 Y
53.字符串花指令的剔除
5 F; J4 a6 A9 P3 x) i5 P0 \0 e- U8 [! N54.函数花指令的剔除& T o% r6 r8 H, Q
55.还原流程平坦化, ^( l8 F- A1 U% \2 ^: W
, m0 S0 i% h: N0 H- k( i; N i
|
|