|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
. O6 \2 |0 W+ b' m) g课程内容:& ?% b" ]. N4 t3 E
00.课程介绍
2 E" U% a' m% B: Q+ O# I01.环境配置5 {$ J- ]) w! _- T$ y6 y0 u
02.对象属性的访问方式
3 @* h5 E; Q3 a" K# Q+ b04.unicode字符串
: v& y& f; f: j05.字符串ASCII码混淆
3 P5 d1 T. E. R, |( I9 [06.字符串常量加密3 ]2 B! _/ W+ ]. T0 Z
07.数值常量加密6 r x3 \7 F$ [9 d ~
08.数组混淆6 U# x- U6 o) e2 W; \/ U- ?
09.数组乱序
% J$ p& x% Q0 j8 y- G: E# S10.增加JS逆向工作量(花指令)
: Q+ l! r$ f; t. n1 g7 W11.jsfuck
2 d+ {* i- C9 V$ ]" @12.流程平坦化7 @+ ?# w6 s; Q6 s1 J& A* ^8 n1 W
13.逗号表达式混淆12 ]# {7 q0 w& _) C9 j T
14.逗号表达式混淆2* v3 h: `5 O* K: G9 V
15.eval加密, H6 U: w, I( a% Y% d# r6 g4 a
16.内存爆破/ c; i$ R4 D/ m3 g
17.检测代码是否格式化
! p! O! n: p5 c& W8 G2 y0 n# x1 i18.AST的基本结构
5 x: h$ `7 h$ m% B+ \$ \19.代码的基本结构) J9 k/ S- y5 v' F! m) d: {$ E6 A
20.parser与generator: T. Y; V2 f, Q2 I1 `! R1 H7 p
21.traverse与visitor
" x7 {) v. D( q, n6 B' V22.types, q# Z$ L3 s7 [2 Y) `+ P6 S! Z
23.Path对象详解(Path与Node的区别)
7 r+ J% ]5 k4 n& J6 e$ t24.Path对象详解(Path中的方法)
; L1 w( l7 e( X1 t& I5 G) L25.Path对象详解(父级Path)
' D" g! ^6 U" L* {7 t26.Path对象详解(同级Path)6 W$ N- d: M' L& y
27.scope详解(作用域). _/ ^; @0 L M' v1 N
28.scope详解(Binding)4 N/ {% ~. }4 f
29.scope详解(referencePaths与constantViolations)
( u* T/ F+ A" ~0 K. L- S3 B9 H3.十六进制字符串
2 @ a0 y' w9 F/ e6 }30.scope详解(遍历作用域)
0 n3 |& C9 C& w# w! f7 }# C( U31.scope详解(标识符重命名)) w+ v# p- Y) ~7 d8 Z7 u3 X
32.scope详解(scope的其他方法)
n+ c+ s$ p0 k: T' J33.改变对象属性的访问方式
8 E" v7 ]; u% `! ` H& M) P; z- m34.JS标准内置对象的处理( \* X4 q5 a- F# I0 K( F! _
35.实现数值常量加密
# _: t9 V0 C: m+ [36.实现字符串常量加密& u# x$ e$ {+ y! v2 r/ T6 _9 I
37.实现数组混淆4 l2 B6 N% P0 s9 H: ]
38.实现数组乱序
) j# W4 c6 e9 c! r5 n39.实现十六进制与unicode字符串7 a( A0 z% F" f& N
40.实现标识符混淆$ m+ M! `; N: b& S. Y& G* W
41.标识符的随机生成5 }( g8 ^9 _% c- ~. _
42.二项式转函数花指令
7 O) ^! x3 K2 C$ w8 D9 X; m% ]$ y43.代码的逐行加密" m: D/ C |6 k& K7 X. [
44.代码的逐行ASCII码混淆2 @3 q2 p4 J2 D9 o
45.完整的代码与处理后的效果
5 @/ _* @1 I1 Q+ s G46.实现流程平坦化混淆1
2 b5 f0 L/ P+ S4 ~47.实现流程平坦化混淆28 Y, `- K9 g8 J, Q
48.实现逗号表达式混淆12 Z L8 Q! _: ~
49.实现逗号表达式混淆2# L& f$ M# M* N1 ?4 u. h6 i
50.分析网站使用的混淆手段. n9 B5 G/ i7 c; X
51.还原代码中的常量
n7 |5 Z3 s+ T$ B+ |; z: m S |52.花指令剔除思路
" |+ F! f7 F- \8 W53.字符串花指令的剔除+ E1 a# _$ V/ i! ?2 B G% p; B* f/ r# s
54.函数花指令的剔除
$ l: G9 ` w. j* R) O' y55.还原流程平坦化
- o$ s4 z; B- r8 b( N: a
% z& U2 a' L) c3 h6 C3 Z: ^
|
|