Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
WinPmem — 跨平台内存采集工具。 | Kitploit
工具/GitHubGitHub/velocidex/winpmem
内存取证取证分析数字取证事件响应
GitHubvelocidex/winpmem

WinPmem

跨平台内存采集工具。

查看仓库
1.0k14910个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

WinPmem -- 物理内存采集工具

替代文本

WinPmem 长期以来一直是 Windows 上默认的开源内存采集驱动程序。它原本属于 Rekall 项目,但最近已被分离到自己的仓库中。

这是 Windows 版本。Linux 版本 Linpmem 位于:https://github.com/Velocidex/Linpmem

版权

此代码最初由 Google 内部开发,但已根据 Apache 许可证发布。

描述

WinPmem 是一款具有以下特性的物理内存采集工具:

  • 开源

  • 支持 Win7 - Win 10,x86 + x64。可使用 WDK7600 来包含对 WinXP 的支持。 默认情况下,提供的 WinPmem 可执行文件将使用 WDK10 编译,支持 Win7 - Win10,并具有更现代的代码。

  • 三种独立的读取方法,其中两种方法可创建完整的内存转储。 即使面对内核模式 Rootkit,也应始终有一种方法能够正常工作。

  • 支持原始内存转储映像。

  • 使用读取设备接口,而不是像其他一些 imager 那样在内核中写入映像。这使我们能够拥有复杂的用户空间 imager(例如通过网络复制、哈希等),并在实时系统上运行分析(例如可以直接在设备上运行)。

此目录中的文件(包括 WinPmem 源代码和已签名的二进制文件)均可根据以下许可证使用:Apache License, Version 2.0

使用方法

有两个 WinPmem 可执行文件:winpmem_mini_x86.exe 和 winpmem_mini_x64.exe。 两个版本都包含两个驱动程序(32 位和 64 位版本)。

二进制文件名中的 "mini" 表示此 imager 是一个简单纯粹的 imager——它只能生成 RAW 格式的映像。过去我们发布过基于 AFF4 的 WinPmem imager,但尚未更新到新驱动程序。如果您需要基于 AFF4 的 imager,请告知我们。

Python 采集工具 winpmem.py

该 Python 程序目前正在建设中,但可作为如何从 Python 使用 imager 的演示。

winpmem_mini_x64.exe(独立可执行文件)

该程序最适合用于事件响应,因为它除了可执行文件本身外不需要其他依赖。程序会自动加载正确的驱动程序(32 位或 64 位),并且是自包含的。

示例:

winpmem_mini_x64.exe physmem.raw

使用默认采集方法将原始映像写入 physmem.raw。

winpmem_mini_x64.exe

调用用法打印/简短手册。

要专门使用 MmMapIoSpace 方法采集原始映像:

winpmem.exe -1 myimage.raw

映像采集完成后,驱动程序将自动卸载!

限制

由于微软设计 MJ READ 函数的方式,如果指定的物理地址大于 UINT64 最大值的一半,Winpmem 中的物理内存读取将失败并返回 STATUS_INVALID_PARAMETER。例如,如果有人想要读取物理内存的较高部分并且拥有巨大的物理内存(大于 9,223,372,036,854,775,807),就会发生这种情况。这听起来非常不可能,但如今的内存容量仍在不断增长。

实验性写入支持

WinPmem 源代码支持对内存进行读写。这一功能是一个极好的学习工具,因为许多 Rootkit 隐藏技术可以通过直接写入内存来模拟。

此功能应极其谨慎使用!

注意:由于这是一个相当危险的功能,已签名的二进制驱动程序已禁用写入支持。如果您想使用此功能,可以重新构建驱动程序以生成测试签名的二进制文件。未签名的二进制文件(实际上是用测试证书自签名的)无法在常规系统上加载,因为它们是测试自签名的,但您可以通过以下命令允许未签名的驱动程序在测试系统上加载(参见 https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option):

Bcdedit.exe -set TESTSIGNING ON

然后重启。您将在桌面上看到一行 "Test Mode" 文本,提醒您此计算机已配置为允许测试签名的驱动程序。

此外,写入支持还必须在加载时启用:

winpmem.exe -w -l

这将加载驱动程序并启用写入支持。

致谢

Winpmem 以及 Linpmem 的存在离不开我们前辈在(现已退役的)REKALL 项目中的工作:https://github.com/google/rekall.

这个项目也离不开广大 DFIR 社区的支持:

  • 我们要感谢 Binalyze 的 Emre Tinaztepe 和 Mehmet GÖKSU。

我们的开源贡献者:

  • Viviane Zwanger
  • Mike Cohen
下载工具