无忧启动论坛

标题: 采用\\PhysicalDrive0读取MBR在有还原卡的情况下可能会失效 [打印本页]

作者: netwinxp    时间: 2008-5-15 23:27
标题: 采用\\PhysicalDrive0读取MBR在有还原卡的情况下可能会失效
在DOS联盟论坛发现一个酱紫的例子,\\PhysicalDrive0似乎是调用INT 13H来获取MBR数据,而WINHEX采用填写I/O申请表通过磁盘驱动程序来获取数据,所以WINHEX可以正确处理带还原卡的MBR,而\\PhysicalDrive0可能会遇到麻烦。另外可以看出WINHEX应该能破坏带还原卡的机子的硬盘数据,还迷信还原卡的该醒醒了。
作者: 123    时间: 2008-5-15 23:54
几年前在学校机房已经测试N次了,根本没这回事,WINHEX用API访问硬盘,一般顺序是CreateFile->ZwCreateFile->NtCreateFile->fastiodispatch->IRP,那个\\PhysicalDrive0用的是CreateFile,跟那个写I/O申请表本质上是一回事。

[ 本帖最后由 123 于 2008-5-15 11:59 PM 编辑 ]
作者: netwinxp    时间: 2008-5-16 00:30
看到的例子......

读扇区.PNG (13.42 KB, 下载次数: 106)

读扇区.PNG

作者: 123    时间: 2008-5-16 07:48
原帖由 netwinxp 于 2008-5-16 00:30 发表
看到的例子......

能读但改不了,改了保存再打开还是原来的数据。我认为应该是他的程序有问题,否则操作系统自己也读不了盘。毕竟CreateFile是系统提供的接口,系统自己也要用这个。

[ 本帖最后由 123 于 2008-5-16 07:53 AM 编辑 ]
作者: lvyanan    时间: 2008-5-16 08:55
用磁盘扇区编辑器sectoreditor可以突破还原卡的保护,只有200K,绿色软件,不过瑞星老是报其为病毒,运行时要关闭杀毒软件。

[ 本帖最后由 lvyanan 于 2008-5-16 08:57 AM 编辑 ]
作者: netwinxp    时间: 2008-5-16 09:54
硬盘控制器驱动程序会不会使用INT 13H来读取数据呢?我看多半不会,否则就没必要磁盘驱动程序了(PCIIDE.SYS倒有可能)。既然不使用INT 13H,那就没理由被还原卡挡住写(DOS直接CALL C800段,还原卡就挡不住,当然BIOS设置里面的0扇区保护叶形同虚设),然而\\PhysicalDrive0会被挡住只能说它归根到底是调用INT 13H。如果填写设备申请进行磁盘0磁道写操作也被挡住,那这台PC多半是采用PCIIDE.SYS来驱动硬盘控制器。NTOSKRNL似乎TEST一下EAX是否为0,我怀疑它是对绝对0扇区进行特殊处理,也就是说它和直接填写设备申请很有可能不完全是一回事,在未载入磁盘驱动之前的OSLOADER也调用了它。
还原卡对一些磁盘编辑工具不起作用,说明这类程序采用了某些机制(很可能是填写设备申请),但我想它们应该不会是直接I/O,否则兼容性就会有很大的问题,而且WINDOWS保护机制也会给他们带来很大的麻烦。

[ 本帖最后由 netwinxp 于 2008-5-16 10:15 AM 编辑 ]
作者: wscq    时间: 2008-9-30 17:42
终于可以发言了:)

为什么不继续探讨下去呢? 我现在遇到的问题就是CreateFile+PhysicalDrive0避不开保护卡的问题(读而不能写)。直接IO?似乎保护模式又不允许。直接设备请求?好多年没写个人电脑程序了,请问版主相关知识,不吝赐教啊
作者: dfghj    时间: 2008-10-31 18:38
还原卡很难搞,有人写过硬盘直接访问工具.有源码




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3