Inscription du programme pour faire la protection de MBR:
/* Programme pour faire la protection de MBR */
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo; /* Structure pour tenir l'information des paramètres de disque */
int result;
int count=0;
char filename[80]; /* Stocke le nom de fichier donné par User */
static char dbuf[512]; /* Amortisseur de données de 512 bytes */
FILE *fp;
dinfo.drive = 0x80; /* nombre d'entraînement pour le premier disque dur */
dinfo.head = 0; /* nombre principal de disque */
dinfo.track = 0; /*nombre de voie */
dinfo.sector = 1; /* nombre de secteur */
dinfo.nsectors = 1; /* compte de secteur */
dinfo.buffer = dbuf; /* amortisseur de données */
printf("\n Entrer dans le nom de fichier et le chemin pour stocker la protection de MBR \n ");
gets(filename);
// Ouvrir le dossier pour stocker la protection de MBR \\
if((fp=fopen(filename,"wb"))==NULL)
{
printf("N'a pas pu créer le dossier, n'appuie sur aucune touche pour sortir...");
getch();
exit(0);
}
printf("Essayer de lire de la commande de disque dur :\n");
//// Lire le secteur indiqué de disque \\\\
result = _bios_disk(_DISK_READ, &dinfo);
if ((result & 0xff00) == 0)
{
printf("Le disque a lu de la commande de disque dur : réussi.\n");
/// Écrire 512 bytes de MBR au dossier \\\\
while(count<512)
{
fprintf(fp,"%c",dbuf[count] & 0xff );
count++;
}
fclose(fp);
}
else
printf("Ne peut pas lire la commande de disque dur, statut = 0x%02x\n", result);
return 0;
}
|