|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
2 a8 R9 c7 c# Y5 q, p1 R0 G5 l课程内容:0 s2 B# G, E1 F( G
00.课程介绍6 n; A7 {. ^4 G
01.环境配置
2 G% B- d J$ R% X! _6 d9 c6 w02.对象属性的访问方式8 {/ a, B. T; @# Z. g! B( m
04.unicode字符串
% A. P6 ^/ N0 Q5 M05.字符串ASCII码混淆
, }" ]/ P( ^" f y$ }% C8 `9 M06.字符串常量加密
g u9 Y6 ?" E3 A07.数值常量加密
" E3 {0 ]6 N* t0 U8 s3 c6 g- `08.数组混淆% `" p0 ?6 R7 h/ F
09.数组乱序! R0 M$ z d+ G
10.增加JS逆向工作量(花指令)
7 W3 a; J/ l# h( \7 G! e+ G0 g9 q# [11.jsfuck3 g3 `( z4 R" N
12.流程平坦化
. e2 }- z& e1 S$ B13.逗号表达式混淆15 `/ q. T3 o- b, Y. @
14.逗号表达式混淆2
, r) L% B0 W( h" |/ W: s! {7 _: z15.eval加密
9 D$ M' f7 ]' Z) D& E16.内存爆破' n/ D/ J. c& A/ m3 [% i
17.检测代码是否格式化
3 z- J6 j: K. j# ^8 q1 [: s18.AST的基本结构
8 C% a e' I0 b, j- d4 t19.代码的基本结构
* d% S9 x& s2 ]% z( z20.parser与generator
; v$ W5 u4 B; E; |% ^3 a! o21.traverse与visitor
$ b0 E8 M, Q4 A! c3 _# @22.types: N( |+ r" p4 v1 D+ ?% ^8 h
23.Path对象详解(Path与Node的区别)& ?$ J$ {" [' ^9 f# V( f* N. W
24.Path对象详解(Path中的方法)
& K; V: V6 C: O" j8 x25.Path对象详解(父级Path)
# H4 i9 S; d: a1 R) v26.Path对象详解(同级Path)
7 ^6 O/ b* U8 g- W# W27.scope详解(作用域)
* L+ A) C$ \' R5 I- }6 w7 U28.scope详解(Binding)8 k; [# U R% a2 @( T" C
29.scope详解(referencePaths与constantViolations)
. f' F: Z; W( h' j4 _3.十六进制字符串
5 v) b: x& L8 P' D! t3 x3 M* w& f! V30.scope详解(遍历作用域)0 ~) i* i* Q7 j
31.scope详解(标识符重命名)
6 t2 j1 C8 f y/ ?: V32.scope详解(scope的其他方法)$ f: W6 p) G- A/ R* H9 {
33.改变对象属性的访问方式
( p& n( T1 E0 o) @1 }34.JS标准内置对象的处理
- b& E% m) ~, Y) A6 R" V35.实现数值常量加密
( Q ^5 {' z' ^1 \) n! i1 R6 L36.实现字符串常量加密' @3 U/ R2 U2 D G4 H4 R
37.实现数组混淆3 V8 p0 y" D; O0 D" N$ g. b
38.实现数组乱序
. A+ W/ u* b8 s- m3 |39.实现十六进制与unicode字符串
7 }) @! j0 B& `0 D40.实现标识符混淆
! r; n% ]# D* s41.标识符的随机生成) n8 A& ^$ q% q! S) K
42.二项式转函数花指令2 D9 v0 _' M& d+ l
43.代码的逐行加密; p! M6 P* U( S2 |
44.代码的逐行ASCII码混淆' z2 v, R [* G
45.完整的代码与处理后的效果8 z) [" H W! i: M4 }* ~
46.实现流程平坦化混淆1
, p6 V& `$ h8 [. R# _3 o; h47.实现流程平坦化混淆2
]. g: z5 ]% Z) O48.实现逗号表达式混淆1 C" L1 O e& k9 C4 P
49.实现逗号表达式混淆2
- i! O1 {8 l9 Z" G# D$ m. }8 N& `50.分析网站使用的混淆手段
7 S# G0 C/ b2 C/ G- s5 _2 L51.还原代码中的常量/ `4 ~( O; B: Y, [
52.花指令剔除思路
, w9 P, C% B7 r/ j( X53.字符串花指令的剔除
% G" g: `, r7 u54.函数花指令的剔除! m& q/ @6 o% p* Q
55.还原流程平坦化+ P! N2 m& Y T l
1 G4 [# C2 g! Z; O) G# L% I2 c
|
|