首页
社区
课程
招聘
[求助]CreateFile读物理驱动器
发表于: 2015-10-21 21:27 11864

[求助]CreateFile读物理驱动器

2015-10-21 21:27
11864
微软的MSDN上白纸黑字的写着
\\.\PhysicalDrive0 Opens the first physical drive.
可是我HANDLE hFile = CreateFile("\\.\physicaldrive0",0,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);
然后ReadFile(hFile, b, 512 , &bytesread, NULL);怎么就读不出来呢

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 216
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你用管理员权限运行了没
2015-10-21 22:18
0
雪    币: 114
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
白纸黑字没错。
但是"\\.\physicaldrive0"经过字符转义之后变成什么了???
    CHAR          szDriverPath[7] = "\\\\.\\C:";	//驱动器路径
	//打开驱动器(读)
    HANDLE hDrive = CreateFile(szDriverPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0);
    if (hDrive == INVALID_HANDLE_VALUE)
		return false;

2015-10-21 22:18
0
雪    币: 108
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=toofunny;1398269]白纸黑字没错。
但是"\\.\physicaldrive0"经过字符转义之后变成什么了???

    CHAR          szDriverPath[7] = "\\\\.\\C:";        //驱动器路径
        //打开驱动器(读)
    HANDLE hDrive = CreateFi...[/QUOTE]
是啊,我用OD打开看见是变成\.PHYSICALDRIVE0了,所以我又把他改为\\\\.\\PHYSICALDRIVE0,

还是读不了,我又用OD打开FlexHEX(网上下的别人的软件),查找\\.\physicaldrive0,下断,发现CreateFile倒数第3个参数为3,于是果断改了,忙了一天,终于搞定了
2015-10-21 23:03
0
游客
登录 | 注册 方可回帖
返回
//