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