![]() |
gelöschte dateien wiederherstellen
kann man mit delphi gelöschte dateien wiederherstellen? wenn ja dann wie.
dass es mit assembler und c++ geht, das weiss ich. |
Re: gelöschte dateien wiederherstellen
Dann bau doch deinen asm-Code in ein Delphi-Prog ein oder linke asm/c++-Binaries per DLL oder OBJ rein.
Ansonsten gehts sicher nur ganz eklig übers Win-API. |
Re: gelöschte dateien wiederherstellen
Zitat:
Zitat:
|
Re: gelöschte dateien wiederherstellen
Drück dich bitte mal etwas verständlicher aus. Delphi ist eine Entwicklungsumgebung und Programmiersprache. Dass man damit Dateien löschen kann ist mir neu. Ich kann mit Delphi ein Programm schreiben, welches mittels Windows Funktionen eine Datei löscht. Das geht aber mehr auch nicht.
|
Re: gelöschte dateien wiederherstellen
Naja, dein erster Post klang so als ob du wüsstest wie es mit asm/c++ geht.
Und wies übers Win-API geht weiß ich nicht, drum hab ich "sicher nur" geschrieben. Tut mir leid dass ich dir nicht helfen kann. //roter Kasten: @Luckie: Mit asm kann das Delphi-Prog ohne Windows-Funktionen Dateien löschen ;) |
Re: gelöschte dateien wiederherstellen
Zitat:
|
Re: gelöschte dateien wiederherstellen
Sicher macht das keinen Spaß von Hand im Dateisystem rumzupfuschen :D.
Ok, hab grad nachgeschaut, es geht nicht direkt mit asm selber sondern eigentlich mit dem Prozessor 80x86. Stichwort Interrupt 13h ;) Und sag jetzt nicht dass Windows den Interrupthandler ersetzt! |
Re: gelöschte dateien wiederherstellen
Tut es. Sonst könnte man im UserMode keine Dateien löschen. Wie gesagt, die Datei wird im FAT nur als gelöscht markiert. Da wird nicht physisch auf die Festplatte zugegriffen. Und wie das mit einem Interrupt funktionieren soll ist mir ehrlichgesagt schleierhaft. Die Hardware weiß doch gar nichts von den Daten und wie sie organisiert sind. Das weiß nur das Betriebssystems an Hand des Dateisystems.
|
Re: gelöschte dateien wiederherstellen
Eigentlich hast du Recht, das muss eigentlich ein Handler von Windows sein.
Als Parameter für die Interruptaufrufe gibts noch Sektoren, Spuren und so. Die braucht man aber garnicht wenn man mit nem (fremden) Dateisystem arbeitet :? @fdsgbla: Du könntest höchstens wie ein FileStream Speicherplatz anfordern, den aber nicht mit 0 initialisieren. Dann Byte für Byte durchkämmen ob du bekannte Dateiheader findest und die Dateien ins RAM laden oder auf sicher freien Platz auf der Platte schreiben. Ich denke so machen das alle Dateiretter die zu kriegen sind. |
Re: gelöschte dateien wiederherstellen
Zitat:
Also zur Theorie: !! Es gibt keinen API aufruf um gelöschte Dateien wiederherzustellen !! Wenn du das selbst programmieren willst 1. Zugriff mit Deviceioctl herstellen 2. MFT oder FAT auslesen 3. MFT oder FAT durchsuchen und gelöschte Datei Records finden 4. Start und End Sector der gelöschten Datei aus dem Record auslesen 5. sollte dann klar sein oder ?? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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