Πρόγραμμα γραψίματος σε Unhide το χώρισμα
Το πρόγραμμα στο unhide το κρυμμένο χώρισμα λειτουργεί ακριβώς απέναντι από το πρόγραμμα που κρύβει το πρόγραμμα. Σε αυτό το πρόγραμμα αφαιρούμε 16 (0x10) από την αξία της ψηφιολέξης δεικτών συστημάτων αρχείων του κρυμμένου χωρίσματος.
Η κωδικοποίηση του προγράμματος ως εξής:
/* Πρόγραμμα στο unhide το χώρισμα που κρύβεται από το προηγούμενο πρόγραμμα */
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo;
int result, tohide;
int i;
static char dbuf[512];/* Data buffer */
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 */
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);
/* Πάρτε τη χρήση που εισάγεται στο unhide το χώρισμα */
gotoxy(1,15);printf("Enter The partition no., Which to
unhide, Or Press any other key to
Exit... ");
tohide=getche();
switch(tohide)
{
/* Πρώτο χώρισμα Unhide του πίνακα χωρισμάτων */
case '1':
dbuf[450] = dbuf[450] -16;
result = _bios_disk(_DISK_WRITE, &dinfo);
break;
/* Δεύτερο χώρισμα Unhide του πίνακα χωρισμάτων */
case '2':
dbuf[466] = dbuf[466]-16;
result = _bios_disk(_DISK_WRITE, &dinfo);
break;
/* Τρίτο χώρισμα Unhide του πίνακα χωρισμάτων */
case '3':
dbuf[482] = dbuf[482] -16;
result = _bios_disk(_DISK_WRITE, &dinfo);
break;
/* Τέταρτο χώρισμα Unhide του πίνακα χωρισμάτων */
case '4':
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;
}
Σχόλια στο πρόγραμμα
Να είστε προσεκτικός δίνοντας τον αριθμό χωρισμάτων στο unhide. Εάν ο αριθμός χωρίσματος εισάγεται λανθασμένος από το λάθος, τις πληροφορίες συστημάτων αρχείων εκείνου του χωρίσματος θα αλλάξουν και το χώρισμα μπορεί να γίνει απρόσιτο. Εντούτοις το πρόγραμμα που συζητείται προηγουμένως για να κρύψει τα χωρίσματα, μπορεί να σας βοηθήσει για να θεραπεύσει την ψηφιολέξη δεικτών συστημάτων αρχείων εκείνου του χωρίσματος.
|
page 1 | 2 | 3 | 4 | 5 | 6 |
|
|
|