Wer ein bisschen in diesem Forum sucht, sieht, wie lange ich schon an diesem Problem arbeite und bis heute keine Lösung gefunden habe...
Folgende Datei ist LZW-verschlüsselt, und ich wäre extrem dankbar, wenn mir jemand erklärt, wie man sie entschlüsselt, bisher sind alle Versuche gescheitert: Highscores.loc
Folgendes hat mir der Entwickler noch zukommen lassen:
Folgende Datei ist LZW-verschlüsselt, und ich wäre extrem dankbar, wenn mir jemand erklärt, wie man sie entschlüsselt, bisher sind alle Versuche gescheitert: Highscores.loc
Folgendes hat mir der Entwickler noch zukommen lassen:
Ich hab im Internet diverse LZW-Decoder gefunden und probiert, alles erfolglos bis jetzt... *heul*Hallo,
ich hab jetzt nochmal den alten Sourcecode rausgesucht und die Stellen mit der
Highscore-Datei gefunden. Verschlüsselt ist die Datei übrigens nicht, aber
komprimiert. Hier ist die Format-Definition:
Die Datei beginnt mit einem Header, der wie folgt definiert ist:
typedef struct
{
int ID; // Datei-ID (muß immer 0x1a573fe0 sein)
int CRC; // CRC der gepackten Daten (ohne Header)
int UncompressedSize; // Größe der ungepackten Daten in Bytes
} THighscoreFileHeader;
Darauf folgen die Daten, die LZW-komprimiert sind (der Kompressor, der auch im
GIF-Bildformat verwendet wird; kann also mit einem
GIF-Dekomprimierer-Sourcecode entpackt werden, wenn die GIF-Header-Behandlung
rausgenommen wird).
Die entpackten Daten enthalten dann einfach für jeden Highscore-Eintrag einen
Datensatz:
typedef struct
{
char Name[64]; // Name des Spielers
int Score; // erreichte Punktzahl
int Rounds; // Anzahl Runden
int Day; // Tag
int Month; // Monat
int Year; // Jahr
} THighscoreEntry;
Hier ist die Highscore-Datei zu finden:
Wenn man die EXE-Datei des Spiels startet, entpackt es sich in das temporären
Verzeichnis des Systems (ist entweder
unter /windows/temp, /windows/system32/temp oder im temporären Verzeichnis
des Benutzers (also ein verstecktes Verzeichnis im
Bentzer-Profil-Verzeichnis). Der Entpacker liest den genauen Verzeichnisnamen
aus der Umgebungsvariablen TEMP aus. Dort ist das Spiel dann in einem
Unterverzeichnis abgelegt. Dort müsste es dann auch die
Datei "Highscores.loc" geben, die die lokale Highscoreliste enhält.
Ich hoffe, das hilft etwas weiter.
--
Viele Grüße,
Uli Klos
-----------------------------
madcat interactive software GmbH