Thema: Delphi Datei sicher löschen

Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#24

Re: Datei sicher löschen

  Alt 25. Jan 2010, 10:17
Zitat von XoRiC:
Hm, da dein Wissensstand den von mir gelinkten Code wohl übertrifft.. ich wäre an deiner Lösung sehr interessiert wenn es dir nichts ausmacht deinen Code hier zu posten
Hallo XoRiC,

ob mein Wissensstand den Code übertrifft kann ich nich ohne schlechtes Gewissen pauschal beantworten. Derzeit kann ich aber erkennen, dass mittels des Codes im Link die zu löschende Datei geöffnet, mit Zufallswerten überschrieben und erst dann gelöscht wird. Da Dateien ja nicht wirklich mit ihrem Inhalt gelöscht werden sondern nur deren "Eintrag zum Speicherort" entfern wird ist das der Weg, um auch den Inhalt der Datei soweit zu verändern, dass er nicht wieder hergestellt werden kann.
Im Laufe dieses Threads hat sich aber herausgestellt, dass Windows leider eine Menge mehr mit einer Datei anstellt. Das leider auch noch unter unterschiedlichen Voraussetzungen. Somit scheint dieses Verfahren eben leider nicht auszureichen um wirklich alle Inhalte sicher von der Festplatte zu entfernen. Soll das so sein, so scheint der Aufwand doch imens zu sein, auch unter dem Gesichtspunkt, dass unterschiedliche Windows-Versionen und Dateisysteme zu bedenken sind.
Da drängt sich der Ansatz auf, das Zwischenspeichern der Datei auf die Festplatte grundsätzlich zu vermeiden. Bleibt das Problem, dass die zu behandelnde Datei mit einer beliebigen anderen Anwendung automatisch geöffnet werden soll. Legt man also die Datei im Speicher ab, ist zumindest mittels ShellExecute so einfach kein Rankommen an diese (wir nehmen mal an, wir wollen diese Datei mit Word öffnen). Ich muss hier fairerweise erwähnen, dass die Datei nicht vom externen Datenträger gestartet werden kann, da sie auf diesem in verschlüsselter Form abgelegt ist.

Unsere derzeitige Lösung ist, die Datei in einer kleinen VM auf einen virtuellen Laufwerk zu speichern und von dort aus zu starten. Das passiert dann natürlich alles im Speicher. Somit umgeht man das Thema Festplatte. Leider scheint dann aber immer noch das Problem offen zu sein, was passiert, wenn mangels ausreichend RAM das System die Speicherbereiche auf die Platte swapt. Dann müsste da eigentlich was von der Originaldatei übrig bleiben. Aber das ignorieren wir erst mal höflich

Somit gibt es meinerseits erst mal keinen speziellen Code den ich hier posten kann. Wir haben das Problem sozusagen über einen Trick "ausgehebelt". Da jetzt keine Datei auf der Platte zwischengespeichert werden muss, muss auch nichts gelöscht werden.

Gruß oki
42
  Mit Zitat antworten Zitat