|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
9 g2 f$ w7 p8 Q9 v0 H$ Y4 ?课程内容:
5 b7 T$ }0 b% E& l7 k `00.课程介绍; Q5 O5 S% p1 w2 n5 I; ?; a& ~
01.环境配置1 L9 L% R% H2 Q; c) g
02.对象属性的访问方式* B) n& F3 R6 \9 o( J
04.unicode字符串: s, N' f! B. X, O. d9 J
05.字符串ASCII码混淆
- v9 J" ]$ N ` N" z& N06.字符串常量加密/ J$ W4 X. V& t1 @# u4 `5 g
07.数值常量加密
9 [( C/ {: Y1 M& C' [0 r08.数组混淆# p$ G5 K8 h' _ N% d. `
09.数组乱序( _& f2 U0 M/ Q( S" A. z) [5 R
10.增加JS逆向工作量(花指令)" R! ~ J& A4 S0 c( s0 J% F
11.jsfuck5 |, V' G$ V" ]
12.流程平坦化6 z6 T* }- {$ i& v8 p
13.逗号表达式混淆1' l% ?7 \% c* [, s
14.逗号表达式混淆2
0 W" G0 Y- \1 X0 }: b15.eval加密
+ y1 U! E7 ] @ r- F: m0 q, E16.内存爆破
" a% r0 R# q3 z$ w% L: j O17.检测代码是否格式化' P, Z& }/ l' Z
18.AST的基本结构
. k0 H. M7 L5 D2 c% ]2 X' ^* y+ |+ F19.代码的基本结构
2 F# w0 O2 U3 R- I4 }20.parser与generator4 q) ~5 e" \/ {5 g$ s7 }4 i
21.traverse与visitor9 F* U' u& T0 c0 A3 E
22.types8 U9 h% F/ d+ f0 B8 {; c
23.Path对象详解(Path与Node的区别); E O, J) b! |1 o7 b* B" W
24.Path对象详解(Path中的方法)
" }! y) Q7 o+ S- }1 r- T' w25.Path对象详解(父级Path)
q- z' {/ H4 D& P9 U26.Path对象详解(同级Path)
- m; i. p' c4 Q% V8 L8 V# \27.scope详解(作用域)
9 s7 ~. U" |% u0 m7 ^4 Q9 q% u: F28.scope详解(Binding)( n0 @0 M8 Z/ ~" @
29.scope详解(referencePaths与constantViolations)
9 j, s3 g% ?; K5 O+ S3.十六进制字符串/ r* G* v$ r* A4 U5 [
30.scope详解(遍历作用域)1 B# T7 |# ~2 N9 ?* W6 J1 t$ B
31.scope详解(标识符重命名)+ X8 i5 c5 \+ F" S) v# \
32.scope详解(scope的其他方法)4 u* Q& K" f. W
33.改变对象属性的访问方式
k9 f, ^: G% K7 o& c; a34.JS标准内置对象的处理$ d1 m( s9 x) ?1 D- n; b/ o
35.实现数值常量加密0 b( J9 j9 h; j& h- y
36.实现字符串常量加密
3 m! F2 Z4 T9 L* i8 m* ]4 c7 O37.实现数组混淆6 p* F+ q, T# y1 Z3 Z( B
38.实现数组乱序6 P6 H2 R, H) {- y
39.实现十六进制与unicode字符串
. B0 T, Z- B2 r. a5 Y40.实现标识符混淆
. Q U0 u( l' H3 L8 O) o( Q41.标识符的随机生成9 D6 H9 x _6 R% o( D
42.二项式转函数花指令
7 N) z$ g7 s8 C2 d. Z43.代码的逐行加密
2 o" t- i% I* c" ?44.代码的逐行ASCII码混淆
! y+ J7 H) y) b4 ^0 h45.完整的代码与处理后的效果
, [( ]% M2 q' B5 ~3 \0 L( d6 [46.实现流程平坦化混淆1+ v+ F! ~* Q* s( ]) N
47.实现流程平坦化混淆2
) } r" o; I+ I48.实现逗号表达式混淆1, R; C* @/ }/ @
49.实现逗号表达式混淆2
7 ~6 v; Z4 w6 Y, N* B0 j0 P50.分析网站使用的混淆手段0 }4 T: @6 x% ?4 p- {" j
51.还原代码中的常量6 P9 f# P% K& F
52.花指令剔除思路% A- t( h( d; N# J6 A
53.字符串花指令的剔除
( { D( V2 \* G8 _( o* X1 J54.函数花指令的剔除6 Z" I% S) d8 y
55.还原流程平坦化4 y: g; \ R5 ^5 n6 z' |
1 O& S+ V* b4 w
|
|