PDA

Ver la Versión Completa : Eliminar fichero sin poder recuperar


r_e_g_2007
10-10-2011, 23:07:00
Hola

Quisiera preguntar como se podría eliminar un fichero que después no se pueda recuperar con ninugun programa que recupere. Hacer eso desde delphi.

Un saludo y muchas gracias

Casimiro Notevi
10-10-2011, 23:25:09
Tendrías que mirar en qué posición del disco está almacenado, seguir su rastro cluster a cluster, sobreescribiendo varias veces con distintos valores cada uno de ellos.
Como hay que hacerlo a "bajo nivel", tendrías un problema, que seguramente el sistema no te dejaría hacerlo, interceptaría la orden y no te dejaría, aunque para todo hay trucos.
No es una cosa sencilla, te recomiendo que busques información sobre sistemas de archivo: fat32, ntfs, ext2, ext3, reiserfs, etc.
Tengo un libro ya muy viejito, la guía de discos norton, o algo así, se llama, donde se explica muy detallado el funcionamiento de los discos, cómo están particionados, etc. seguramente existirá lectura más actualzada.

oscarac
10-10-2011, 23:36:21
mm no se...
se me ocurre

has probado desfragmentando el disco?

ecfisa
10-10-2011, 23:58:49
Hola.

Si tu archivo tiene atributo normal podés hacer:

Windows.DeleteFile('C:\TU_ARCHIVO.TXT');

De no ser así revisá la función SetFileAttributes (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365535%28v=vs.85%29.aspx).

Saludos.

duilioisola
11-10-2011, 09:12:49
La solución creo que pasa por rellenarlo de '0' y luego borrarlo.


begin
a := archivo;
l := longitud;
For i := 0 to l-1 do
a[i] := #0;
DeleteFile(a);
end

Neftali [Germán.Estévez]
11-10-2011, 10:03:58
La solución creo que pasa por rellenarlo de '0' y luego borrarlo.

+1

No lo he puesto en práctica, porque no lo he necesitado, pero he leído que es de las más simples y efectivas.
Al sobreescribir con 0's TODO el fichero, ya no te tienes que preocupar de impedir la restauración posterior con otro tipo de herramientas (para borrados accidentales), ya que aunque la recuperación del fichero en sí se haga, el contenido es lo que realmente hemos borrado.

Además técnicamente, no tiene complicación ninguna.

r_e_g_2007
12-10-2011, 12:30:21
Muchas gracias a todos por sus respuestas y teneis mucha razon, me guiaré por sus respuestas. Gracias a todos