MBR表获取与解析

该博客详细介绍了如何通过C++代码读取并解析MBR(主引导记录),包括引导程序、磁盘分区表的展示以及分区信息的解析。示例代码展示了读取硬盘物理驱动器上的MBR,并修改其内容的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<iostream>
#include<windows.h>

using namespace std;
#define BOOTRECORDSIZE 440

typedef struct _BOOTRECORD {


	unsigned char BootRecord[BOOTRECORDSIZE];


}BOOTRECORD,*PBOOTRECORD;

#define DPTSIZE 64

typedef struct _DPT {


	unsigned char Dpt[DPTSIZE];


}DPT,*PDPT;





typedef struct _MBR {

	BOOTRECORD BootRecord;              //引导程序
	unsigned char ulSinged[4];          //Windows 磁盘签名
	unsigned char sReserve[2];          //保留位
	DPT Dpt;                            //分区表
	unsigned char EndSign[2];           //结束标志




}MBR,*PMBR;

#define DPTNUMBER 4
typedef struct _DP {

	unsigned char BootSign;           //引导标志
	unsigned char StartHsc[3];
	unsigned char Partitiontype;        //分区类型
	unsigned char EndHsc[3];
	unsigned int SectorsPreceding;    //本分区之前使用的扇区数
	unsigned int SectorInPartition;
}DP,*PDP;



unsigned char FixMbr[16] = { 0x00, 0xFE,
0xFF ,0xFF ,0x07 ,0xFE, 0xFF ,0xFF ,0x00, 0xA8 ,0x58 ,0x01 ,0x00, 0x48 ,0x27 ,0x01 };


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值