zl程序教程

您现在的位置是:首页 >  系统

当前栏目

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

系统 一个 更新 原创 物理 07 虚拟内存 查看器
2023-09-14 08:56:51 时间

    都是老技术,没啥新意。为了方便我在调试中要了解虚拟或物理内存的情况编写的,懒得装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)


【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(二) 本章将浅谈一下 操作系统是什么 的问题,随后通过讲解一些 Linux 下的基本指令,显示目录内容、跳转操作和文件的创建与删除。在讲解的同时我会穿插一些知识点,比如 Linux 隐藏文件、路径等基础知识。
【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(一) 本章将浅谈一下 操作系统是什么 的问题,随后通过讲解一些 Linux 下的基本指令,显示目录内容、跳转操作和文件的创建与删除。在讲解的同时我会穿插一些知识点,比如 Linux 隐藏文件、路径等基础知识。
操作系统之全局页面替换策略算法 本文章适用于本科院校学生期末速成操作系统中存储管理的全局页面替换策略的相关算法,也适用于计算机学院老师教学板书参考使用。
从硬件出发,浅谈操作系统的段机制与页机制【转】 转自:https://www.jianshu.com/p/f4a909f3fd2e 我们写一个程序,经过编译之后会变成一堆的指令。操作系统在执行这个程序的时候,也正是执行这堆指令。 指令可以是 取数据的指令 或 取下一条被执行指令 的指令。