
Interaktiv gelöschte oder 👉 überschriebene 👈 Dateien von deinem Terminal aus finden und wiederherstellen.
Wenn eine Datei gelöscht wird, verschwinden zunächst ihre Metadaten. Die zugrundeliegenden Festplattenblöcke bleiben oft intakt, bis sie wiederverwendet werden.
RecoverPy durchsucht rohe Partitionsdaten direkt und sucht nach Byte-Mustern über das gesamte Gerät. Wenn die Blöcke nicht überschrieben wurden, können Fragmente gelöschter Dateien noch anhand ihres Inhalts lokalisiert werden.
Es ermöglicht die Untersuchung übereinstimmender Blöcke, die Navigation zu benachbarten Blöcken und die einfache Extraktion des noch Vorhandenen.
Wenn die Blöcke weg sind, ist eine Wiederherstellung unmöglich. Sind sie noch vorhanden, hilft RecoverPy dabei, sie zu sichern.
RecoverPy versucht nicht, Dateisystemstrukturen zu interpretieren oder Dateinamen wiederherzustellen. Es konzentriert sich darauf, das noch auf der Festplatte Vorhandene sichtbar und zugänglich zu machen.
Für den Zugriff auf rohe Blockgeräte wird in der Regel sudo benötigt.
uvsudo uvx recoverpy
Oder lokal installieren:
uv tool install recoverpy
sudo recoverpy
python -m pip install recoverpy
sudo recoverpy
Starten Sie RecoverPy:
sudo recoverpy
Die Verwendung einer eindeutigen Kennung, eines Konfigurationsschlüssels oder eines Satzfragments liefert in der Regel bessere Ergebnisse als gebräuchliche Wörter.
RecoverPy arbeitet direkt auf dem rohen Bytestrom eines Blockgeräts.
Die ausgewählte Partition wird im schreibgeschützten Modus geöffnet und sequenziell in Blöcken fester Größe durchsucht. Der Scanner verarbeitet den Strom inkrementell und behält eine kleine Überlappung zwischen den Blöcken bei, um sicherzustellen, dass Übereinstimmungen, die über Blockgrenzen hinweggehen, nicht übersehen werden.
Der Mustervergleich erfolgt auf Byt-Ebene. Für jede Übereinstimmung zeichnet RecoverPy den genauen absoluten Offset innerhalb des Geräts auf. Dieser Offset wird zum Referenzpunkt für die Blockuntersuchung und -navigation.
Blocklesevorgänge erfolgen mit expliziten Offsets, ohne auf Dateisystemabstraktionen zurückzugreifen. Dies ermöglicht einen präzisen Zugriff auf benachbarte Blöcke, ohne große Teile des Geräts in den Speicher zu laden.
Der gesamte Scan erfolgt streaming-basiert und speicherbegrenzt: RecoverPy lädt niemals die gesamte Partition in den Arbeitsspeicher.
RecoverPy arbeitet mit Rohdaten. Es rekonstruiert Dateien nicht automatisch und leitet keine Dateigrenzen ab.
Die Ergebnisse können unvollständig oder fragmentiert sein. Wenn die zugrundeliegenden Blöcke bereits überschrieben wurden, ist eine Wiederherstellung nicht möglich.
Der Zugriff auf Blockgeräte erfordert in der Regel sudo. Um das Risiko weiterer Überschreibungen zu verringern, vermeiden Sie Schreibvorgänge auf die Zielpartition während der Wiederherstellung und hängen Sie sie nach Möglichkeit aus.
Wenn Sie auf einen Fehler stoßen oder denken, dass etwas verbessert werden könnte, können Sie gerne ein Issue eröffnen. Und wenn Sie selbst daran arbeiten möchten, sind Pull-Requests immer willkommen.
Projektstruktur:
recoverpy/ui/ — Textuelle Oberflächerecoverpy/lib/search/ — Streaming-Suchmaschinerecoverpy/lib/storage/ — Block- und Gerätezugriffrecoverpy/lib/text/ — Dekodierungs-Hilfsprogrammetests/ — Unit- und Integrationstestsuv sync --dev
sudo uv run recoverpy
uv run pytest -q