中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-16 23:03
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 如何在XP或者WIn2000下读取扇区的数据? 查看 1,260 回复 5
楼 主 如何在XP或者WIn2000下读取扇区的数据? 发表于 2008-05-13 15:18 ·  中国 北京 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
我用CreateFile("\\\\.\\PhysicalDrive0"...)来读取时,一般的机器都没问题,但是机器里面安装了“还原卡”,有的就不能正常读了。
但是我发现winhex是可以正常读取的??,但是不知道他用的什么方法??
希望高手指点一二。
谢谢了。
2 发表于 2008-05-15 23:33 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
UID 94024
性别 男
状态 离线
估计WINHEX是通过向硬盘控制器驱动程序提申请(好像要填写一个I/O申请头)来获取硬盘数据,而\\PhysicalDrive0似乎是采用INT 13H来获取数据。
至于居于I/O,强烈不推荐,因为那几乎是只有.sys才能干的事。
3 发表于 2008-05-16 09:49 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
恩,估计2楼说的有道理。
因为“还原卡”就是截获INT13的。
但是我只是读,并没有写,它也给截掉了,有点可恶。
不过如何能读到扇区的数据呢??这个是要解决问题的关键啊。
4 发表于 2008-05-16 15:19 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
UID 94024
性别 男
状态 离线
填写设备请求申请表,具体格式和使用方法你可能要查WINDOWS(好像是DDK)资料。
5 发表于 2008-05-16 22:05 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
恩,过两天有时间查查。应该可以直接通过什么方法直接读取端口,那样基本上可以说就不会被封掉了。
6 发表于 2008-06-20 18:56 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
UID 94024
性别 男
状态 离线
也可以44用VirtualProtect来修改IAT实现I/O看看,偶是WINDOWS编程的初学者,懂得不多^_^
论坛跳转: