Exe entschlüsseln

01/01/2010 23:51 DesperadoStrike#1
Moinsen und ein frohes neues.

Ich hab ein altes Spiel von 1998. Der Map Editor hat leider ne kleine Macke. Wenn man Tiles importieren will, wird alles verpixelt. Die Tilesets werden in jeder Map einzeln gespeichert deshalb ist die Map dann auch verpixelt. Auf meinem Rechner sicht alles schwarz mit lila Punkten drin aus. Die Idee dabei: einfach den Map Editor neuschreiben. Ein weiterer Grund dafür ist: unter 64 bit laufen die alten 16bit exe Datein einfach nichtmehr.

Nun zu der Problematik:

Ich habe 5x eine 16bit Exe datei die zusammen nicht größer als 400kb sind. Diese sind vermutlich in Visual C++ geschrieben irgentwann in der drehe von 97-98.

Diese exen werden beim Compilen einer Map nacheinander gestartet.


VERSION.EXE läd eine einzigartige Versionsnummer in die Map damit jeder immer die gleiche Map hat.

Wag.exe setzt die Map Attribute sprich Wege Wasser Berge also alle Pfade wo man lang kann und wo man nicht lang kann.

MINIMAP.EXE setzt die Startpunkte und erstellt ein kleines Image von der Map im mim format, das Später die Ingame Vorschau darstellt.

Die Funktion der LARC.EXE habe ich leider noch nicht herausfinden können.

Meine Vermutung:

LARC.EXE packt die Texturen und Tilesets in eine Datei damit LVLPACK.EXE sie später in die Map implementieren kann.

LVLPACK.EXE macht dann schließlich aus den ganzen einzelteilen der vorherigen 4 Files eine Spielbare Map im Format LPM und eine MiniMap mit den Startpunkten im Format MIM.

Okay. Soweit sogut. Das Problem dabei ist:

1. Der Map Editor ist nur unter folgenden Systemen lauffähig:

Windows 95, Windows 98, Windows 7.

Der Editor läuft zwar prima unter Windows 7, aber wenn man die 64bit version hat, dann erhält man folgende Fehlermeldung beim compilen der Map:

[Window Title]
C:\Users\RedShakal\Desktop\Neuer Ordner\LARC.EXE

[Content]
Die Version dieser Datei ist nicht mit der ausgeführten Windows-Version kompatibel. Öffnen Sie die Systeminformationen des Computers, um zu überprüfen, ob eine x86-(32 Bit)- oder eine x64-(64 Bit)-Version des Programms erforderlich ist, und wenden Sie sich anschließend an den Herausgeber der Software.

[OK]


Das Problem dabei:

Ich muss herausfinden wie genau die Maps durch die 16bit Programme später zusammengesetzt werden. Dann kann das ganze zu einer exe zusammenprogrammieren und mich an die arbeit von den Map Editor machen.

Wie kann man am besten herausfinden wie genau bestimmte Datein zusammengesetzt sind, was genau sie machen, wie genau die Datein komprimiert sind.

Ich bin nicht so gut in ASM. Ich hoffe ihr könnt mir helfen. Die Datein liegen als Anhang bei.
01/02/2010 09:49 HardCore.1337#2
Erste Idee: Lösch z.B. 3 der 5 exen und seh was passiert. Läuft das Hauptprogramm noch?
Dann lösch vlt. eine DLL und schau, ob die notwendig war. Wenn ja stell sie wieder her.

Und wenn du das immer so weiter machst hast du einen gegliedertes Verzeichniss, wo wirklcih nur die Datein drine sind die benötigt werden.

Dann schreib deine eigene EXE (z.B. für die Version - ist relativ einfach.)
Analysiere die DLL ([Only registered and activated users can see links. Click Here To Register...]
Da siehst du alle Befehle die die DLL enthält. Richte dann so dein Programm drauf ein.

Das machst du jetzt mit allen (bissel zeitaufwenig, ich weiß).

mfg
01/02/2010 11:26 Shadowz75#3
Quote:
Originally Posted by General Desert View Post
Erste Idee: Lösch z.B. 3 der 5 exen und seh was passiert. Läuft das Hauptprogramm noch?
Dann lösch vlt. eine DLL und schau, ob die notwendig war. Wenn ja stell sie wieder her.

Und wenn du das immer so weiter machst hast du einen gegliedertes Verzeichniss, wo wirklcih nur die Datein drine sind die benötigt werden.

Dann schreib deine eigene EXE (z.B. für die Version - ist relativ einfach.)
Analysiere die DLL ([Only registered and activated users can see links. Click Here To Register...]
Da siehst du alle Befehle die die DLL enthält. Richte dann so dein Programm drauf ein.

Das machst du jetzt mit allen (bissel zeitaufwenig, ich weiß).

mfg
dateien sind nicht umsonst da. das einzigste was du machen kannst ist ollydbg/ida nehmen und dir den assembler code ansehen.
01/02/2010 13:00 HardCore.1337#4
sie sind nicht umsonst da, aber sie zeigen in dem Beispiel für welche Exe sie arbeiten.
Natürlich müssen diese dann wiederhergestellt werden.
01/02/2010 13:10 Ende!#5
Wär aber einfacher die EXEn in Olly oder IDA zu laden und dann die Imports durchzugucken ^^
01/02/2010 13:57 Cholik#6
Quote:
Originally Posted by Ende! View Post
Wär aber einfacher die EXEn in Olly oder IDA zu laden und dann die Imports durchzugucken ^^
^
|
this


oder du nimmst Peid oder StudPE, damit kannste dir die Imports anschaun.
01/02/2010 14:27 DesperadoStrike#7
Das sind uralte 16bit Dos Datein die haben keine Importe oder DLL'S ich will nur herausfinden wie genau sie die Levels Packen um das ganze nachzuprogrammieren.
01/02/2010 16:05 Akorn#8
Quote:
Die Idee dabei: einfach den Map Editor neuschreiben. Ein weiterer Grund dafür ist: unter 64 bit laufen die alten 16bit exe Datein einfach nichtmehr.
...
Ich habe 5x eine 16bit Exe datei die zusammen nicht größer als 400kb sind. Diese sind vermutlich in Visual C++ geschrieben irgentwann in der drehe von 97-98.
Ich habe mir mal diese datein angeschaut also die LARC.exe scheint wirklich eine 16bit Dos anwendung zu sein da sie nur 16bit register benutzt interrupts für api aufrufe benutzt und die executable ist Segmentiert.

Die anderen Datein(VERSION.exe, MINIMAP.exe, LVLPACK.exe) sind aber ausführbare 32bit windows datein. und Ich kann sie auch auf meinen win7 x64bit system mittels Eingabeaufforderung ausführen.
01/02/2010 16:33 Cholik#9
Magst mal n paar der Default Maps hochladen ?
01/02/2010 17:18 Akorn#10
Quote:
Originally Posted by Walter Sobchak View Post
Magst mal n paar der Default Maps hochladen ?
hier kann man sich welche laden [Only registered and activated users can see links. Click Here To Register...].
01/02/2010 20:19 95Nightshade#11
Hallo zusammen,
bin neu und habe genau das gleiche Problem möchte auch eigene Karten machen. SinglePlayer Karten funktionieren unter Win95 einwandfrei, bei allen anderen Systemen, die ich getestet habe (98,XP,7) kann ich die Tiles nicht reinladen.
Bei Windows 95 wenn ich die Multiplayerkarte exportieren will, kommt bei der Minimap.exe der Fehler (bei Win95: "This programm has performed an illegal operation and will be shut down", bei WIn7 "Das Programm funktioniert nicht mehr richtig"...Standartmeldungen
d.h. das Problem liegt an der minimap.exe (jedenfalls bei mir ;)), also nicht wie bei DesperadoStrike bei der LARC.exe

Ich selber kanns nicht prgorammieren, vielleicht hilft dir der Beitrag ja
Gruß Nightshade
01/03/2010 20:20 DesperadoStrike#12
01/05/2010 02:29 DesperadoStrike#13
Die Programmdatein werden wie folgt aufgerufen:


wag.exe @attrib.lst -maxmerge 10 export.map

larc.exe -EL -Oexport.lvs export.map uncover.map export.crp export.way @stub.cl @stub.bll @stub.mll

lvlpack.exe %s %s
Lvlpack [-packsize X] 'infile' 'outfile'

minimap.exe %s %s 8 8
minimap 'infile' 'outfile' [creatid num_creatures] [crc]

version.exe -1
01/06/2010 23:01 95Nightshade#14
Hat jemand von euch eine kp datei für highlands oder urban? Im Spiel ist ja nur die für Wüste (dessert.kp) enthalten
01/06/2010 23:41 DesperadoStrike#15
Die Files sind nie released worden