Volatility 是全球使用最广泛的框架,用于从易失性内存(RAM)样本中提取数字痕迹。提取技术完全独立于被调查系统,但能洞察系统的运行时状态。该框架旨在向人们介绍从易失性内存样本中提取数字痕迹的技术和复杂性,并为这一令人兴奋的研究领域的进一步工作提供平台。
2019年,Volatility Foundation发布了框架的完全重写版本——Volatility 3。该项目旨在解决原代码库在过去10年中暴露出的诸多技术及性能挑战。重写的另一个好处是,Volatility 3可以在更符合Volatility社区目标的定制许可——Volatility Software License(VSL)下发布。详情请参见LICENSE文件。
安装所需依赖:
pip install --user -e ".[full]"
查看可用选项:
vol -h
要获取Windows内存样本的更多信息并确保Volatility支持该样本类型,运行vol -f <imagepath> windows.info:
vol -f /home/user/samples/stuxnet.vmem windows.info
运行其他插件。-f或--single-location并非严格必需,但大多数插件期望一个单一样本。某些插件也需要/接受其他选项。运行vol <plugin> -h获取特定命令的更多信息。
Volatility 3需要Python 3.8.0或更高版本,并发布在PyPi注册表上。
pip install volatility3
如果你想使用Volatility 3的最新开发版本,我们建议你手动克隆此仓库并安装项目的可编辑版本。我们建议你使用虚拟环境,以保持已安装的依赖与系统包隔离。
Volatility的最新稳定版本始终是GitHub仓库的stable分支。默认分支是develop。
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3/
python3 -m venv venv && . venv/bin/activate
pip install -e ".[dev]"
各操作系统的符号表包可在此下载:
用于验证符号包文件是否成功下载或已更改的哈希值文件位于:
符号表zip文件必须按原名称放置在volatility3/symbols目录(或可执行文件旁边的symbols目录)中。
无法找到的Windows符号将自动查询、下载、生成并缓存。Mac和Linux符号表必须使用dwarf2json等工具手动生成。
重要提示:首次运行使用新符号文件的volatility时,需要更新缓存。符号包包含大量符号文件,因此可能需要一些时间更新!但是,此过程仅需对每个新符号文件运行一次,因此假设包保持在相同位置,则无需再次执行。另请注意,该过程可以被中断,下次运行时会自行重启。
请注意:这些符号包具有代表性,在创建时对于Windows和Mac是完整的。由于编译Linux内核的便利性以及无法唯一区分它们,无法轻易提供详尽的Linux符号表集。
该框架通过文档字符串进行文档化,并可使用sphinx构建。
最新生成的文档副本可在以下位置找到:https://volatility3.readthedocs.io/en/latest/
版权所有(C)2007-2026 Volatility Foundation
保留所有权利
https://www.volatilityfoundation.org/license/vsl-v1.0
如果你认为自己发现了一个错误,请在此处报告:
https://github.com/volatilityfoundation/volatility3/issues
为了帮助我们尽快解决你的问题,请在提交错误时包含以下信息:
如需社区支持,请加入我们的Slack:
https://www.volatilityfoundation.org/slack
如需信息或请求,请联系:
Volatility Foundation
网站:https://www.volatilityfoundation.org
博客:https://volatility-labs.blogspot.com
电子邮件:volatility (at) volatilityfoundation (dot) org
Twitter:@volatility