|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
$ Z3 z2 e, k' t- g3 U- Y课程内容:
0 u* q, }/ z- B! P1 v00.课程介绍
# }' ?7 n6 n& A# q! Y01.环境配置' K) X, o8 n( j4 q( T Z! X
02.对象属性的访问方式, g" T) O: o' [# b+ t
04.unicode字符串: p' }$ a" z+ S# E& F
05.字符串ASCII码混淆
) a V. R, T! K1 |& Q# v06.字符串常量加密& ]% p7 B& y6 i" ]0 g: n
07.数值常量加密
. F' l" {) U- O6 V: I1 |* a08.数组混淆3 T& k, A0 M$ Q) E( J2 ?: O( }! |
09.数组乱序
/ n" E' Y( K# R10.增加JS逆向工作量(花指令)
- W% |8 B* h/ D7 J/ U11.jsfuck
" ^( y3 Q8 j) I" J) t12.流程平坦化
1 C& W0 C0 ~' E9 M; `8 D0 ^13.逗号表达式混淆18 a# g) B& q1 @
14.逗号表达式混淆2+ F- ?) F# L7 w( C* j* R# _# x$ m
15.eval加密
* W+ C6 }9 u5 n2 l1 {16.内存爆破$ m6 f4 z, W5 r# q% L
17.检测代码是否格式化
7 N. D6 K6 H5 O18.AST的基本结构
/ Z3 e3 m' Z2 e g19.代码的基本结构
/ b& `" Y5 Q5 u20.parser与generator/ K" R5 [# M/ Z: ^8 m
21.traverse与visitor
: ^, a6 A: {) m" u( w* x3 H! f22.types- _- W) O: o, F; J7 u A/ _! `
23.Path对象详解(Path与Node的区别)+ [! y s9 }/ |" q' R: g+ P2 Y: t
24.Path对象详解(Path中的方法)
' Z, m3 [% O! ~$ V- _# B25.Path对象详解(父级Path)" @% y1 Q! v% q2 C# Y
26.Path对象详解(同级Path)( o3 o% ?( |% d+ |5 H# R3 J" w! G
27.scope详解(作用域)$ p$ Y& |+ @% p! i7 u! k7 z
28.scope详解(Binding)
0 j" b& K# z/ j! e5 @29.scope详解(referencePaths与constantViolations)3 W: L E9 {4 V
3.十六进制字符串. n8 V/ @/ F. P) W
30.scope详解(遍历作用域)- S7 }- k2 ` h* w: g
31.scope详解(标识符重命名)
) X# N8 _; W6 g32.scope详解(scope的其他方法)9 x) Y) Y# o& u/ h9 E, X' E D
33.改变对象属性的访问方式6 |5 L6 ~# L! X! @% Z8 e. \
34.JS标准内置对象的处理
. P6 r* S) e i) U35.实现数值常量加密3 W, t: N' z" }" l
36.实现字符串常量加密
( G: b6 w' I/ r4 E& M7 ?% s37.实现数组混淆
E9 j) L, p& H6 ` d* w( Z38.实现数组乱序6 C6 B: }7 R8 U' Q' V2 ^# t
39.实现十六进制与unicode字符串& @4 |" U3 e3 t: j" l1 N# M6 ?
40.实现标识符混淆
; a, t, L& S3 s. j5 {8 g! z1 @( l41.标识符的随机生成& b% a8 o3 U6 G2 L
42.二项式转函数花指令9 k0 o" a& X' E5 k/ H
43.代码的逐行加密4 V( N+ k% b* Y& O/ F: W
44.代码的逐行ASCII码混淆3 f$ V. n( T8 `. A: s/ j
45.完整的代码与处理后的效果- k% _. \& `) G! d; S: W: ~. g6 {
46.实现流程平坦化混淆12 U$ P1 H* U; X; E1 y. P4 D
47.实现流程平坦化混淆2$ f- M. E P6 N1 G6 C2 g
48.实现逗号表达式混淆1 U3 a( D& i4 Y, Z: |0 e
49.实现逗号表达式混淆28 ~+ Y( V) H5 @2 Q% D- d, I: |" ]/ x
50.分析网站使用的混淆手段0 T: T" @6 n! C
51.还原代码中的常量4 m9 t) m8 \3 [+ u2 o) Q; z
52.花指令剔除思路 O+ U1 K0 q- C4 K; c7 m
53.字符串花指令的剔除8 H% M( `* r4 e; W
54.函数花指令的剔除9 B- w; j& ]+ E* C. p5 d
55.还原流程平坦化
9 V# O s5 U6 _% z+ | + L4 d# j* }4 Q; r9 a5 W
|
|