|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
[WIN32] Come cancellare stabilmente i file
Sotto Windows quali API è possibile usare per cancellare file in modo che non possano essere recuperati per lo meno con i classici programmi di recupero dati?
|
|
|
|
|
|
#2 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
edit - nel tuo programma magari metti anche un'opzione che permette di regolare quante volte gli zeri vengono scritti sul file. questo perché ho letto da qualche parte (forse proprio su questo forum) che per renedere i dati di un hard disk veramente irrecuperabili (anche con attrezzature da laboratorio) bisognerebbe sovrascriverli almeno 7 volte. |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1372
|
Quote:
Però non li devi sovrascrivere solo con zeri ma con dati casuali altrimenti il recupero è molto più facile. |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Apro il file in scrittura e comincio a scriverci dentro rumore bianco per la dimensione del file esistente, tutto qua? La storia dei 7 tentativi la conosco anch'io. Chissà che bel casino magnetico c'è nei settori! |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 305
|
Quote:
|
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
esatto, solamente che non si sa mai; voglio dire, questa questione dipende strettamente dagli algoritmi implementati dallo specifico file system. però a rigor di logica non vedo motivo di spostare i settori di un file già esistente la cui dimensione non sta neanche cambiando.
|
|
|
|
|
|
#7 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
qualche altra accortezza: secondo me nell'aprire il file da azzerare sarebbe meglio passare alla CreateFile i flags FILE_FLAG_NO_BUFFERING e FILE_FLAG_WRITE_THROUGH. e casomai per fare tutto in una botta passagli pure FILE_FLAG_DELETE_ON_CLOSE.
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ho cercato delle informazioni su Google circa il cosiddetto wiping dei files, il problema discusso in questo thread. ho trovato questo:
http://www.koders.com/delphi/fid8DDD...F46.aspx?s=md5 e gli ho dato un'occhiata molto molto rapida... a prima vista mi sembra che utilizzi proprio il metodo suggerito da me (apre il file coi flag che ho scritto prima e ci scrive un buffer precedentemente azzerato). |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Per usare il flag FILE_FLAG_NO_BUFFERING c'è bisogno che la scrittura avvenga per dimensioni multiple del settore, questo comporta automaticamente un ridimensionamento del file (a trovarlo un file multiplo di 4096...).
Anche se in generale questo non dovrebbe causare lo spostamento del file, la certezza non c'è. |
|
|
|
|
|
#10 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
- La posizione nel file deve essere multiplo della dimensione di un settore. - Il numero di byte deve essere multiplo della dimensione di un settore. - Il buffer in memoria deve essere allineato al multiplo della dimensione di un settore. Quote:
Es.: cluster da 4096 byte, se il file è lungo 5000 byte, posso riscrivere fino a 8192 byte ed userò solo i 2 cluster già usati dal file.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Multiplo del cluster direi...in ogni caso l'ultimo cluster se non è pieno è comunque riservato solo al file che lo usa parzialmente.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:05.




















