| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 黑龍 于 2015-12-19 13:42 编辑  
 
原理已经说过了。这次只是用库函数来操作硬盘 
- #include <stdio.h>
 
  
- #define size 512 // 一个扇区512字节
 
  
- int main(void)
 
 - {
 
 -         /* 文件流 */
 
 -         FILE *DiskFile;
 
 -         FILE *File;
 
 -         /* MBR */
 
 -         unsigned char *DiskCode;// 要写入的MBR
 
 -         unsigned char MBRCODE[size]={0};// 备份MBR
 
 -         /* 准备写入的MBR */
 
 -         DiskCode=(unsigned char*)"        紫玫冰心     ";
 
 -         /* 获取文件流 */
 
 -         DiskFile=fopen("\\\\.\\PhysicalDrive0","rb+");
 
 -         if(!DiskFile)
 
 -                 puts("Can't open file!");
 
 -         else if(!feof(DiskFile))
 
 -         {
 
 -                 /* 移动到MBR的位置 */
 
 -                 fseek(DiskFile,0,SEEK_SET);// MBR的位置(0柱面 0磁道 1扇区)
 
 -                 fread(MBRCODE,1,size,DiskFile);// 备份MBR
 
 -                 /* 修改MBR之前先备份MBR */
 
 -                 File=fopen("备份的MBR..ini","wb+");// 创建一个文件
 
 -                 if(!File)
 
 -                         puts("备份MBR失败!");
 
 -                 else if(!feof(File))
 
 -                 {
 
 -                         /* 将原来的MBR保存 */
 
 -                         fwrite(MBRCODE,size,1,File);
 
 -                         fclose(File);
 
 -                 }
 
 -                 /* 移动到MBR的位置 */
 
 -                 fseek(DiskFile,0,SEEK_SET);// MBR的位置(0柱面 0磁道 1扇区)
 
 -                 // 写入新的MBR
 
 -                 fwrite(DiskCode,size,1,DiskFile);
 
 -                 fclose(DiskFile);
 
 -         }
 
 -         printf("Press any key to continue");
 
 -         getchar();
 
 -         return 0;
 
 - }
 
  复制代码 
秀一下我的VS配色 
 
 
@拈花小仙 @竹林小溪 @小甲鱼 @无名侠 @康小泡 @牡丹花下死做鬼  |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |