|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。& V/ ~. G& L4 o6 |9 K- T( P& Q2 G
课程内容:
! i. Y' S( P' x# A& p$ O00.课程介绍
4 C4 P; B v9 W2 V" ]01.环境配置! f4 |6 s" |- s4 h3 V$ ~; \
02.对象属性的访问方式' s- r/ N5 s2 B/ s. |: i
04.unicode字符串
: G$ `7 v, z& g05.字符串ASCII码混淆+ w" `5 L- C- {, V. i; n! [
06.字符串常量加密. L" d4 u+ f9 `$ A8 M0 ?
07.数值常量加密- X9 |( J) T9 b% L% H, j
08.数组混淆
* y* }' I' Y. o' H' @8 p% b09.数组乱序. j5 C0 w% q. l3 H
10.增加JS逆向工作量(花指令): |/ p _: H& x( E+ o
11.jsfuck# S9 I, r$ ^* M% E
12.流程平坦化& D0 j- F% D9 l% i+ X
13.逗号表达式混淆1
1 y( s* u4 y8 k9 V& I c" {! o14.逗号表达式混淆20 ~0 D0 Z% p3 u" z
15.eval加密
1 f/ E8 [$ O% Y16.内存爆破
" B @. h) R; z17.检测代码是否格式化" M3 s/ k. a) M8 |# g8 L- d
18.AST的基本结构$ K! `/ P1 @! ]" l& z
19.代码的基本结构- Z) D! k% {2 p+ b7 ?& d
20.parser与generator
( h2 A# z7 s0 Z4 Z21.traverse与visitor
" B& e& y, _% z6 `22.types
M& X: b6 E) b23.Path对象详解(Path与Node的区别)
/ Q. m9 `7 p5 c2 i6 v! g8 B) c- i24.Path对象详解(Path中的方法)& ~3 y7 L# I. `( x" E
25.Path对象详解(父级Path)
8 B. I$ _2 [( v, I26.Path对象详解(同级Path)$ O) P- V* t% F( J6 X
27.scope详解(作用域), I2 E" v- F4 G5 N
28.scope详解(Binding)
% T: t7 U' V8 Y5 O" j2 @9 v6 h$ l; e29.scope详解(referencePaths与constantViolations)
: H4 M3 q# Z" B2 {9 j% e: q3.十六进制字符串2 P" j1 }% o% t& Z* z+ w. T+ ]/ }
30.scope详解(遍历作用域)6 j( g& Z8 {7 m8 K
31.scope详解(标识符重命名)# K6 A9 I) M" D, r# \0 Z5 m9 k8 r# A
32.scope详解(scope的其他方法)" V1 y g' @$ W% c5 B! s8 X
33.改变对象属性的访问方式4 H- A& r) t- K9 M
34.JS标准内置对象的处理/ y! s# e3 N2 H2 G
35.实现数值常量加密
0 K# c" H( N+ @2 B36.实现字符串常量加密- @* Z" {7 k5 @% ?) i7 Y2 b
37.实现数组混淆! v1 ?0 `1 B- {" w1 o/ Y) V, K
38.实现数组乱序" D ~1 A4 g6 u7 x, d6 C! I, K# o6 R
39.实现十六进制与unicode字符串( f y/ h$ k0 Y' u6 [) n
40.实现标识符混淆* z! a8 u! T- ?" \, g# ~
41.标识符的随机生成4 X9 g# P. n: N: V8 [
42.二项式转函数花指令
7 r$ p$ P) u) X6 Q43.代码的逐行加密! l. ^ ]9 _1 t1 G1 l7 c& y
44.代码的逐行ASCII码混淆
U, f: Y" Q* u$ }, a! p45.完整的代码与处理后的效果
3 z& K1 Y9 j! x* X46.实现流程平坦化混淆1; }( }5 C6 v6 Z
47.实现流程平坦化混淆2& n9 z( ]% p! c: e5 Q
48.实现逗号表达式混淆1- T m" `6 Z* |+ Q
49.实现逗号表达式混淆2
V8 a7 x2 h6 j! v3 c3 ]8 z4 a50.分析网站使用的混淆手段
, d ^$ h' V" B" G5 K8 d1 `51.还原代码中的常量
# m: n1 b1 X% s7 \- k4 g52.花指令剔除思路
% A2 z# B. y) _ h53.字符串花指令的剔除
0 c% h- g) I; ^, K54.函数花指令的剔除# I/ Q' \1 a5 C4 H, I3 n) i
55.还原流程平坦化* [& ]( O- t( Y% h1 B! {1 y6 m
$ k" k- F2 q4 T
|
|