Na ja, so aussichtslos ist es ja nun doch wieder nicht. Wenn man schon ungefähr weiß, wonach man sucht, dann findet man es auch viel einfacher. Beispiel GTA 3: Ich hattemich da selber mal rangemacht, die Dateiformate zu "knacken".
Zunächst waren die einzelnen Dateien in eine größere zusammengefasst. Anhand immer wieder auftauchender Datenblöcke (Dateiheader) konnte ich herausfinden, wo die einzelnen Dateien anfingen, so dass ich nach relalativ kurzer Zeit ein Entpack- und Packprogramm schreiben konnte (zum Glück waren die Daten nicht komprimiert, sonst hätt ich an der Stelle schon aufgeben müssen).
Ich hatte dann also jede Menge kleinerer Dateien in einer schönen Verzeichnisstruktur vorliegen, anhand welcher ich die Dateien dann auch in einzelne Dateitypen abgrenzen konnte (Bilddateien, Models, Sounds...). Zunächst machte ich mich dann an die Bilddateien. Dazu hab ich mir ein Programm geschrieben, um die Dateien zu untersuchen. Damit konnte man zur Laufzeit den Dateioffset, an dem die Bilddaten anfangen, das Bildformat, die Bildgröße etc. einstellen, woraufhin das Programm die Daten in der Datei dann entsprechend interpretierte und anzeigte. Nach einiger Rumfrickelei konnte ich dann auch tatsächlich was auf der Anzeige erkennen, und wenige Stunden später hatte ich's sogar ohne Verzerrungen und in richtigen Farben vorliegen

(Das Erfolgserlebnis kann man sich vorstellen

). Einen Konverter zu schreiben, war dann nur noch Formsache.
Davon motiviert machte ich mich an das Modelformat. Da ich aber zu der Zeit noch überhaupt keine Ahnung hatte, wie ein solches aufgebaut ist, musste ich schnell wieder aufgeben. Einzelne, sehr einfache Models konnte ich zwar in Grundzügen extrahieren, aber das war's auch schon.
Man sieht also, unmöglich ist es nicht. Aber ein bisschen Erfahrung mit Dateiformaten sollte man schon mitbringen. Man muss aber natürlich dazu sagen, dass ich bei meinem Beispiel großes Glück hatte, dass keinerlei Kompressionsalgorithmen verwendet wurden, denn die machen die Geschichte noch ein ganzes Stück komplizierter. Wenn dann noch Verschlüsselung hinzukommt (in Zeiten immer leistungsstärkerer Systeme), kann man's größtenteils gleich knicken. Wobei auch hier zu sagen ist, dass hier selten das Rad neu erfunden wird und auf vorhandenes zurückgegriffen wird (z.B. ZIP-Kompression). Wenn alle Stricke reißen, gibt's natürlich noch die Möglichkeit, dem jeweiligen Programm, das mit den Dateien hantiert, "über die Schulter zu schauen", sprich das Disassemblat zu analysieren bzw. einen Debugger anzuwerfen. Dieses Verfahren ist allerdings nur für Hartgesottene zu empfehlen
Wenn du dich über einige Dateiformate und deren Aufbau informieren willst, kann ich dir
http://www.wotsit.org/ empfehlen. Wenn du speziell etwas über das MPQ-Format erfahren willst, solltest du dir mal
Inside MoPaQ anschauen.
In dem Sinne, viel Glück beim Reverse Engineering
