[原创](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)

相关文章
|
2月前
|
存储 缓存 监控
|
2月前
麒麟系统mate-indicators进程占用内存过高问题解决
【10月更文挑战第7天】麒麟系统mate-indicators进程占用内存过高问题解决
308 2
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
132 48
|
18天前
|
机器学习/深度学习 人工智能 缓存
【AI系统】推理内存布局
本文介绍了CPU和GPU的基础内存知识,NCHWX内存排布格式,以及MNN推理引擎如何通过数据内存重新排布进行内核优化,特别是针对WinoGrad卷积计算的优化方法,通过NC4HW4数据格式重排,有效利用了SIMD指令集特性,减少了cache miss,提高了计算效率。
35 3
|
21天前
|
监控 Java Android开发
深入探索Android系统的内存管理机制
本文旨在全面解析Android系统的内存管理机制,包括其工作原理、常见问题及其解决方案。通过对Android内存模型的深入分析,本文将帮助开发者更好地理解内存分配、回收以及优化策略,从而提高应用性能和用户体验。
|
22天前
|
机器学习/深度学习 人工智能 算法
【AI系统】内存分配算法
本文探讨了AI编译器前端优化中的内存分配问题,涵盖模型与硬件内存的发展、内存划分及其优化算法。文章首先分析了神经网络模型对NPU内存需求的增长趋势,随后详细介绍了静态与动态内存的概念及其实现方式,最后重点讨论了几种节省内存的算法,如空间换内存、计算换内存、模型压缩和内存复用等,旨在提高内存使用效率,减少碎片化,提升模型训练和推理的性能。
42 1
|
1月前
|
监控 Java Android开发
深入探讨Android系统的内存管理机制
本文将深入分析Android系统的内存管理机制,包括其内存分配、回收策略以及常见的内存泄漏问题。通过对这些方面的详细讨论,读者可以更好地理解Android系统如何高效地管理内存资源,从而提高应用程序的性能和稳定性。
68 16
|
1月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
2月前
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
|
2月前
麒麟系统mate-indicators进程占用内存过高问题解决
【10月更文挑战第5天】麒麟系统mate-indicators进程占用内存过高问题解决
200 0

热门文章

最新文章