|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
" B1 i! o3 I0 y2 w* A1 O课程内容:! Y0 s$ Z' l$ c9 Z6 ~
00.课程介绍
! ^1 Z/ W/ z8 ~, f3 ^01.环境配置; x4 O/ L8 J/ @. \
02.对象属性的访问方式
% n( _* u7 F) Q7 k1 l! n5 K4 E& m04.unicode字符串
1 {" i$ h, Y( U% g% z- r) }05.字符串ASCII码混淆
, \) |- V# P- d' Z- v; P% R06.字符串常量加密
' @8 U6 W0 h6 C07.数值常量加密# ]9 }: x/ ]/ @/ n/ Q3 y
08.数组混淆. K! L1 l& W, D. i
09.数组乱序
9 _$ c% Y) k. Q3 e( R2 P10.增加JS逆向工作量(花指令). k0 N d( h( ?$ t# [
11.jsfuck
6 j+ p }" h, p1 Z* X: E# m2 D2 f& g4 D12.流程平坦化
; W/ m" e9 M" m4 ~: Q: Q" w13.逗号表达式混淆1* L. Y9 X9 f( D3 Y
14.逗号表达式混淆24 D8 A# c# Z+ l0 h n
15.eval加密
: H% Q4 V) F! m( X16.内存爆破/ K. X: j- w/ f! v2 K0 j2 I
17.检测代码是否格式化6 o4 [5 `7 `% c! V) z7 S1 y
18.AST的基本结构+ Q3 |# h' D; w
19.代码的基本结构
0 N( w: }" B4 U$ f20.parser与generator# H4 p# e! t4 y9 B1 j' J: W
21.traverse与visitor& M0 z: f5 q# K+ _; L# l0 F
22.types, T1 \* p* _) _+ v
23.Path对象详解(Path与Node的区别)
5 E8 n3 V! q* [24.Path对象详解(Path中的方法)) S6 D+ U5 k4 G9 S# r
25.Path对象详解(父级Path)) H: S! h$ V5 Z9 d
26.Path对象详解(同级Path). @$ k$ D1 [) }
27.scope详解(作用域)
2 y7 d4 k1 _) Z) [, z3 w28.scope详解(Binding)
2 n; D* M* I: l; O7 H$ w9 l% U29.scope详解(referencePaths与constantViolations). k/ g: A8 I3 m, D, l
3.十六进制字符串
$ A% H F/ j/ W' B+ [& z* A! H30.scope详解(遍历作用域)7 P' I `3 i% o. g2 M% F
31.scope详解(标识符重命名)' }4 k- V0 i, u+ D! Z
32.scope详解(scope的其他方法), ?: s. m, b! }: H
33.改变对象属性的访问方式8 x& M! M' J# F6 b, i5 u9 M
34.JS标准内置对象的处理" }# G \/ C+ A! g8 u
35.实现数值常量加密
* J# K1 z- y* J" f3 {36.实现字符串常量加密
9 f% ?( i% V; p( E1 d; d+ J37.实现数组混淆6 V& B0 d& m$ N
38.实现数组乱序
6 e4 a( ^# J/ E3 y- g4 B39.实现十六进制与unicode字符串$ k+ x# ?6 m( H# C* O: B
40.实现标识符混淆
! s' Y% k- t8 Q. I1 b$ \41.标识符的随机生成
; l3 q6 A& n6 c+ l$ y' r42.二项式转函数花指令1 m4 j( t1 Q/ U6 _3 K# w
43.代码的逐行加密$ ~& |# s T7 N, H) S) {
44.代码的逐行ASCII码混淆 Q1 Q2 N! p) T
45.完整的代码与处理后的效果7 F [$ h% H) B2 A; A
46.实现流程平坦化混淆1
* | G2 E( @, y3 j2 }/ H& ^47.实现流程平坦化混淆28 y3 `8 x( q$ x: e1 k
48.实现逗号表达式混淆1
8 f) O# i+ `5 a49.实现逗号表达式混淆2( Q( o* a0 i; S
50.分析网站使用的混淆手段, v* ~& i+ x) Z k2 @1 G
51.还原代码中的常量
% b; N& V. A* J2 ~& k* K52.花指令剔除思路4 E1 L8 j2 ?! M4 w3 U# y" b
53.字符串花指令的剔除5 e1 ? D. f2 ]6 [' S v" m
54.函数花指令的剔除3 g8 D: y! W l4 R/ A: \
55.还原流程平坦化 D9 P. A" W$ D! K- l' C* K
s2 n5 j' A+ ]
|
|