Volatility:易失性内存取证提取框架
Source: Hacker News
为什么选择 Volatility 3?
在 2019 年,Volatility 基金会发布了 Volatility 3,对原始代码库进行了一次完整的重写。新版本解决了过去十年中出现的许多技术和性能挑战。其他优势包括:
- 现代化、模块化的架构,便于扩展和维护。
- 对大型内存镜像的性能和可扩展性得到提升。
- 采用 Volatility Software License (VSL) 发行,这是一种自定义许可证,更好地契合 Volatility 社区的目标。
完整的许可证文本请参阅 VSL v1.0 license file。
Source: …
快速入门
1. 安装所需的依赖
pip install --user -e ".[full]"
2. 查看可用选项
vol -h
3. 验证 Windows 内存样本
运行 windows.info 插件,以确保 Volatility 支持该样本类型:
vol -f /home/user/samples/stuxnet.vmem windows.info
4. 运行其他插件
大多数插件只需要一个内存镜像,因此通常需要使用 -f(或 --single-location)标志:
vol -f [plugin_options]
某些插件可能需要或接受额外的选项。
要查看特定插件的帮助,请使用:
vol -h
安装
Volatility 3 需要 Python 3.8.0 或更高版本,并已发布在 PyPI 注册表 上。
从 PyPI 安装
pip install volatility3
从源码(最新开发版本)
我们建议使用 虚拟环境,以将依赖项与系统软件包隔离。
# 克隆仓库
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3/
# 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate # 在 Windows 上使用 `venv\Scripts\activate`
# 以可编辑模式安装并包含开发额外依赖
pip install -e ".[dev]"
- GitHub 仓库的 stable 分支始终包含最新的稳定发布。
- 默认分支 (
develop) 包含最近的开发更改。
符号表
下载符号包
| 操作系统 | 下载 |
|---|---|
| Windows | |
| macOS | |
| Linux |
验证下载
| 哈希类型 | 文件 |
|---|---|
| SHA‑256 | |
| SHA‑1 | |
| MD5 |
安装
- 解压 每个 zip 文件。
- 将 解压后的目录(名为
windows、mac、linux)放入volatility3/symbols文件夹 或 放入与 Volatility 3 可执行文件同级的symbols文件夹。
注意:
- 缺失的 Windows 符号将自动查询、下载、生成并即时缓存。
- macOS 和 Linux 符号表必须手动生成(例如使用 dwarf2json 工具)。
首次运行缓存更新
- 当 Volatility 3 第一次使用新的符号包运行时,它会构建缓存。
- 由于包中包含大量文件,此步骤可能需要几分钟。
- 该过程是 可中断安全 的——如果中途停止,下一次运行会从中断处继续。
- 只要文件保持在同一位置,缓存只需为每个符号集构建一次。
注意事项
- Windows 和 macOS 符号包是 代表性 的,并且截至创建日期为止是完整的。
- Linux 内核经常重新编译,且无法唯一标识,因此不提供完整的 Linux 符号集。
文档
该框架通过 docstring 进行文档化,并且可以使用 Sphinx 构建。
最新生成的文档副本可在以下位置获取:
Volatility 3 Documentation (latest)
许可和版权
© 2007‑2026 Volatility Foundation. 版权所有。
Volatility Foundation License (VSL v1.0)
错误报告与支持 {#bugs-and-support}
如果您认为发现了错误,请在 Volatility 3 GitHub issue tracker 上报告。
提交错误报告时,请提供以下信息,以帮助我们快速解决问题:
- Volatility 版本 您正在使用的
- 操作系统 Volatility 运行的系统
- Python 版本 用于运行 Volatility 的 Python 版本
- 疑似操作系统 正在分析的内存样本的操作系统
- 您执行的 完整命令行(复制粘贴,最好放在代码块中)
vol -f memory.raw --profile=Win10x64_19041 pslist
如需社区支持,请加入我们的 Slack:
联系方式 {#contact}
如需信息或请求,请联系 Volatility Foundation:
- 网站:
- 博客:
- 电子邮件: volatility@volatilityfoundation.org
- Twitter: @volatility