马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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配色
@拈花小仙 @竹林小溪 @小甲鱼 @无名侠 @康小泡 @牡丹花下死做鬼 |