|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
i6 \: ?+ c M+ Q课程内容:% [- S3 L4 P" F# y* |5 u: i
00.课程介绍+ S2 L* d- |7 d# S
01.环境配置
7 v4 l1 O F% Y* l$ U) V02.对象属性的访问方式( {9 c% X% X+ N O/ ^4 E, t
04.unicode字符串
5 |3 U. Q5 ?: U$ V w/ v) z05.字符串ASCII码混淆
% e9 |' J1 \8 b3 @06.字符串常量加密
% r: K7 M: F1 [0 r07.数值常量加密/ Y2 D) x/ R9 ~8 m
08.数组混淆3 b* k/ J# i8 o6 |. i% [. @, x
09.数组乱序2 p$ J1 r2 A8 Q/ Z; g w' G
10.增加JS逆向工作量(花指令)4 F2 {, Z# P, w& J: G: P' R$ O8 k
11.jsfuck% J- O* Q* ^( s2 O( [6 r
12.流程平坦化
' j$ J6 R) N; q! _$ F( o. v13.逗号表达式混淆1
5 x; l6 ]9 u6 @14.逗号表达式混淆2: c1 h) w3 F) h. l) T
15.eval加密% n, Y" N8 e A$ ?' }
16.内存爆破( T4 I; V. c% {( W( w, Y p
17.检测代码是否格式化
% U, [ d: \$ ]. p/ f18.AST的基本结构" D, u1 ~) I: `" v
19.代码的基本结构% m! B1 O. x& D1 A
20.parser与generator6 e0 w8 _# P; P9 U& T
21.traverse与visitor
. _1 m. `4 d8 G22.types: r) M0 a0 Z+ J7 ]+ ?
23.Path对象详解(Path与Node的区别)2 J. ~" G& K& X* o
24.Path对象详解(Path中的方法)7 D6 O$ D2 W/ g* T2 ~$ e1 l( F: q
25.Path对象详解(父级Path)' @6 U+ Y6 R& c, g+ V# m
26.Path对象详解(同级Path), \2 _/ W' {3 O: O
27.scope详解(作用域)
' }+ A) ?! p8 A/ v0 X0 T28.scope详解(Binding)6 }1 X$ N4 D. V! x, o& _, S
29.scope详解(referencePaths与constantViolations)- a! L. @9 V! P8 k' S5 \' D
3.十六进制字符串6 N! C6 p4 C. T3 w; i/ @
30.scope详解(遍历作用域)
2 b! U- M6 g4 I: A3 |$ j31.scope详解(标识符重命名)
, b E1 X+ b1 j, d1 K0 C32.scope详解(scope的其他方法)' s4 r- a8 C! u3 m0 e
33.改变对象属性的访问方式% H) e3 D6 f& K8 w3 `& B
34.JS标准内置对象的处理0 n$ H) E& N4 B* n
35.实现数值常量加密
- J8 ?* K0 t+ j" X7 L" K; W36.实现字符串常量加密8 I* e5 A6 Z& z2 E5 z7 N1 c
37.实现数组混淆 Q% D2 J9 ]5 n5 Q7 e: D
38.实现数组乱序 X; M) W. Z) G9 D- Y* b; z
39.实现十六进制与unicode字符串& `( r9 ^6 g5 J# i$ C. g, ]
40.实现标识符混淆
- o! b1 n0 v" `* n0 h+ Q9 Q6 ^' N41.标识符的随机生成) N3 ^/ g8 ~( f; a: i, G) z9 D
42.二项式转函数花指令
: {) a- h. \8 w _43.代码的逐行加密
: o0 q# o; t: a3 R, V" {; [44.代码的逐行ASCII码混淆# a5 J2 B- e! C3 J
45.完整的代码与处理后的效果
. a( a! M* G- S46.实现流程平坦化混淆1
9 ]- i# Q5 y1 |: Q x- A47.实现流程平坦化混淆2
7 G y+ d" Y1 k0 }+ G) ^48.实现逗号表达式混淆1
8 Q. q s/ _3 f49.实现逗号表达式混淆2, W( N: \3 y9 H2 V2 D) M
50.分析网站使用的混淆手段
" Q" ~- p8 {7 w, O/ E51.还原代码中的常量
5 n5 b- _0 k5 C5 x% ^52.花指令剔除思路% G+ G% x) o+ z; h5 I
53.字符串花指令的剔除# m' b! {2 H* x5 E4 w# G% T+ t1 k% g
54.函数花指令的剔除- M/ `% ^9 {/ l4 F
55.还原流程平坦化/ C7 n/ p: u% {
) o2 l% H; F4 _- y- y- v0 v3 `0 |
|
|