[原创](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)
【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(二) 本章将浅谈一下 操作系统是什么 的问题,随后通过讲解一些 Linux 下的基本指令,显示目录内容、跳转操作和文件的创建与删除。在讲解的同时我会穿插一些知识点,比如 Linux 隐藏文件、路径等基础知识。
【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(一) 本章将浅谈一下 操作系统是什么 的问题,随后通过讲解一些 Linux 下的基本指令,显示目录内容、跳转操作和文件的创建与删除。在讲解的同时我会穿插一些知识点,比如 Linux 隐藏文件、路径等基础知识。
操作系统之全局页面替换策略算法 本文章适用于本科院校学生期末速成操作系统中存储管理的全局页面替换策略的相关算法,也适用于计算机学院老师教学板书参考使用。
从硬件出发,浅谈操作系统的段机制与页机制【转】 转自:https://www.jianshu.com/p/f4a909f3fd2e 我们写一个程序,经过编译之后会变成一堆的指令。操作系统在执行这个程序的时候,也正是执行这堆指令。 指令可以是 取数据的指令 或 取下一条被执行指令 的指令。
相关文章
- 一个关于高考的"黑客"故事:用2B铅笔"注入"阅卷系统
- [原创]我写的一个观察系统进程特定虚拟地址页PTE的工具
- Linux技巧--Redhat 5系统中的vim编辑器无法正常显示中文解决方案(中文显示为乱码)/Ubuntu 12.04系统gedit中文乱码
- 创业之路的故事|如何设计一个用户系统
- 如何设计一个单点登录系统(1)?
- 阿里毕玄:我在系统设计上犯过的14个错
- Linux系统挂载NTFS移动硬盘
- UCloner 是一个针对 Ubuntu Linux 编写的系统备份、恢复、克隆工具
- Java核心知识点学习----线程中如何创建锁和使用锁 Lock,设计一个缓存系统
- 阿里二面:现针对一个请求量10000次/s的秒杀系统,说说你的优化思路
- 我做 Fiori 开发经常使用的几个系统,不同的 SAP UI5 版本
- 音视频开发(十一):OpenGL ES矩阵变换与坐标系统
- 教你搭建一个Telegraf+Influxdb+Grafana 监控系统
- 所见即搜,3分钟教你搭建一个服装搜索系统!
- 【一天一门编程语言】用 Go 语言实现一个 DAG 任务调度系统的API 接口代码
- 一脸懵逼学习Storm的搭建--(一个开源的分布式实时计算系统)
- 一个完整的crm系统都应该具备哪些功能?
- 【图文并茂】一键重装win7系统详细教程
- Win11系统点击wifi图标没有反应怎么解决?
- XUbuntu查看系统开机/运行时间与重启次数(一百三十五)
- petshop4.0 具体解释之中的一个(系统架构设计)
- 为什么系统会将TEMP环境变量转换为一个短文件名?
- 为什么32位系统上虚拟地址空间是4GB
- 【Deepin 20 Beta系统】Linux系统中把一个磁盘不相邻的分区空间通过挂载利用起来
- RK3399平台开发系列讲解(网络篇)7.22、select系统调用源码分析
- 一个完整的crm系统都应该具备哪些功能?
- Android 字体大小(fontScale)不随系统设置变化
- 【看表情包学Linux】冯诺依曼架构 | 理解操作系统 | 基于 Pintos 实现新的用户级程序的系统调用
- Linux基础入门到精通之虚拟机中安装Linux系统(二)
- STM32F407移植Little vGL系统,freeRTOS系统,FATFS文件系统