[原创](2010.02.07更新)忙里偷闲中写的一个系统物理/虚拟内存查看器。

简介:

[原创]忙里偷闲中写的一个系统物理/虚拟地址内容查看器

    都是老技术,没啥新意。为了方便我在调试中要了解虚拟或物理内存的情况编写的,懒得装WinDbg

的情况下比较方便。程序在gccNTDrvFrame(我以前写的gcc下的NT驱动通用开发包)的基础上扩展,

并且由于直接使用微软“特有”的__try,__except功能方便些,故和VC 2008生成的obj一起连接,此外使用了MASM32V10.0写了关分页传送数据部分的代码。GUI全部用SDK编写,没有用任何图形库。所以程序体积较小(压缩后58KB)。

    程序可以在 win2k(SP4)、winXP(SP3)、win2k3(SP1)、win7下使用(因为手上没有vista

和win2k8的系统故无法测试。)但在win7下不要使用关分页机制读写物理内存的功能,否则必蓝!

虽然我作了较多内核中的有效性检查,但是仍不敢保证会在某些情况下造成系统崩溃,所以请尽量不要

在关键机器上使用,造成的损失概不负责哦。:)

    程序运行要拥有SE_DEBUG特权和安装驱动权限,在vista或win7下要"以管理员身份运行"。

    还是那句老话:本人以人格担保其加载的驱动程序绝对不含有木马、病毒之类的无聊玩意,请各位

放心下载使用,如有bug请跟帖反馈,谢谢。

 

 

 

上图文字看不清楚,再介绍下,我使用了多种方法来读写虚拟或物理地址:

 

VirtualMem :表示操作的是进程虚拟地址。

CR3 Direct : 通过直接设置CR3寄存器读写进程虚拟地址。

如果没有选择该项表示以 常规的方法KeStackAttachProcess读写进程

虚拟地址。 (虚拟地址读写前,要选择一个进程。),

 

PhysicalMem:表示操作的是物理地址

CP : 以关分页的方法读写物理地址,一次性最大读取/写入2048字节。

PM R/W LITE : 直接构造PDE的方法读写物理地址,一次性最大读

取/写入4096字节。

如果没有选择以上2项,则以常规方式读写物理地址MmMapIoSpace。

 

程序暂时做了限制,写入大小一次只能4字节,但函数接口上不止这么多。

 

 

 

 

 

 NEW :

 

 

 

 

第3次更新2010.02.07:
增加了对以下OS的兼容性:
windows 2000(SP4) , windows XP(SP3) ,windows 2003(SP1),
windows 7,由于没有环境故没有测试windows vista 和
windows 2008。

 

 

 

 

mmguy v1.2.9.0 下载地址 :http://hopy.bokee.com/inc/mmguy.7z (50KB)

相关文章
|
10天前
|
算法 程序员
深入理解操作系统内存管理:分页系统的优势与挑战
【4月更文挑战第7天】 在现代操作系统中,内存管理是一项至关重要的任务,它确保了计算机能够高效、安全地运行各种程序。分页系统作为内存管理的一种技术,通过将物理内存分割成固定大小的单元——页面,为每个运行的程序提供了一种独立且连续的内存地址空间。该技术不仅简化了内存分配,还允许更高效的内存使用和保护。本文探讨了分页系统的核心原理,优势以及面临的挑战,旨在为读者揭示其在操作系统设计中的重要性。
|
1月前
|
存储 缓存 Java
嵌入式系统中C++内存管理基本方法
嵌入式系统中C++内存管理基本方法
81 0
|
3月前
|
Linux
|
2月前
|
存储 缓存 运维
Linux系统调优详解(四)——内存状态查看命令
Linux系统调优详解(四)——内存状态查看命令
72 7
|
10天前
|
Prometheus 监控 Cloud Native
【Linux】查看系统内存命令(详细讲解)
【Linux】查看系统内存命令(详细讲解)
|
22天前
|
存储 缓存 监控
Linux 系统 内存通用指标以及查询方式
Linux 系统 内存通用指标以及查询方式
18 0
|
26天前
|
存储 缓存 Shell
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 显示系统内存的使用情况 free命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 显示系统内存的使用情况 free命令 使用指南
28 0
|
27天前
|
缓存 算法 安全
深入理解操作系统内存管理:分页系统的优势与挑战
【2月更文挑战第30天】 在现代操作系统中,内存管理是核心功能之一,它负责将有限的物理内存资源分配给多个并发运行的进程。分页系统作为内存管理的一种流行技术,其通过虚拟到物理地址的映射提供了程序的逻辑地址空间,并允许更高效的内存分配和保护。本文旨在探讨分页系统的关键优势,包括其如何提升内存利用率、实现内存保护以及支持多任务处理。同时,我们也将分析分页机制带来的挑战,诸如页面置换算法的效率问题、页表管理和TLB(Translation Lookaside Buffer)的维护等。
|
27天前
|
存储 算法 内存技术
深入理解操作系统内存管理:从虚拟内存到物理内存
【2月更文挑战第30天】 在现代计算机系统中,操作系统的内存管理是确保系统高效稳定运行的关键组成部分。本文将深入探讨操作系统内存管理的复杂世界,特别是虚拟内存和物理内存之间的关联与转换机制。通过分析分页系统的工作原理、虚拟地址空间的结构以及页面置换算法,文章旨在为读者提供一个清晰的框架,以理解内存管理在操作系统中的重要性和实现细节。
|
28天前
|
存储 算法
深入理解操作系统内存管理:分页系统的优势与挑战
【2月更文挑战第29天】 在现代操作系统中,内存管理是核心功能之一,它负责有效地分配、跟踪和回收内存资源。分页系统作为一种内存管理技术,已经成为大多数操作系统的标准配置。本文将探讨分页系统的原理、优势以及面临的挑战。通过对分页机制的深入分析,我们旨在提供一个全面的视角,以帮助读者更好地理解这一关键技术如何影响操作系统的性能和稳定性。