#include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <windows.h> typedef struct {char JMPCODE[3]; //JMP на код завантажника char OS[8]; //назва ОС, під якою форматировалсядиск uint16_t bpersect; //Байт у секторі unsigned char secperclust; //Секторів у кластері uint16_t reservsect; //У зарезервованих секторів unsigned char numFAT; } boot_t; int main(int argc, char ** argv){ char * disk_name = "\\\\.\\PhysicalDrive1"; boot_t boot; HANDLE h_disk=CreateFile(disk_name,GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, OPEN_EXISTING, 0, NULL); uint32_t read; if(h_disk != INVALID_HANDLE_VALUE) printf("the %s successfully opened\n", disk_name); printf("%d\n",GetLastError()); if(ReadFile(h_disk,buf,10,&r,NULL)) printf("The start of boot block successfully read\n"); printf("%d\n",GetLastError()); CloseHandle(h_disk); exit(EXIT_SUCCESS); }