MemProcFS
将物理内存或内存转储文件虚拟挂载为文件系统的内存取证工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将物理内存或内存转储文件虚拟挂载为文件系统的内存取证工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象你正在调查一起服务器被入侵事件。传统做法是:打开 Volatility,输入一长串命令行参数,记住各种内存结构的偏移量,在黑暗里摸索。
现在有了 MemProcFS,内存取证变成了这样:双击一个 .dmp 文件,虚拟文件系统自动挂载,进程列表是文件、加载的 DLL 是文件、注册表是文件、内核池是文件。你甚至可以用 VS Code 或 WinDbg 直接打开内存里的代码。
这就是瑞典安全研究员 Ulf Frisk 用 7 年时间打磨出的内存取证工具——将冷冰冰的十六进制内存转化为直观的文件树,让没有深度内核知识的分析师也能高效完成内存分析工作。
图1:MemProcFS 挂载后的进程视图,进程、模块、句柄一目了然

MemProcFS(Memory Process File System)是一个用户空间文件系统(FUSE/Dokany/macFUSE),它把物理内存或内存转储文件的内容,以熟悉的文件目录结构呈现出来。你可以把它理解为一个"内存转储文件的资源管理器"——但远不止于此,它同时还是一个功能完整的内存读取 API 库,支持 Python、C、C++、Rust、C#、Java、Go 等七种语言。
项目最早发布于 2018 年,至今保持高频更新(最近一次提交在 2026 年 6 月 1 日),Star 数超过 4173,Fork 数 515,是内存取证领域毫无争议的标杆项目。
MemProcFS 支持多种内存采集方式,覆盖从入门到专业的全部场景:
| 采集方式 | 说明 | 适用场景 |
|---|---|---|
| DumpIt / LIVEKD | 无需额外驱动,直接获取本地实时内存 | 快速响应、现场取证 |
| WinPMEM | 签名驱动,导出完整物理内存 dump | 通用取证 |
| PCILeech FPGA | 硬件设备 DMA 读取,支持 读写模式 | 远程内核读写、锁屏密码提取 |
| 内存转储文件 (.dmp) | 分析已有 dump,完美支持 Windows/Linux/macOS | 事后分析 |
| VMware 虚拟机 | 读取 VM 快照内存 | 虚拟机取证 |
| LiveCloudKd | 从虚拟机管理程序层读取内存 | 云环境取证 |
| LeechAgent(远程) | 通过加密连接远程采集内存 | 分布式应急响应 |
特别是 PCILeech FPGA 硬件 + MemProcFS 的组合,能够在系统运行时直接读写内存,甚至在锁屏状态下提取 BitLocker 密钥。这是纯软件方案无法实现的能力。
挂载后,MemProcFS 在指定盘符(如 M: 或 /mnt/)下呈现以下结构:
M:/
├── proc/ # 进程列表
│ └── [pid]/ # 每个进程的详细信息
│ ├── maps # 内存映射(类似 /proc/pid/maps)
│ ├── mem # 进程内存(可直接 hexdump)
│ ├── modules # 加载的模块/DLL
│ ├── handles # 句柄表
│ └── info # 进程元信息
├── mem/ # 物理内存
│ └── 0x1000 # 物理地址空间
├── vmm/ # 虚拟内存管理器
├── reg/ # 注册表(内存中的实时注册表)
└── plugins/ # 插件扩展
这意味着你可以直接用 cat、hexdump、grep、甚至 Python 脚本分析内存,不再需要记忆复杂的 API 调用方式。
图2:PCILeech FPGA 硬件设备

启用 -forensic 1 参数后,MemProcFS 会自动执行高级取证分析,包括:
只需一行命令,自动生成取证报告,大幅降低内存分析的门槛。
MemProcFS 不仅是一个工具,更是一个 SDK。官方提供七种语言绑定:
| 语言 | 分发方式 | 是否需要挂载 |
|---|---|---|
| Python | PyPI (pip install memprocfs) | 否(通过 API 直接访问) |
| C/C++ | vmmdll.h 头文件 | 否 |
| C# | NuGet (Vmmsharp) | 否 |
| Rust | crates.io (memprocfs) | 否 |
| Java | JAR 包 | 否 |
| Go | 第三方绑定 | 否 |
特别是 Python API,让 MemProcFS 可以轻松集成到 Jupyter Notebook、Splunk SIEM 或自动化分析管道中:
import memprocfs
vmm = memprocfs.Vmm(['-device', 'c:/temp/win10_memdump.raw'])
print(vmm.hex(vmm.memory.read(0x1000, 0x20)))
# 0000 e9 4d 06 00 01 00 00 00 01 00 00 00 3f 00 18 10 .M..........?...
MemProcFS 的核心架构分为三层:
图3:MemProcFS 模块架构与进程视图

LeechCore(采集层):统一的内存采集抽象层,负责与不同硬件/软件来源(PCILeech、WinPMEM、DumpIt、VMware、内存文件)交互。无论底层用哪种采集方式,上层 API 完全一致。
VMM(虚拟内存管理器):核心引擎,负责解析内存结构、构建虚拟地址空间、管理缓存和索引。它实现了类似操作系统的内存管理逻辑,能够正确处理分页、ASLR、内存池等复杂场景。
MemProcFS(文件系统层):基于 Dokany(Windows)、FUSE(Linux)、macFUSE(macOS)实现用户空间文件系统,将 VMM 的数据以文件形式暴露给应用程序。
API 绑定层:为每种语言提供类型安全的绑定,将 C 核心封装为各语言的 SDK。
核心语言是 C(11MB 仓库),代码库高度模块化,各子模块(vmm、memprocfs、vmmpyc 等)独立维护。代码质量在开源安全工具中属上乘,大量使用注释和结构体文档。
适合群体:
门槛说明: 虽然 MemProcFS 大幅降低了内存分析的难度,但使用者仍需具备:
**入门建议:**从 13Cubed 的视频教程 开始,配合官方 Wiki,是最好的上手路径。
MemProcFS 并不是内存取证的"开创者"——Volatility 早在 2007 年就存在了。但它开创了一个新的范式:让内存取证从"专家技能"变成"分析师工具"。
它代表了安全工具发展的一个重要趋势:用更低的上手门槛,让更多人能够执行高难度操作。同时,它的模块化设计(LeechCore → VMM → API)也为其他安全工具提供了架构参考。
对于 AI + 安全交叉领域而言,MemProcFS 的 Python SDK 使得将内存分析能力嵌入 AI 辅助的安全分析系统成为可能——想象一个 AI Agent 能自动分析内存 dump 中的可疑行为。
项目地址:https://github.com/ufrisk/MemProcFS | 许可证:AGPL-3.0 | 最新更新:2026-06-01