Furla
07-05-2006, 11:52
dopo un vano tentativo di recuperare la partizione con testdisk, e vista l'importanza di alcuni files andati persi, mi chiedevo se esistesse (o fosse possibile realizzare in un linguaggio a basso livello, tipo assembly) un programma che cerca in un hard disk una data sequenza di bytes. spiego meglio l'idea:
io ho in una partizione di backup una versione vecchia di ciascuno dei files che devo recuperare. si tratta di due files txt (o meglio frm, il formato dei codici visual basic... ma si aprono senza problemi con il blocco notes rinominandoli in txt).
ora, mettiamo che dalla vecchia versione io prenda una sequenza sufficientemente lunga di caratteri (qualche kB), in una parte del file che non è stata modificata nella vrsione andata persa: necessariamente tale sequenza deve essere ancora nell'hd, anche se non si sa dove perché non c'è file system che mi dica dove sono allocati i vari files. con un semplice algoritmo di ricerca di una stringa di bytes mi sarebbe quindi possibile trovare la posizione del file nell'hard disk. dopodiché basterebbe copiare i bytes "in quella zona", che probabilmente appartengono al file che cerco. eventualmente se ne prendessi di più mi basterebbe poco per trovare l'inizio e la fine del file. il tutto supponendo che il file non sia frammentato, altrimenti sarebbe un poì più complicato...
che ne dite? esiste già? è fattibile?
io ho in una partizione di backup una versione vecchia di ciascuno dei files che devo recuperare. si tratta di due files txt (o meglio frm, il formato dei codici visual basic... ma si aprono senza problemi con il blocco notes rinominandoli in txt).
ora, mettiamo che dalla vecchia versione io prenda una sequenza sufficientemente lunga di caratteri (qualche kB), in una parte del file che non è stata modificata nella vrsione andata persa: necessariamente tale sequenza deve essere ancora nell'hd, anche se non si sa dove perché non c'è file system che mi dica dove sono allocati i vari files. con un semplice algoritmo di ricerca di una stringa di bytes mi sarebbe quindi possibile trovare la posizione del file nell'hard disk. dopodiché basterebbe copiare i bytes "in quella zona", che probabilmente appartengono al file che cerco. eventualmente se ne prendessi di più mi basterebbe poco per trovare l'inizio e la fine del file. il tutto supponendo che il file non sia frammentato, altrimenti sarebbe un poì più complicato...
che ne dite? esiste già? è fattibile?