![]() |
Re: Datei sicher löschen
wenn man genauer sucht, dann findet man bestimmt sogar meinen alten Shreder-Code hier irgendo, welcher auch nicht grad auf dem "aktuellen" Wissensstand ist :oops:
Zitat:
Bei meiner Datenplatte mit 16-KB-Clustern würde zu 50% was vom Slack-Space übrig bleigen, bei meiner Systemplatte mit nur 4 KB würde zu 50% mehr, als nötig überschrieben und beim USB-Stick zu 93%, da nur 0,5 KB. Zitat:
und da drin nachsehn. dann brauchst du noch direkten Schreibzugriff auf den Datenträger, was mindesten Adminrechte verlangt aber solange du dich nicht mit dem Aufbau der Dateisysteme auskennst, weißt du dann immernoch nicht, welche Sektoren nun zu löschen sind :nerd: Zitat:
|
Re: Datei sicher löschen
Zitat:
![]() |
Re: Datei sicher löschen
Zitat:
Solange die Datei sicher gelöscht ist kann man zur Not damit leben. Sollte sich da noch ein Weg finden lasse, so währe es dann aber konsequent. Zitat:
@0x...irgendwas: Dank für den Hinweis auf GetDiskFreeSpace. Mir schwante schon so was. Um das Thema werd ich mich auf jeden Fall kümmern. Wenn ich schon den Slack Space mit lösche, dann ordentlich. Ich bin für jede weitere Anregung dankbar. Entscheidend ist für mich nicht die Kürze des Codes, sondern dass die Funktion ordentlich umgesetzt ist. Dank und Gruß oki PS: Nicht, dass sich jemand wundert, ich will erst Infos sammeln und dann Coden. Ich werde aber auf jeden Fall die fertige Funktion hier posten. |
Re: Datei sicher löschen
Zitat:
|
Re: Datei sicher löschen
Zitat:
aber wenn es eh "einfach" sein soll und die betreffenden Dateien nicht verkleinert werden, dann würde es ausreichen, wenn die Dateien in ihrer aktuellen Dateigröße einfach einmal komplett mit 0 überschrieben werden und dabei der Slack Space ignoriert wird, denn da steht ja eventuell nur was "wichtiges" drin, wenn die Datei verkleinert wurde :angel: PS: ich erwähne jetzt hier lieber nicht noch die Sparse-Dateien, komprimierten Dateien, die Junctions und was es sonst noch im NTFS gibt :nerd: |
Re: Datei sicher löschen
Zitat:
Dank für deinen Beitrag OldGumpy und Gruß oki |
Re: Datei sicher löschen
die MFT auslesen, direkten Zugriff auf Datenträger erlangen, MFT suchen, alle Mapping-LCNs der MFT besorgen, die MFT nach der Datei durchsuchen, die Position in der MFT berechnen, über die LCNs die Postition auf der Platte bestimmen und dann da löschen :stupid:
Legst du die Dateien selber an? dann reservier Anfangs volle ihre Dateigröße und schreib erst danach die Daten da rein. bzw. müssen die Dateien unbedingt auf den Datenträger? notfalls direkt im RAM behalten. PS: vergiß nicht, wenn du die Dateien verarbeitest und etwas da rauslädst, dann könnten diese Daten über die Auslagerungsdatei auch auf der Platte landen. Datensicherheit ist schon ein schlimmes Thema :? |
Re: Datei sicher löschen
Zitat:
Vorallem, wenn man das liest. Ich erstelle die Dateien nicht, leider. Ich entpacke sie und speichere sich temporär zwischen. Z.B. um sie durch eine Anwendung zu öffnen. Somit hab ich erst mal keinen Einfluss auf die Länge. Der Rest wird mir dann aber nicht erpart bleiben. Das Thema Auslagerung uf die Platte ist mir noch gar nicht in den Sinn gekommen :shock: Noch ne Baustelle. Thema nur in den RAM laden. Würde ich gerne, das Problem ist aber, dass die Dateien durch externe Anwendungen geöffnet werden sollen (Word, AcrobatReader, IE etc.). Bis jetzt habe ich noch nichts gefunden, was das Laden einer Datei in eine Anwendung ermöglicht, ohne diese als physisches File zur Verfügung zu stellen. Ich denke mal RAM fällt damit aus, so schön es auch sein könnte. Gruß oki |
Re: Datei sicher löschen
Ich hab die erste Version mal weitergeschrieben und das ganze läuft sehr gut - mit AssignFile.
Hat ein "Filestream mit fs.WriteBuffer" Vorteile gegenüber "AssignFile und Blockwrite"? (Performance?) Kann ich bei AssignFile auch ein FlushFileBuffers umsetzen (Dazu brauch ich aber ein Filehandle) ?
Delphi-Quellcode:
AssignFile(f, Name3); Reset(f, 1); ... Buffer[j] := random(256); //Buffer mit Random Data füllen BlockWrite (f, Buffer, Buffersize);
Delphi-Quellcode:
fs := TFileStream.Create(filename, fmOpenReadWrite or fmShareExclusive);
... buffer := StringofChar(Fillchars[i], BLOCK_SIZE); ... fs.WriteBuffer(buffer[1], BLOCK_SIZE); ... FlushFileBuffers(fs.Handle); |
Re: Datei sicher löschen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz