首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MemProcFS:在虚拟文件系统中以文件形式查看物理内存

MemProcFS:在虚拟文件系统中以文件形式查看物理内存

作者头像
FB客服
发布2024-05-28 08:59:45
发布2024-05-28 08:59:45
2.2K0
举报
文章被收录于专栏:FreeBufFreeBuf

关于

MemProcFS是一款功能强大且方便实用的物理内存数据查看工具,该工具可以帮助广大研究人员在一个虚拟文件系统中中以文件形式查看物理内存数据。

工具特性

该工具支持以「鼠标点击」的方式进行内存分析,无需复杂的命令行参数,可以通过挂载的虚拟文件系统中的文件或通过功能丰富的应用程序库访问内存内容和组件,也支持将该工具引入到自己的项目中。

支持分析内存转储文件和实时内存数据,也支持从虚拟机或PCILeech FPGA硬件设备以读写模式分析实时内存。

工具安装

发布版本

广大研究人员可以直接访问该项目【https://github.com/ufrisk/MemProcFS/releases/latest】下载最新版本的MemProcFS源码、模块和配置文件。

源码安装

除此之外,我们还可以进行手动代码构建。(适用于Linux)

首先使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/ufrisk/MemProcFS.git

然后使用下列命令安装该工具所需的依赖组件:

代码语言:javascript
复制
sudo apt-get install make gcc pkg-config libusb-1.0 libusb-1.0-0-dev libfuse2 libfuse-dev libpython3-dev lz4 liblz4-dev
代码语言:javascript
复制
然后运行下列构建命令即可:
代码语言:javascript
复制
~$  sudo apt-get install make gcc pkg-config libusb-1.0 libusb-1.0-0-dev libfuse2 libfuse-dev lz4 liblz4-dev

~$  mkdir build

~$  cd build

~/build$  git clone https://github.com/ufrisk/LeechCore

~/build$  git clone https://github.com/ufrisk/MemProcFS

~/build$  cd LeechCore/leechcore

~/build/LeechCore/leechcore$  make

~/build/LeechCore/leechcore$  cd ../../MemProcFS/vmm

~/build/MemProcFS/vmm$  make

~/build/MemProcFS/vmm$  cd ../memprocfs

~/build/MemProcFS/memprocfs$  make

~/build/MemProcFS/memprocfs$  cd ../files

### NOTE! before running memprocfs it's recommended to copy the file 'info.db' from the latest binary

### release at https://github.com/ufrisk/MemProcFS/releases/latest and put it alongside memprocfs binary.

### info.db is an sqlite database which contains common type and symbol offsets required for some tasks.

~/build/MemProcFS/files$  ./memprocfs -device <your_dumpfile_or_device> -mount <your_full_mount_point>
代码语言:javascript
复制
Python版本安装

MemProcFS的Python版本需要Python 3.6+环境,可以直接使用下列命名完成安装:

代码语言:javascript
复制
pip install memprocfs

或:

代码语言:javascript
复制
pip3 install memprocfs

依赖组件安装命令如下:

代码语言:javascript
复制
sudo apt-get install make gcc pkg-config libusb-1.0 libusb-1.0-0-dev libfuse2 libfuse-dev lz4 liblz4-dev

工具使用样例

打开命令行接口,然后使用下列命令即可开始使用MemProcFS。除此之外,我们还可以使用MemProcFS.exe注册内存转储文件扩展名,注册完成后,直接鼠标双击内存转储文集8安即可自动加载文件系统。

以默认M加载内存转储文件:

代码语言:javascript
复制
memprocfs.exe -device c:\temp\win10x64-dump.raw

以默认M加载内存转储文件,开启Verbose模式:

代码语言:javascript
复制
memprocfs.exe -device c:\temp\win10x64-dump.raw -v

以默认M加载内存转储文件,开启取证模式:

代码语言:javascript
复制
memprocfs.exe -device c:\temp\win10x64-dump.raw -forensic 1

以默认M加载内存转储文件,开启取证模式,开启Yara扫描:

代码语言:javascript
复制
代码语言:javascript
复制
memprocfs.exe -device c:\temp\win10x64-dump.raw -forensic 1 -forensic-yara-rules c:\yara\rules\windows_malware_index.yar
代码语言:javascript
复制
在Linux上以/home/pi/mnt/加载内存转储文件:
代码语言:javascript
复制
./memprocfs -mount /home/pi/linux -device /dumps/win10x64-dump.raw
代码语言:javascript
复制
以S加载内存转储文件:
代码语言:javascript
复制
memprocfs.exe -mount s -device c:\temp\win10x64-dump.raw

以只读模式使用WinPMEM驱动器加载实时目标内存:

代码语言:javascript
复制
memprocfs.exe -device pmem

以读写模式使用PCILeech FPGA内存采集设备加载实时目标内存:

代码语言:javascript
复制
memprocfs.exe -device fpga -memmap auto

使用相应的页面文件加载一个内存转储文件:

代码语言:javascript
复制
memprocfs.exe -device unknown-x64-dump.raw -pagefile0 pagefile.sys -pagefile1 swapfile.sys
代码语言:javascript
复制

工具截图

许可证协议

本项目的开发与发布遵循AGPL-3.0开源许可协议。

项目地址

MemProcFS:

https://github.com/ufrisk/MemProcFS

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 发布版本
  • 源码安装
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档