|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
0 ^$ |+ j- Y) V( E9 O5 { w课程内容:
! V, [6 k! {: o00.课程介绍
, I& \; ]8 l' `5 a" P/ K01.环境配置
4 H8 F+ M" ?! t; r: q" a% h8 F+ R) e02.对象属性的访问方式% Y' @, `) }$ D& L7 @' c2 k1 S) x
04.unicode字符串0 Z7 ?" g. u; j) S( c: p. P( g
05.字符串ASCII码混淆8 ~" j% E. y: m7 ~& M
06.字符串常量加密2 I! I" v' t% L2 Y: T" D, W
07.数值常量加密
0 S, x5 q& J2 E, w, R3 g; r08.数组混淆* I6 [/ d! O4 g) d; P
09.数组乱序8 {: k! f( _ c8 H9 g
10.增加JS逆向工作量(花指令)+ G4 U" n5 W. |) E5 D0 W* b
11.jsfuck( c# b9 n# d7 S
12.流程平坦化
4 q+ ^$ U( b$ G% S- W# v: y3 L, P, L13.逗号表达式混淆1
$ G( h% A7 o1 e) u T2 Q O14.逗号表达式混淆2
$ S$ B6 j0 P8 O1 F3 N" n3 _: u) ]15.eval加密* z8 v e/ K$ K, Q$ [+ k' p6 C
16.内存爆破
: u/ @# D8 \+ _& h17.检测代码是否格式化: [" o6 ~$ h" M% t
18.AST的基本结构
0 I% u) P- D) M7 w6 j9 {3 M4 l19.代码的基本结构( K* \- t0 ]( E5 H: a+ v
20.parser与generator3 V( V b9 _( h; v
21.traverse与visitor
4 e1 z5 g, |. K22.types
3 e4 u1 P D2 G, z23.Path对象详解(Path与Node的区别)$ ^8 G7 I$ p, o( W* S5 o$ ~
24.Path对象详解(Path中的方法)
* G7 y6 K& T& G) B* E25.Path对象详解(父级Path)# p$ b4 @* }/ F7 V4 \1 F
26.Path对象详解(同级Path)
" d" R. c; v& [1 u5 \ k: T27.scope详解(作用域)+ Q8 i8 d9 Q, ~' B
28.scope详解(Binding)
' U t0 b$ _4 M0 b0 H0 ?( K' O29.scope详解(referencePaths与constantViolations)
2 p9 q. o A& }* d3.十六进制字符串1 F5 |$ g2 p# e# N. [
30.scope详解(遍历作用域)& P, Q1 m% [ Z! Q: l5 f8 ?) Q
31.scope详解(标识符重命名)( S8 h7 K2 Q) j' k
32.scope详解(scope的其他方法). [9 Y2 d; I. ]2 L; v8 U* K: w
33.改变对象属性的访问方式. _( R- y. N6 ]
34.JS标准内置对象的处理
4 F4 |3 }: P* d; `35.实现数值常量加密7 N8 ^' r: ~1 Y- \
36.实现字符串常量加密
2 l- c$ L6 g# @: t9 a37.实现数组混淆 z% H/ Y! a- n/ E: c" W; L
38.实现数组乱序, G% ?9 w+ n. X! c) E7 g, ~) h/ W
39.实现十六进制与unicode字符串
& B+ i3 L {' @) A2 W4 v7 W u40.实现标识符混淆
8 y" V* e" n9 v' }1 i7 w41.标识符的随机生成
' u, I |2 W% r1 M7 l u6 B2 B9 T42.二项式转函数花指令 `7 H" \7 p' L' g
43.代码的逐行加密
! L; x5 V6 M1 m5 i& [3 j9 o8 W44.代码的逐行ASCII码混淆
" R; A4 m, k e9 ^7 t# Z* [45.完整的代码与处理后的效果
X7 ~, i+ `' G) u" [$ R; }3 H46.实现流程平坦化混淆1/ b) f: n/ F% T! A. N4 t2 G
47.实现流程平坦化混淆2
" y! [) I I! x4 E( G2 m% M# b48.实现逗号表达式混淆1+ r7 Y6 C3 G/ F# y- Z* u3 _ \0 S
49.实现逗号表达式混淆2; ]) Q2 b, U& j* w3 B
50.分析网站使用的混淆手段9 _$ k. l' ]7 f2 l9 d
51.还原代码中的常量
# L$ K' Q& U1 s4 ^: B, i52.花指令剔除思路9 R$ {; ~" C- Y4 ^
53.字符串花指令的剔除( r o1 B" M( J- B8 O! m& f0 k; N; f
54.函数花指令的剔除2 L6 I: I( X4 ? i e
55.还原流程平坦化
7 ^+ r: a X2 X3 z . _% }5 j$ w/ a/ @
|
|