Programa para esconder a divisória usando a entrada da tabela da divisória dessa divisória da função do showtype de MBR () mostrar o nome do sistema de lima que corresponde ao valor do byte do indicador do sistema de lima

Files Recovery Software
Início Detalhes de Contato Apoio ao Cliente Download Demo Produtos  

 
 

Programa da escrita para esconder a divisória

O programa dado em seguida é usado esconder a divisória usando a entrada da divisória dessa divisória da tabela da divisória de MBR. Se você quiser esconder outras divisórias lógicas no volume prolongado você deve alcançar o MBRs prolongado.

O coding do programa tem sido dado em seguida:

/* Programa para esconder a divisória usando a entrada da tabela da divisória dessa divisória de MBR */

#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);

/* começar o usuário Input para esconder a divisória */

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;
}

Comentários no coding:

O programa lê bytes do indicador do sistema de lima de todas as quatro entradas da divisória na tabela da divisória de MBR. O showtype da função () é usado mostrar o nome do sistema de lima para o valor correspondente do byte do indicador do sistema de lima.

O usuário seleciona a divisória para esconder do menu indicado na tela e 16 (0x10) são adicionados então ao valor do byte do indicador do sistema de lima dessa divisória para escondê-lo.

O coding do showtype da função () é como segue:

/* Funcionar para mostrar o nome do sistema de lima que corresponde ao valor do byte do indicador do sistema de lima */

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 livro
 
Capítulo-1 Uma vista geral da recuperação dos dados
Capítulo-2 Introdução de discos duros
Capítulo-3 Aproximação lógica aos discos e ao ósmio
Capítulo-4 Sistemas de número
Capítulo-5 Introdução da programação de C
Capítulo-6 Introdução aos princípios do computador
Capítulo-7 Comandos necessários do DOS
Capítulo-8 Funções e interrupções do Disco-BIOS que seguram com C
Capítulo-9 Segurando discos duros grandes
Capítulo-10 Recuperação dos dados do disco flexível Corrupted
Capítulo-11 Fazendo apoios
Capítulo-12 MBR de leitura e modificando com programação
Capítulo-13 DBR de leitura e modificando com programação
Capítulo-14 Programação para “a recuperação da lima crua”
Capítulo-15 Programação para limpadores dos dados
Capítulo-16 Desenvolvendo mais utilidades para discos
Apêndice Glossário de termos da recuperação dos dados
 
 
Pro Data Doctor

Início

Produtos

Detalhes de Contato

Apoio ao Cliente

Download Demo

Termos e Condições

 
Pro Data Doctor