Funcionar para ocultar y para demostrar el cursor en la pantalla

Files Recovery Software
Inicio Datos de contacto Servicio de atención al cliente Descarga Demo Productos  

 
 

/* Funcionar para ocultar (y demostración) el cursor en la pantalla */

show_hide_cursor ( 32, 0 );

gotoxy(15,18);cprintf("[ %d ] Files Recovered...",
num);

/* search for the data until the ending sector of the disk */

while(loop<Sectors_in_HDD2)
{
/* Read one Sector (Sector No. = loop) */
readabsolutesectors ( 0x81, loop, 1, buffer );

gotoxy(19,16);cprintf("Scanning Sector Number = % ld",
loop);

if(kbhit())
{
show_hide_cursor ( 6, 7 ); /* Retrieve the
cursor before
Exit the program
*/
exit(0);
}

/* if specified header is found */
if((memcmp ( buffer, header,7))==0)
{

/* logic to provide the file name to automatically
create the files to save the recovered data */

strcpy(filename, path);
itoa(num,temp,10);
strcat(filename, temp);
strcat(filename,".DOC");
start_file=loop; /* starting sector of file */

gotoxy(5,19);cprintf("File Found..., Saving As %s",
filename);
num++;

////////////// File Close Conditions \\\\\\\\\\\\\\\\

file_size=0;
while( file_size<5000000)
{

loop++;
file_size+=512;
readabsolutesectors ( 0x81, loop, 1, buffer );

gotoxy(19,16);cprintf("Scanning Sector Number = % ld" ,
loop);

/* if file size reaches up to maximum size of 5MB */
if(file_size>=5000000)
{
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}

/* if footer of DOC file is found */
for(i=0;i<512;i++)
{
if( memcmp(buffer+i,DOC_footer,12)==0 )
{
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}
}

/* if another header is found */
if( memcmp(buffer,header,7)==0 )
{
loop=loop-1;
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}
if(kbhit())
{
show_hide_cursor ( 6, 7 );
exit(0);
}
}

}
loop++;
} ////////While Loop Ends Here

/* display message for completion of search and recovery */ if(loop>=Sectors_in_HDD2 )
{
gotoxy(17,23);cprintf("The Saving of files in the Disk is
Completed !!");
gotoxy(17,24);cprintf("Press Any Key to Exit...");
show_hide_cursor ( 6, 7 );
getch();
}

}

Comentarios sobre la codificación:

La geometría de la estructura es utilizada por la función getdrivegeometry usando 13H la extensión INTERNA, número 0x48 de la función para conseguir los varios parámetros del disco.

El diskaddrpacket de la estructura está para el formato del paquete de la dirección de disco, ser utilizado por los readabsolutesectors funciona.

La función getdrivegeometry (impulsión interna) es conseguir los parámetros de la impulsión del disco especificó la impulsión física del número de impulsión.

(char) peekb(0x0040, 0x0075) se utiliza encontrar el número de los discos duros conectados con la computadora, almacenada en la posición de memoria representada por el segmento 0040H: 0075H compensado. Si es total el número de los discos duros unidos es menos entonces mensaje y salida de error de dos exhibiciones.

Sectors_in_HDD2=getdrivegeometry (0x81); encuentra los varios parámetros del segundo disco duro físico (0x81) y de vueltas el número total de los sectores del disco.

La declaración si (acceso (trayectoria, 0)! = 0) comprueba la accesibilidad de la trayectoria dada por el usuario. ¡Si no existe el directorio de la destinación, la destinación se crea hasta un nivel y si la trayectoria dada comprobó por la condición si (mkdir (trayectoria)! se exhibe =0) es ilegal, mensaje de error.

Los nombres del archivo de los archivos automáticamente creados para ahorrar los datos recuperados se crean tales que los primeros tres caracteres de los archivos son dados el PTT por el strcat (trayectoria, “\ \ Ptt”); función. Se hace tan para evitar los nombres duplicados del archivo en el directorio de la destinación. Por lo tanto los nombres del archivo de archivos recuperados se dan en formato de “PTTxxxxx.DOC”

El show_hide_cursor de la función (32, 0); se utiliza ocultar el cursor de la pantalla donde el show_hide_cursor (6, 7); recupera el cursor de nuevo a la pantalla.


Los readabsolutesectors de la función (0x81, lazo, 1, almacenador intermediario); Lee un sector del segundo disco duro físico especificado por el lazo del número del sector.

Si el jefe del archivo se encuentra, start_file = lazo; fija el start_file a comenzar el número del sector del archivo que se recuperará. El programa sigue las tres condiciones dadas después, para encontrar el sector del conclusión del archivo:

  • Si el tamaño del archivo alcanza hasta máximo clasificar de 5MB
  • Si el pie del archivo del doc. se encuentra
  • Si se encuentra otro jefe

El número entero largo end_file es fijado al número del sector del conclusión del archivo por el end_file=loop; si cualquier una condición fuera de tres está satisfecha. Ahora los datos de los sectores, a partir de el número del sector start_file al número del sector end_file se ahorran al archivo con la función Recover_the_file ().

Previous page

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

Next page
 
 
Recuperación de Datos de libro
 
Capítulo 1 Una descripción de la recuperación de los datos
Capítulo 2 Introducción de discos duros
Capítulo 3 Acercamiento lógico a los discos y al OS
Capítulo 4 Sistemas de numeración
Capítulo 5 Introducción de la programación de C
Capítulo 6 Introducción a los fundamentos de la computadora
Capítulo 7 Comandos necesarios del DOS
Capítulo 8 Funciones e interrupciones del Disco-BIOS que dirigen con C
Capítulo 9 Manipulación de los discos duros grandes
Capítulo 10 Recuperación de los datos del disco blando corrompido
Capítulo 11 Fabricación de reservas
Capítulo 12 MBR de lectura y de modificación con la programación
Capítulo 13 DBR de lectura y de modificación con la programación
Capítulo 14 Programación para la recuperación del “archivo crudo”
Chapter 15 Programación para los limpiadores de los datos
Capítulo 16 Desarrollar más utilidades para los discos
Apéndice Glosario de los términos de la recuperación de los datos
 
 
Pro Data Doctor

Inicio

Productos

Datos de contacto

Servicio de atención al cliente

Descarga Demo

Términos y Condiciones

 
Pro Data Doctor