| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1703 人关注过本帖
标题:[求助][求助]读硬盘引导扇区
取消只看楼主 加入收藏
shxlengwa
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-2-24
收藏
 问题点数:0 回复次数:5 
[求助][求助]读硬盘引导扇区
那位高手可以告我
怎样用c语言读硬盘引导扇区?(win2000,xp下)
为什么用“absread()“不能读?

[此贴子已经被作者于2005-2-25 16:13:39编辑过]


搜索更多相关主题的帖子: 硬盘 引导 
2005-02-25 15:41
shxlengwa
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-2-24
收藏
得分:0 

改后可读软盘扇区 出错信息:应用程序试着直接访问硬盘,但仍无法支持。 据说可用win api函数直接实现,但我不知道是什么函数。 #include<stdio.h> #include<stdlib.h> #include<dos.h> #include<ctype.h> const int num=512; int Maxnum; FILE *fp; unsigned char *buf;

void ReadDisk(int nsects,int isect)/*nsects:要读的扇区数;isect:其实逻辑扇区号。*/ {

unsigned int i,j;

/*absread(drive,number of sects to read,start sect number,buf)*/ /*use INT 25h,Read disk sects! */ absread(2,nsects,isect,buf);

/*将结果写入文件*/ for(i=0;i<Maxnum;i+=16) { /*for(j),print by ascii */ for(j=0;j<16;j++) { fprintf(fp,"%02x",buf[i+j]); fprintf(fp," "); } fprintf(fp," ");

/*for(j),print by char*/ for(j=0;j<16;j++) { if(isprint(buf[i+j])) fprintf(fp,"%c",buf[i+j]); else fprintf(fp,"."); } fprintf(fp,"\n");

}/*End for(i)*/

}/*readdisk()*/

int main() { char p[512],ch; int k;

fp=fopen("out.txt","w+"); /*Creat file "out.txt" and write in.*/ if(fp==0) { printf("File open error!"); exit(0); }

fprintf(fp,"\n/*--------------------------Boot引导纪录----------------------------*/\n\n"); /*Boot引导纪录: One sect!*/ Maxnum=num; buf=malloc(Maxnum); ReadDisk(1,0); return 0; }/*main()*/


消极的做人,积极的做事! 时间就是金钱!Time is Money! !!My Enger!!
2005-02-26 18:17
shxlengwa
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-2-24
收藏
得分:0 
谢谢楼上那位!
我原来用这个程序来读过软盘的引导扇区,FAT表,FDT表。没什么问题。
但读硬盘时就成这样,读出来的不知是什么东西。

消极的做人,积极的做事! 时间就是金钱!Time is Money! !!My Enger!!
2005-02-27 09:09
shxlengwa
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-2-24
收藏
得分:0 

估计应该可以,dos对硬盘应该没保护,他是调用dos中断功能来完成的。

消极的做人,积极的做事! 时间就是金钱!Time is Money! !!My Enger!!
2005-02-27 09:37
shxlengwa
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-2-24
收藏
得分:0 
好吧

我装台虚拟机试试

消极的做人,积极的做事! 时间就是金钱!Time is Money! !!My Enger!!
2005-02-27 10:07
shxlengwa
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-2-24
收藏
得分:0 
我现在在网吧,没法装。回去试试吧。

消极的做人,积极的做事! 时间就是金钱!Time is Money! !!My Enger!!
2005-02-27 10:14
快速回复:[求助][求助]读硬盘引导扇区
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018645 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved