Λειτουργία για να κρύψει και να παρουσιάσει δρομέα στην οθόνη

Files Recovery Software
Σπίτι Στοιχεία Επικοινωνίας Εξυπηρέτηση Πελατών Κατεβάστε το Demo Προϊόντα  

 
 

/* Λειτουργία στη δορά (και παρουσιάστε) δρομέας στην οθόνη */

show_hide_cursor ( 32, 0 );

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

/* αναζήτηση των στοιχείων μέχρι τον τελειώνοντας τομέα του δίσκου */

while(loop<Sectors_in_HDD2)
{
/* Διαβάστε έναν τομέα (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((memcmp ( buffer, header,7))==0)
{

/* λογική για να παρέχει το όνομα αρχείων αυτόματα
δημιουργήστε τα αρχεία για να σώσετε τα ανακτημένα στοιχεία */

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_size=0;
while( file_size<5000000)
{

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

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

/* εάν το μέγεθος αρχείων φθάνει μέχρι το μέγιστο μέγεθος 5MB */
if(file_size>=5000000)
{
end_file=loop; /* Τελείωμα του τομέα του αρχείου */
Recover_the_file();/* γράψτε τα στοιχεία στο αρχείο */
break;
}

/* εάν η υποσημείωση του αρχείου εγγράφου βρίσκεται */
for(i=0;i<512;i++)
{
if( memcmp(buffer+i,DOC_footer,12)==0 )
{
end_file=loop; /* Τελείωμα του τομέα του αρχείου */
Recover_the_file();/* γράψτε τα στοιχεία στο αρχείο */
break;
}
}

/* εάν μια άλλη επιγραφή βρίσκεται */
if( memcmp(buffer,header,7)==0 )
{
loop=loop-1;
end_file=loop; /* Τελείωμα του τομέα του αρχείου */
Recover_the_file();/* γράψτε τα στοιχεία στο αρχείο */
break;
}
if(kbhit())
{
show_hide_cursor ( 6, 7 );
exit(0);
}
}

}
loop++;
} ////////Ενώ ο βρόχος τελειώνει εδώ

 

/* μήνυμα επίδειξης για την ολοκλήρωση της αναζήτησης και της αποκατάστασης */ 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();
}

}

Σχόλια στην κωδικοποίηση:

Η γεωμετρία δομών χρησιμοποιείται από την getdrivegeometry λειτουργία χρησιμοποιώντας την επέκταση INT 13H, αριθμός λειτουργίας 0x48 για να πάρει τις διάφορες παραμέτρους του δίσκου.

Η δομή diskaddrpacket είναι για το σχήμα πακέτων διευθύνσεων δίσκων, που χρησιμοποιείται από τη λειτουργία readabsolutesectors.

Η λειτουργία getdrivegeometry (κίνηση INT) είναι να αποκτηθούν οι παράμετροι Drive της διευκρινισμένης δίσκος φυσικής κίνησης αριθμού κίνησης.

(char) peekb(0x0040, 0x0075) χρησιμοποιείται για να βρεί τον αριθμό σκληρών δίσκων που συνδέονται με τον υπολογιστή, που αποθηκεύεται στη θέση μνήμης που αντιπροσωπεύεται από το τμήμα 0040H:offset 0075H. Εάν ο συνολικός αριθμός σκληρών δίσκων συνημμένων είναι λιγότερο έπειτα μήνυμα λάθους δύο επίδειξης και έξοδος.

Sectors_in_HDD2=getdrivegeometry (0x81) βρίσκει τις διάφορες παραμέτρους του δεύτερου φυσικού σκληρού δίσκου (0x81) και επιστρέφει το συνολικό αριθμό τομέων του δίσκου.

Η δήλωση if(access(path, 0)! = 0) ελέγχει τη δυνατότητα πρόσβασης της πορείας που δίνεται από το χρήστη. Εάν ο κατάλογος προορισμού δεν υπάρχει, ο προορισμός δημιουργείται μέχρι ένα επίπεδο και εάν η δεδομένη πορεία που ελέγχεται από τον όρο εάν (mkdir (path)!=0) είναι παράνομος, μήνυμα λάθους επιδεικνύεται.

Τα ονόματα αρχείων των αυτόματα δημιουργημένων αρχείων για να σώσουν τα ανακτημένα στοιχεία δημιουργούνται έτσι ώστε στους πρώτους τρεις χαρακτήρες των αρχείων δίνεται ο PTT από το strcat(path, "\\Ptt") λειτουργία. Γίνεται έτσι για να αποφύγει τα διπλά ονόματα αρχείων στον κατάλογο προορισμού. Επομένως τα ονόματα αρχείων των ανακτημένων αρχείων δίνονται με το σχήμα “PTTxxxxx.DOC”

Το show_hide_cursor λειτουργίας (32 ..0) χρησιμοποιείται για να κρύψει το δρομέα από την οθόνη όπου show_hide_cursor (6 ..7) ανακτά το δρομέα πίσω στην οθόνη.


Τα readabsolutesectors λειτουργίας (0x81, βρόχος, 1, απομονωτής) Διαβάζει έναν τομέα του δεύτερου φυσικού σκληρού δίσκου που διευκρινίζεται από το βρόχο αριθμού τομέα.

Εάν η επιγραφή του αρχείου βρίσκεται, start_file = περιτυλιχτείτε θέτει τον start_file στον αρχικό αριθμό τομέα του αρχείου που ανακτάται. Το πρόγραμμα ακολουθεί τους τρεις όρους που δίνονται έπειτα, για να βρούν τον τελειώνοντας τομέα του αρχείου:

  • Εάν το μέγεθος αρχείων φθάνει μέχρι το μέγιστο μέγεθος 5MB
  • Εάν η υποσημείωση του αρχείου εγγράφου βρίσκεται
  • Εάν μια άλλη επιγραφή βρίσκεται


Ο μακρύς ακέραιος αριθμός end_file τίθεται τον τελειώνοντας αριθμό τομέα του αρχείου από το end_file=loop εάν οποιοσδήποτε όρος από τα τρία είναι ικανοποιημένος. Τώρα το στοιχείο των τομέων, που αρχίζει από τον αριθμό τομέα start_file στον αριθμό τομέα end_file σώζεται στο αρχείο με τη λειτουργία Recover_the_file( ).


Previous page

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

Next page
 
 
Data Recovery Book
 
Κεφάλαιο 1 Μια επισκόπηση της αποκατάστασης στοιχείων
Κεφάλαιο 2 Εισαγωγή των σκληρών δίσκων
Κεφάλαιο 3 Λογική προσέγγιση στους δίσκους και το OS
Κεφάλαιο 4 Συστήματα αριθμού
Κεφάλαιο 5 Εισαγωγή του προγραμματισμού γ
Κεφάλαιο 6 Εισαγωγή στα βασικά υπολογιστών
Κεφάλαιο 7 Απαραίτητες εντολές DOS
Κεφάλαιο 8 Δίσκος-ζωντανό ον λειτουργεί και διακόπτει το χειρισμό με το γ
Κεφάλαιο 9 Διαχειριζόμενοι μεγάλοι σκληροί δίσκοι
Κεφάλαιο 10 Αποκατάσταση στοιχείων από την αλλοιωμένη δισκέτα
Κεφάλαιο 11 Παραγωγή των στηριγμάτων
Κεφάλαιο 12 Ανάγνωση και τροποποίηση MBR με τον προγραμματισμό
Κεφάλαιο 13 Ανάγνωση και τροποποίηση DBR με τον προγραμματισμό
Κεφάλαιο 14 Προγραμματισμός για την αποκατάσταση "ακατέργαστων αρχείων"
Κεφάλαιο 15 Προγραμματισμός για τις ψήκτρες στοιχείων
Κεφάλαιο 16 Ανάπτυξη περισσότερων χρησιμοτήτων για τους δίσκους
Προσάρτημα Γλωσσάριο όρων αποκατάστασης στοιχείων
 
 
Pro Data Doctor

Σπίτι

Προϊόντα

Στοιχεία Επικοινωνίας

Εξυπηρέτηση Πελατών

Κατεβάστε το Demo

Όροι και Προϋποθέσεις

 
Pro Data Doctor