|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
; W! Z6 k: G8 T5 i% N& h) N( |课程内容:
) h: ~' r$ @* G, i. j00.课程介绍
4 G# k- o0 I4 r01.环境配置7 Q6 Y9 {3 C4 U! z8 Y) F
02.对象属性的访问方式0 o- V+ c3 w0 c- h
04.unicode字符串
' o) M$ w) F( U% Q+ P05.字符串ASCII码混淆) g. v- X% h# g
06.字符串常量加密
2 Y7 `8 i& o. Z0 F" i4 s07.数值常量加密
3 q' T$ `) g! q) j$ T Q08.数组混淆8 L* y$ U) |& L! E8 J/ t
09.数组乱序
2 t$ M. R, K% h) y+ [$ e" ?5 E* ]10.增加JS逆向工作量(花指令)9 K# d7 C* _* w a" |
11.jsfuck( A$ F; y- U/ \, ?
12.流程平坦化" p5 J5 u Y6 R' [+ h0 B {
13.逗号表达式混淆1
3 f7 ?) V0 X7 y) l14.逗号表达式混淆2, r2 _+ `: P8 h1 a J
15.eval加密
) k5 J# a9 m' k" a16.内存爆破
7 R. G! H/ r. I$ X" |2 Z17.检测代码是否格式化
0 w/ ?- L/ m; n* f) }* V18.AST的基本结构4 ^* F( [2 G4 {
19.代码的基本结构
; N% Z. V1 w% f. u20.parser与generator
6 V' d/ S# ]9 u21.traverse与visitor
# C, z# Z: K; }5 g! T, d22.types* f3 w( ~7 v+ C8 w
23.Path对象详解(Path与Node的区别)
5 M9 Z" }* q n4 [4 }) m5 f24.Path对象详解(Path中的方法)1 |" I& R$ H) K0 q* l% {
25.Path对象详解(父级Path)
/ g' ]* s- L. n/ ?+ a26.Path对象详解(同级Path)% l* d P# D& c
27.scope详解(作用域)5 `" y! [; Q( J" V& V, z+ K) c/ O
28.scope详解(Binding)' Q" ~9 a0 g [/ i
29.scope详解(referencePaths与constantViolations) c$ l( `( q2 Z: j; i' B
3.十六进制字符串0 E M) d0 ?6 n( V/ T, n; e* {
30.scope详解(遍历作用域)
, U/ ]/ a9 j6 @# t* R$ A$ d# f31.scope详解(标识符重命名)
( j; l- {. l: z32.scope详解(scope的其他方法)4 w$ ^9 ?6 I. C' R
33.改变对象属性的访问方式% W( _: v" D/ A, W9 C* y+ i( D
34.JS标准内置对象的处理2 J2 ~2 n- y2 E+ t& q; ?6 l: H
35.实现数值常量加密' m) X: m! Z+ M
36.实现字符串常量加密
& O& n9 K% m1 b" k* E$ r- \5 p37.实现数组混淆0 R+ Z( h# S, C9 X$ z
38.实现数组乱序* i* N. z9 H e) n1 f
39.实现十六进制与unicode字符串9 P6 r6 }4 \. ]0 R% V- e a
40.实现标识符混淆
. N+ j/ z) `7 G# ^41.标识符的随机生成
: s, L6 v2 W. ~! E [( s42.二项式转函数花指令/ ^3 u, t% R/ z- B3 ]
43.代码的逐行加密
- e" ?/ N8 z; l5 o/ Z: f& Q44.代码的逐行ASCII码混淆1 F% T/ s! x Q
45.完整的代码与处理后的效果$ m( I) ]8 N5 k: X* n; d4 h
46.实现流程平坦化混淆1- S- `5 {/ }, a4 e" M! V
47.实现流程平坦化混淆2
4 x" G# k8 o! ^! n2 S48.实现逗号表达式混淆1
: H6 S; X- h% V% r49.实现逗号表达式混淆2
# C, x; k q: }' K( H50.分析网站使用的混淆手段
9 D+ ^+ E- y9 [* F4 s51.还原代码中的常量
2 D6 R; C( G( h- S; Y; M1 {52.花指令剔除思路* Q9 h0 V$ o4 e' w7 c& M
53.字符串花指令的剔除
0 Q! k; | ^. j54.函数花指令的剔除
4 O- J1 R$ [6 U9 P# t2 v v; G6 `55.还原流程平坦化
$ \# l+ h# f2 o' R; v: ~1 E
) K4 E+ G O5 N
|
|