Programm, zum des Faches mit Fachtabelle Eintragung dieses Faches MBR showtype () von der Funktion zu verstecken, den Namen des Dateisystems zu zeigen entsprechend dem Wert des Dateisystem-Indikatorbytes

Files Recovery Software
Heim Kontakt Details Customer Support Demo herunterladen Produkte  

 
 

Schreiben Programm, zum des Faches zu verstecken

Das Programm, das zunächst gegeben wird, wird verwendet, um das Fach mit der Facheintragung dieses Faches von der Fachtabelle von MBR zu verstecken. Wenn du andere logische Fächer im ausgedehnten Volumen verstecken möchtest, solltest du das ausgedehnte MBRs zugänglich machen.

Die Kodierung des Programms ist zunächst gegeben worden:

/* Programm, zum des Faches mit Fachtabelle Eintragung dieses Faches von MBR zu verstecken */

#include <bios.h>
#include <stdio.h>

int main(void)
{
struct diskinfo_t dinfo;
int result, tohide;
int i;
static char dbuf[512];/* Data Buffer to read-Write the
Sector information */
clrscr();

dinfo.drive = 0x80; /* drive number for First
Hard Disk */
dinfo.head = 0; /* disk head number */
dinfo.track = 0; /* track number */
dinfo.sector = 1; /* sector number */
dinfo.nsectors = 1; /* sector count */
dinfo.buffer = dbuf; /* data buffer */

/* Read the First Sector of the Disk */

result = _bios_disk(_DISK_READ, &dinfo);

if ((result & 0xff00) == 0)
{
printf("The Partition Codes of Four Partition Entries are,
0x%02x, 0x%02x, 0x%02x And 0x%02x.\n",
dbuf[450] & 0xff, dbuf[466] & 0xff,
dbuf[482] & 0xff, dbuf[498] & 0xff);
textcolor(15);
gotoxy(5,5);cprintf("Partition Entry in MBR is as
follows:");
gotoxy(10,7);cprintf("1. "); showtype(dbuf[450] & 0xff);
gotoxy(10,8);cprintf("2. "); showtype(dbuf[466] & 0xff);
gotoxy(10,9);cprintf("3. "); showtype(dbuf[482] & 0xff);
gotoxy(10,10);cprintf("4. "); showtype(dbuf[498] & 0xff);

/* den Benutzer veranlassen, für das Verstecken des Faches einzugeben */

gotoxy(1,15);
printf("Enter The partition no. you want to hide,
Or Press any other key to Exit... ");

tohide=getche();

switch(tohide)
{
case '1': /* Hide First Partition in partition Table */
dbuf[450] = dbuf[450] +16;
result = _bios_disk(_DISK_WRITE, &dinfo);
break;

case '2': /* Hide second Partition in partition Table */
dbuf[466] = dbuf[466]+16;
result = _bios_disk(_DISK_WRITE, &dinfo);
break;

case '3': /* Hide third Partition in partition Table */
dbuf[482] = dbuf[482] +16;
result = _bios_disk(_DISK_WRITE, &dinfo);
break;

case '4': /* Hide Fourth Partition in partition Table */
dbuf[498] = dbuf[498]+16;
result = _bios_disk(_DISK_WRITE, &dinfo);
break;

default:
exit(0);

}

if ((result & 0xff00) == 0)
{
printf("\n\nThe New Partition Codes of Four Partition
Entries are, 0x%02x, 0x%02x, 0x%02x And 0x%02x.\n",
dbuf[450] & 0xff, dbuf[466] & 0xff,
dbuf[482] & 0xff, dbuf[498] & 0xff);
getch();
}
else
{
printf("Cannot Change the Byte, status = 0x%02x\n",
result);
getch();
}
}
return 0;
}

Anmerkungen zur Kodierung:

Das Programm liest Dateisystem-Indikatorbytes aller vier Facheintragungen in der Fachtabelle von MBR. Das Funktion showtype () wird benutzt, um den Namen des Dateisystems für den entsprechenden Wert des Dateisystem-Indikatorbytes zu zeigen.

Der Benutzer wählt das Fach vor, um sich vom Menü zu verstecken, das auf dem Schirm angezeigt wird und dann wird 16 (0x10) dem Wert des Dateisystem-Indikatorbytes dieses Faches hinzugefügt, um ihn zu verstecken.

Die Kodierung des Funktion showtype () ist, wie folgt:

/* Arbeiten, um den Namen des Dateisystems zu zeigen entsprechend dem Wert des Dateisystem-Indikatorbytes */

showtype(i)
{
switch (i)
{

case 0x00 :cprintf("Empty"); break;
case 0x01 :cprintf("DOS 12-bit FAT"); break;
case 0x02 :cprintf("XENIX root"); break;
case 0x03 :cprintf("XENIX usr"); break;
case 0x04 :cprintf("DOS 16-bit <32M"); break;
case 0x05 :cprintf("Extended"); break;
case 0x06 :cprintf("DOS 16-bit >=32M"); break;
case 0x07 :cprintf("OS/2 HPFS"); break;
case 0x08 :cprintf("AIX"); break;
case 0x09 :cprintf("AIX bootable"); break;
case 0xa :cprintf("OS/2 Boot Manag"); break;
case 0xb :cprintf("Win95/98/ME FAT32"); break;
case 0xc :cprintf("Win95/98/ME FAT32 (LBA)"); break;
case 0xd :cprintf("Win95 FAT16"); break;
case 0xe :cprintf("Win95 FAT16 (LBA)"); break;
case 0xf :cprintf("Win95 Extended"); break;
case 0x11 :cprintf("Hidden FAT-12");break;
case 0x12 :cprintf("Compaq Diagnostics");break;
case 0x14 :cprintf("Hidden FAT-16 (<32)");break;
case 0x15 :cprintf("Hidden Extended");break;
case 0x16 :cprintf("Hidden FAT-16");break;
case 0x17 :cprintf("NTFS"); break;
case 0x40 :cprintf("Venix 80286"); break;
case 0x51 :cprintf("Novell?"); break;
case 0x52 :cprintf("Microport"); break;
case 0x63 :cprintf("GNU HURD"); break;
case 0x64 :
case 0x65 :cprintf("Novell Netware"); break;
case 0x75 :cprintf("PC/IX"); break;
case 0x80 :cprintf("Old MINIX"); break;
case 0x81 :cprintf("Linux/MINIX"); break;
case 0x82 :cprintf("Linux swap"); break;
case 0x83 :cprintf("Linux native"); break;
case 0x85 :cprintf("Linux Extended"); break;
case 0x93 :cprintf("Amoeba"); break;
case 0x94 :cprintf("Amoeba BBT"); break;
case 0xa5 :cprintf("BSD/386"); break;
case 0xa6 :cprintf("OpenBSD"); break;
case 0xa7 :cprintf("NEXTSTEP"); break;
case 0xb7 :cprintf("BSDI fs"); break;
case 0xb8 :cprintf("BSDI swap"); break;
case 0xc7 :cprintf("Syrinx"); break;
case 0xdb :cprintf("CP/M"); break;
case 0xe1 :cprintf("DOS access"); break;
case 0xe3 :cprintf("DOS R/O"); break;
case 0xf2 :cprintf("DOS secondary"); break;
case 0xff :cprintf("BBT"); break;

default :cprintf("UNKOWN");
}

return 0;
}

Previous page

page 1 | 2 | 3 | 4 | 5 | 6

Next page
 
 
Data Recovery-Buch
 
Kapitel 1 Ein überblick über Daten-Wiederaufnahme
Kapitel 2 Einleitung der Festplatten
Kapitel 3 Logische Annäherung an Scheiben und OS
Kapitel 4 Zahlensysteme
Kapitel 5 Einleitung der C Programmierung
Kapitel 6 Einleitung in eine Computer-Grundlagen
Kapitel 7 Notwendige DOS Befehle
Kapitel 8 Scheibe-BIOS Funktionen und Unterbrechungen, die mit C anfassen
Kapitel 9 Behandlung der großen Festplatten
Kapitel 10 Daten-Wiederaufnahme von verdorbenem Floppy-Disc
Kapitel 11 Bilden der Unterstützungen
Kapitel 12 Lesenund änderndes MBR mit der Programmierung
Kapitel 13 Lesenund änderndes DBR mit der Programmierung
Kapitel 14 Programmierung für "Raw File" Wiederaufnahme
Kapitel 15 Programmierung für Daten-Wischer
Kapitel 16 Entwickeln von mehr Dienstprogrammen für Scheiben
Anlage Glossar der Daten-Wiederaufnahme Bezeichnungen
 
 
Pro Data Doctor

Heim

Produkte

Kontakt Details

Customer Support

Demo herunterladen

Allgemeine Geschäftsbedingungen

 
Pro Data Doctor