Was soll ich wissen, bevor sie für die Dinge um eine unbekannte Archivdatei stößt?

StackOverflow https://stackoverflow.com/questions/295711

  •  08-07-2019
  •  | 
  •  

Frage

Ein Spiel, das ich speichert alle seine Daten in einer DAT-Datei zu spielen. Es hat einige Arbeit von Leuten gemacht, in die Datei zu untersuchen. Es gibt auch einige vorhandenen Tools , aber ich bin nicht sicher ihr aktueller Zustand. Ich denke, es würde Spaß machen, mich in den Daten schnüffeln, aber ich habe nie versucht, eine Datei, viel weniger etwas Derartiges vor zu prüfen.

Gibt es etwas, was ich über die Prüfung eines Dateiformat für die Datenextraktion Zwecke wissen sollten, bevor ich kopfüber in diese tauchen?

EDIT: Ich würde sehr allgemeine Tipps mag, wie die Prüfung Dateiformate interessant scheint. Ich möchte in der Lage sein, Datei-X zu nehmen und lernen, wie man das Problem der das Lernen über sie zu nähern.

War es hilfreich?

Lösung

  1. Sie werden auf jeden Fall einen Hex-Editor, bevor Sie zu weit. Es wird Ihnen die Rohdaten als Zahlen und nicht als große leere Blöcke in welcher Schriftart Notizblock sehen ist (oder was auch immer Texteditor).
  2. Versuchen Sie es in irgendeinem Archiv Extraktoren Öffnen Sie haben (das heißt zip, 7z, rar, gz, Teer etc.), um zu sehen, ob es nur eine umbenannte Dateiformat (.pk3 so etwas wie das ist).
  3. Suchen Sie nach Header der bekannten Dateiformate irgendwo in der Datei, die Sie entdecken helfen, wo bestimmte Teile der Daten gespeichert werden (dh eine Suche nach „IPNG“ tun alle (unkomprimiert) png-Dateien irgendwo innerhalb zu finden).
  4. Wenn Sie feststellen, tun, wo ein bestimmtes Stück Daten gespeichert sind, notieren seiner Lage und Länge, und sehen Sie, wenn Sie Zahlen gleich einem dieser Werte am Anfang der Datei finden, die in der Regel als Zeiger handeln zu den eigentlichen Daten.
  5. Manchmal möchte man nur erraten müssen, oder Intuit, was ein bestimmte Wert bedeutet, und wenn du dich irrst, na ja, in Bewegung bleiben. Es gibt nicht viel können Sie dagegen tun können.
  6. Ich habe festgestellt, dass http://www.wotsit.org ist für bekannte Dateitypen Formate besonders nützlich, um Hilfe Header innerhalb der DAT-Datei zu finden.

Andere Tipps

Sichern Sie die Datei zuerst auf. Sobald Sie die Höhe des Schadens beschränkt haben Sie tun können, nur herumzustochern wie Ed vorgeschlagen.

Ein Blick auf Ihrer rep Ebene, ich denke, eine Basisgrundierung auf hexadezimalen Zahlen, endianness, Darstellungen für verschiedene Datentypen, und das alles wäre ein bisschen überflüssig. Ein gutes Werkzeug, das die Daten in hex zeigen kann, ist natürlich wesentlich, ebenso wie die Fähigkeit, schnellen Skripte zu schreiben komplexe Annahmen über die Datenstruktur zu testen. All dies sollte Ihnen klar sein, aber vielleicht jemand anderes könnte helfen, so dass ich dachte, dass ich sie nennen würde.

Eine der besten Möglichkeiten, unbekannte Dateiformate zu attackieren, wenn Sie eine gewisse Kontrolle über die Inhalte haben, ist eine Differential Ansatz. Speichern einer Datei, machen Sie eine kleine und kontrollierte Veränderung, und speichern Sie es erneut. Führen Sie eine binäre der Dateien vergleichen, den Unterschied zu finden - vorzugsweise unter Verwendung eines Werkzeugs, die Einsätze und Deletionen erkennen kann. Wenn Sie mit einer verschlüsselten Datei zu tun hat, wird eine kleine Änderung einen massiven Unterschied auslösen. Wenn es nur komprimiert ist, wird die Differenz lokalisiert werden. Und wenn das Dateiformat trivial ist, wird eine einfache Zustandsänderung führen zu einer einfachen Änderung an die Datei.

Die andere Sache ist an einigen der gemeinsamen Kompressionstechniken zu suchen, vor allem zip und gzip, und lernen, ihre „Signaturen“. Die meisten dieser Formate sind „selbst zu identifizieren“, so wenn sie Dekomprimieren starten, können sie schnell geistige Gesundheit tun prüft das, was sie gerade arbeiten in einem Format ist, dass sie verstehen.

Barring-Verschlüsselung, ein Archivdatei-Format ist im Grunde eine Art von Indexierungsmechanismus (ein Verzeichnis oder eine Art), und eine Möglichkeit, die Elemente aus dem Archiv über Zeiger im Index befand.

Mit dem der Allgegenwart der Standardkomprimierungsalgorithmen, es ist vor allem eine Frage der Suche nach dem diese Blöcke zu beginnen und zu versuchen, den Index auf die Jagd nach oder Inhaltsverzeichnis.

Einige der Index alle in einem Punkt haben (wie ein Dateisystem der Fall ist), andere werden einfach jedes Element voraus innerhalb des Archivs mit seiner Identitätsinformationen. Aber am Ende irgendwo gibt Informationen über Offsets von einem Block zum anderen ist, gibt es Informationen über Datentypen (zum Beispiel, wenn sie GIF-Dateien sind zu speichern, GIF haben eine Signatur als auch), etc.

Das sind die Muster, die Sie versuchen, in der Datei auf der Jagd nach.

Es wäre schön, wenn irgendwie können Sie Ihre Hand auf zwei Versionen von Daten erhalten das gleiche Format verwenden. Zum Beispiel auf einem Spiel, dass Sie die erste Version von der CD erhalten können, und eine neuere, gepatchte Version. Diese können wirklich markieren Sie die Informationen, die Sie suchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top