|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
, I4 ~: ~3 t" Z课程内容:
" M6 C+ W. J! L- `# I0 [00.课程介绍+ g/ p' P/ b# J7 g4 t! [
01.环境配置
' L) C) W) v5 B0 |5 B3 s02.对象属性的访问方式6 o; z$ B: \/ N) R" z
04.unicode字符串# A0 P: [* [; N* m6 T! z3 G
05.字符串ASCII码混淆
0 [! E% p/ w3 o06.字符串常量加密
( v. x) U* X' D4 N07.数值常量加密- x+ H! i* P0 s3 L
08.数组混淆
- O" e( C e7 n, O% A4 B09.数组乱序5 d! q7 ] \* b; M z' u4 s% i8 `) n
10.增加JS逆向工作量(花指令)
2 e2 L2 \, b, V: i. S5 {11.jsfuck$ I y& N0 \, T/ a+ v- O# S+ E& _& S* L
12.流程平坦化: E+ S1 G* g, e
13.逗号表达式混淆1
6 F1 E: b; K: C9 n5 @* `14.逗号表达式混淆2
, a& X$ F/ Q0 `15.eval加密
8 ^" E5 q( ?) t9 V16.内存爆破
! c: C4 J% o6 \9 N17.检测代码是否格式化
8 d/ O7 u0 c! t$ P3 R0 A# V18.AST的基本结构. D9 }* t$ F" e' G4 I( m/ U
19.代码的基本结构* [2 y/ C* e5 [7 r) o8 O
20.parser与generator
7 r& a8 ~$ X+ S3 j+ T& L, M3 \21.traverse与visitor
7 j0 u. @8 j7 L22.types
( _+ B" a% J& d2 A6 I! d23.Path对象详解(Path与Node的区别)8 w' Z8 F/ O, D/ j* Q
24.Path对象详解(Path中的方法)5 Q0 r* i/ ^% Z+ M# `
25.Path对象详解(父级Path), a: y) O4 @7 }
26.Path对象详解(同级Path)
) Q# S/ v4 H* N' X6 m L$ e+ {27.scope详解(作用域)
: t5 n1 e- ]: t3 {5 J8 u) b28.scope详解(Binding)9 l' u% y% z( d L0 H Z' \
29.scope详解(referencePaths与constantViolations)" i4 I+ P6 c8 P- D( t$ B
3.十六进制字符串
; B- f6 d, r" l30.scope详解(遍历作用域)
7 I8 S% V+ d; x; h) E31.scope详解(标识符重命名)
( R: X& F% a$ W4 s- I. x32.scope详解(scope的其他方法)3 W+ q: O& v6 a
33.改变对象属性的访问方式
/ o) j9 }9 u9 a9 w34.JS标准内置对象的处理% p2 E8 v4 s) H- H% j- P% a, e
35.实现数值常量加密- i7 Q) s/ e3 S1 I
36.实现字符串常量加密6 R2 S( q* z7 ^& `/ Y8 P: U% \
37.实现数组混淆
7 w$ J3 A- q) X0 w4 h3 [4 o) C; j38.实现数组乱序
7 T7 f+ g/ K# _) d$ I39.实现十六进制与unicode字符串
8 V( s# z+ ~6 K1 J' O7 j4 z40.实现标识符混淆' I" T8 u. [& p/ m# N6 c
41.标识符的随机生成# _' O. V/ e' |3 ?
42.二项式转函数花指令
) d: `6 O* Z( j43.代码的逐行加密' N* a+ v( R6 L' ?3 i& k [( _8 B
44.代码的逐行ASCII码混淆
9 U, d3 B' b$ W# U9 a' o0 W+ o45.完整的代码与处理后的效果2 ?- ?; m! G+ D+ T) R) h& d1 |, R
46.实现流程平坦化混淆1+ x2 l+ H, M" S6 s$ _5 \
47.实现流程平坦化混淆2; ^# T) k& Z& u- G" x q
48.实现逗号表达式混淆1
, p3 b. e5 p/ i& n3 d+ t49.实现逗号表达式混淆22 x7 {4 d% v8 }, g
50.分析网站使用的混淆手段
2 X' Q/ o9 R- J2 \51.还原代码中的常量) O) h5 ?' b' Z% [' y2 p
52.花指令剔除思路
/ j$ W) o V% J4 U8 C1 x- K53.字符串花指令的剔除+ k, I6 h) l+ u1 f) @( J1 }
54.函数花指令的剔除
( n9 G1 h7 Y5 v2 o% @, u55.还原流程平坦化% V5 h1 ?( E' ^. y7 } }; l
) ?' K4 l0 m+ i+ S
|
|