|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
8 _6 C! `4 j" D6 r课程内容:7 ^" W( ]" g8 p! ^. y- @
00.课程介绍5 o2 t. M. _% |& ?$ S, z
01.环境配置
( S# s& @7 Y2 @4 ~5 m p/ H02.对象属性的访问方式
; \6 c e& g; i' F04.unicode字符串. u$ y. O1 u: D- ]% n1 s+ S" R
05.字符串ASCII码混淆
5 x/ x0 c* \& `" O6 L% E, k6 H06.字符串常量加密
7 g- `- O/ }5 O. U( h$ e( k( [0 K% m5 H07.数值常量加密% a8 W4 _. ?5 |8 l+ V
08.数组混淆1 W3 f% x/ x+ d2 b) [' O! ~
09.数组乱序
! x" F6 R$ W" l# X10.增加JS逆向工作量(花指令)
6 v- m1 L; B; F7 T5 Z11.jsfuck0 i8 V9 f9 m( {5 s6 {6 U [; _
12.流程平坦化0 u- q* W! y. {6 r ?7 n
13.逗号表达式混淆1
* F8 x3 A# B# }8 R, _) C14.逗号表达式混淆2
" D0 z8 W4 W/ V& H0 @/ u+ U15.eval加密
0 p" V$ Y- v# w$ n. {, @/ f8 x16.内存爆破
# ]( t" U0 q1 i T: F5 N17.检测代码是否格式化8 @( R. T7 a6 [4 `: M9 X2 s
18.AST的基本结构
: A! w( R) e: }; q19.代码的基本结构
& v1 Z- z3 b: U+ ]) q20.parser与generator" U6 H' V' a3 P1 J. T( i( c
21.traverse与visitor {- m+ K8 Q0 x% R
22.types3 @# X6 M5 w/ w' H/ p
23.Path对象详解(Path与Node的区别). ?' |& o$ _0 y( k
24.Path对象详解(Path中的方法)5 ]! f% q- g. X7 I1 j
25.Path对象详解(父级Path)/ ]5 |# R0 R# O1 M8 I/ a( q
26.Path对象详解(同级Path)
4 {9 U& M5 U2 E7 N27.scope详解(作用域)
& U$ u! K4 o& x9 _28.scope详解(Binding)
1 G' L0 T4 v6 a29.scope详解(referencePaths与constantViolations)
, @& S& D6 J5 ^, D* V4 U3.十六进制字符串2 X0 ]- @4 L' F b/ f" ]* S' ~
30.scope详解(遍历作用域)! n% y9 U3 h7 w, k
31.scope详解(标识符重命名)
; ~! N9 O/ s2 K4 ?9 N# q. `# {32.scope详解(scope的其他方法)( x9 l: V; U# C# A
33.改变对象属性的访问方式. E4 _* J* c& g9 G& @1 x) U1 u! [: w
34.JS标准内置对象的处理
& v1 Z; b G4 w1 ?% B" u/ m, H0 A35.实现数值常量加密
$ U" |, t# b1 |. g! b36.实现字符串常量加密
, p0 b6 `! {# C5 ?4 s" D37.实现数组混淆0 b' `! Z- i) `2 [" {
38.实现数组乱序/ V" o5 j4 T) l0 f) L# |
39.实现十六进制与unicode字符串7 O! g R2 p) C# r) Q
40.实现标识符混淆
8 G# a! Z; r/ ?6 I- a+ c41.标识符的随机生成" @) w" E F9 a7 g: d' u* C; i9 j
42.二项式转函数花指令* m( _) s S: u" M) O! S$ {1 B
43.代码的逐行加密- |9 P' I6 @/ k2 \+ d# i1 A$ k5 i
44.代码的逐行ASCII码混淆! W" W6 [. L/ a7 ` ]
45.完整的代码与处理后的效果
; S2 p; U* `6 C" M6 Q' [2 A46.实现流程平坦化混淆1- H0 X N3 d% Z$ E' o2 t/ m
47.实现流程平坦化混淆2
5 F% } e9 M. V% U( s48.实现逗号表达式混淆19 g5 R' s/ h! K3 z. ]' }2 ^; \3 Y
49.实现逗号表达式混淆2" Y9 P/ n/ Z% W- u- I
50.分析网站使用的混淆手段
* A( ^1 d6 ]1 O6 e51.还原代码中的常量
! E0 C/ g+ ]2 H7 Y52.花指令剔除思路; e' W. d% T: x8 o
53.字符串花指令的剔除
( g/ q6 c; V7 z4 j: Y+ _- u54.函数花指令的剔除' A4 G6 k8 U; G! k5 C: A
55.还原流程平坦化5 W( U# D+ X" E/ c7 d2 S N
% z. N" B J& M5 F- g' L
|
|