Ich wollte einige einfache Dateiwiederherstellungssoftware machen, wo ich versuchen möchte, Dateien wiederherzustellen, die zufällig gelöscht wurden, indem Sie Umschalt + Entf drücken. Ich arbeite in Windows, kann mir jemand irgendwelche Links oder Dokumente zeigen, die mir dabei helfen können, dies programmatisch zu tun? Ich kenne C, C++, .NET. Irgendwelche Zeiger?Wie funktioniert Dateiwiederherstellungssoftware?
Antwort
Vor allem für die Datei-Header und/oder Dateinamen in der Platte sucht Einziehungen Datei, wie ich weiß, dann versuchen, die gesamte Datei durch die Header-Informationen zu erhalten.
Dies ist ein guter Anfang sein könnte: http://geeksaresexy.blogspot.com/2006/02/theory-behind-deleted-files-recovery.html
In Fenstern, wenn eine Datei (permanent löschen) gelöscht es nicht tatsächlich gelöscht von der Festplatte, sondern der Dateiname mit char (_ I guess) vor hinzugefügt und Windows ignoriert diese, wenn es im Explorer angezeigt wird ... und Wiederherstellungstools durchsuchen diese Art von Dateinamen auf der Festplatte. Und Ihre Datei wiederherstellen Integrität basierend auf einigen Daten über vor Ort der gelöschten Datei geschrieben. Ich kenne dieses Muster noch nicht von Windows verwendet. Aber vor langer Zeit habe ich dieses einige gelesen
Das Prinzip aller Wiederherstellungstools ist, dass das Löschen einer Datei nur einen Zeiger in einem Ordner und (Schnell-) Formatierung von entfernt Eine Partition überschreibt nur die ersten Sektoren der Partition, die die Header des Dateisystems enthält. Eine eingehende Analyse der Partitionsdaten (auf Sektorebene) kann einen großen Teil der Dateisystemdaten, Clusterzuordnungstabellen, Ordner und Dateiclusterketten neu erstellen.
Alle natürlich, wenn Sie einen Oberflächentest-Tool verwenden, während die Partition formatieren, dass alle Sektoren sicherstellen umschreiben wird, dass sie richtig sind, wird nichts wiederhergestellt werden - es sei denn, Sie spezielle Hardware verwenden, um Remanenzmagnetismus an den Rändern der aussehen tatsächliche Spuren