• 我们在哪一颗星上见过 ,以至如此相互思念 ;我们在哪一颗星上相互思念过,以至如此相互深爱
  • 我们在哪一颗星上分别 ,以至如此相互辉映 ;我们在哪一颗星上入睡 ,以至如此唤醒黎明
  • 认识世界 克服困难 洞悉所有 贴近生活 寻找珍爱 感受彼此

内存取证框架:volatility2.6.1

框架学习 云涯 3年前 (2021-03-09) 2485次浏览

GitHub地址:https://github.com/volatilityfoundation/volatility

distorm3网盘地址:

链接:https://pan.baidu.com/s/1xyZ4bnwNylv1tzsm79zrkg
提取码:cnmd

1 windows下安装

1.1 缺少Crypto.Hash

pip2 install pycryptr

不要注册 pip2 install Crypto,注册了就卸载

1.2 缺少distorm3

1.2.1 下载

python2一般安装不上,那就源码安装

distorm3下载地址:

https://files.pythonhosted.org/packages/93/c4/71dcf0fa683c887253319d92c5d2319fb94cc3f89f7d908fd8275df48cc5/distorm3-3.5.1.tar.gz  这个install错了就用下一个

或者

https://github.com/gdabah/distorm

1.2.2 安装

python2 setup.py build

python2 setup.py install

1.2.3 在python环境下import distorm3出错

Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “build\bdist.win-amd64\egg\distorm3\__init__.py”, line 57, in <module>
File “build\bdist.win-amd64\egg\distorm3\__init__.py”, line 55, in _load_distorm
ImportError: Error loading the diStorm dynamic library (or cannot load library into process)

这就是因为缺少DLL导致

在distorm3-3.5.1下make/win32目录打开distorm.sln生成一个DLL

生成的DLL修改为“_distorm3.dll”放到~Python27\Lib\site-packages目录下

然后就可以使用了。

2 使用教程

Volatility分析的是内存dump文件

2.1 VTypes

Volatility框架中数据结构定义以及解析的语言。

大部分操作系统底层都是使用C语言编写的,其中大量使用数据结构来组织和管理相关的变量以及属性.因为Volatility是用Python语言编写的,所以我们需要一种方式在Python源文件中表示C语言的数据结构.VTypes正是用于实现这一点的.

 

2.2 Profiles(配置文件)

profile是特定操作系统版本以及硬件体系结构(x86,x64,ARM)中VTypes,共用体,对象类型的集合.除了这些组件以外,profile还包括如下:

元数据:操作系统的名称(例如:”windows”,”mac”,”linux”),内核版本,以及编译号. 

系统调用信息:索引以及系统调用的名称 
常量值:全局变量-在某些操作系统中能够在硬编码的地址处找到的全局变量 
系统映射:关键全局变量和函数的地址(仅限Linux和Mac)

每个profile(配置文件)有个一个唯一的名称,通常是由操作系统的名称,版本,服务包,系统结构等信息组成.例如:Win7SP1x64是64位的Windows 7 SP1系统配置文件的名称.

为什么要设置配置文件这个选项呢,因为不同版本的操作系统,其中的内核数据结构成员以及偏移可能会发生改变.

 

 

 

 


云涯历险记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:内存取证框架:volatility2.6.1
喜欢 (1)