CnC Foren

CnC Foren (http://www.cncforen.de/index.php)
-   Tech-Support / Tech-Talk (http://www.cncforen.de/forumdisplay.php?f=26)
-   -   [Hochtechnisches Geschwätz] Red Alert 2 Game Launcher (http://www.cncforen.de/showthread.php?t=60855)

WalnutXP 25-01-2005 06:04

[Hochtechnisches Geschwätz] Red Alert 2 Game Launcher
 
http://smilies.cncforen.de/generator...%20übernommen!

Wie ihr sicher wisst lässt sich Alarmstufe Rot 2 nur über eine "Launcher Application" starten, RA2.exe, welche das eigentliche Spiel, game.exe, aufruft. Danach schaut game.exe nach, ob der Launcher läuft, und startet nur dann durch, wenn das der Fall ist. Eng damit verknüpft ist der Serial-Kopierschutz, welcher bei falscher Serial alles nach 30 Sekunden hochfliegen lässt. Außerdem ist der CD-Rom Kopierschutz im Launcher abgelegt, der Spielt jetzt allerdings keine Rolle, da er danach nichtmehr mit game.exe in Verbindung steht. Das selbe gillt für das Autoupdate, welches in Zusammenarbeit mit patchget.dat ebenfalls vom Launcher realisiert wird. Nun ist es so, dass der Launcher mit dem Hauptprogramm, um sich zu identifizieren zwei feste MD5-Hashes austauscht:

1. 48BC11BD-C4D7-466b-8A31-C6ABBAD47B3E
2. D6E7FC97-64F9-4d28-B52C-754EDF721C6F

Des weiteren wird ein Binärcode übermittelt, der Inhalt von ra2.dat. Dieser stellt offenbar eine Art prüfsumme der festen Hashes und auch der verwendeten Game-Serial dar, welche ja ebenfalls ein MD5-Hash ist. :blah:

Die genaue Verbindung ist mir noch nicht klar. Ändert man den Inhalt von ra2.dat oder löscht die Datei, fällt der Wert, welcher game.exe übergeben wird logischerweise anders aus. Auch die game.exe verfügt über die obigen festen Hashes und holt sich die Game-Serial aus der Registry. Dadurch wird natürlich auch ein Keychanging nach der Spielinstallation verhindert. Passen die Werte des Launchers und des Games nicht aufeinander, regt das den Kopierschutz auf, und er geht los. :blah:

Was mich daran interessiert ist, auf welche Art die Wertübergabe vom Launcher an das Spiel erfolgt. Meint ihr das wird irgendwie über eine Umgebungsvariable gelöst, welcher der Launcher anlegt (falls sowas geht), oder vielleicht per einem Parameter? Kenne mich mit Programmiertechnik in dieser Hinsicht nicht aus. Ich denke am wahrscheinlichsten ist, dass das Spiel in irgendeiner Form "Rücksprache" hält, also dass es eine direkte Anfrage an den Launcher sendet, auf welche dieser Antwortet. In diesem Fall ist die Frage, ob es irgendeine Möglichkeit gibt diese Anfrage herauszukriegen, also festzustellen wie sie übermittelt wird und was übermittelt wird, b.z.w. so dass man eine solche Abfrage nachbauen könnte. Offenbar spielt dieses GDI32-Interface (oder wie das heißt) von Windows dabei eine Rolle. :crazy:

Also falls jemand dazu jetzt irgendetwas brauchbares einfällt, währe ich erfreut es zu hören. :D

:uglyLOL:

ThX
Walnut

Achja: Falls jetzt jemand auf die Idee gekommen ist, dass es darum geht den Kopierschut zu knacken, und vorhat hier Cracks zu posten, oder andere Arten zum umgehen des Kopierschutzes zum besten zu geben: Könnt ihr lassen!
Darum geht es nämlich nicht! :grrr:

Sven 25-01-2005 11:07

Ich bin mir jetzt nicht zu 100% sicher... aber so weit ich weiß kann man doch auch die game.exe direkt starten. :ka:

Merlin 25-01-2005 11:25

Zitat:

Zitat von WalnutXP
[IMG]Was mich daran interessiert ist, auf welche Art die Wertübergabe vom Launcher an das Spiel erfolgt. Meint ihr das wird irgendwie über eine Umgebungsvariable gelöst, welcher der Launcher anlegt (falls sowas geht), oder vielleicht per einem Parameter? Kenne mich mit Programmiertechnik in dieser Hinsicht nicht aus. Ich denke am wahrscheinlichsten ist, dass das Spiel in irgendeiner Form "Rücksprache" hält, also dass es eine direkte Anfrage an den Launcher sendet, auf welche dieser Antwortet. In diesem Fall ist die Frage, ob es irgendeine Möglichkeit gibt diese Anfrage herauszukriegen, also festzustellen wie sie übermittelt wird und was übermittelt wird, b.z.w. so dass man eine solche Abfrage nachbauen könnte. Offenbar spielt dieses GDI32-Interface (oder wie das heißt) von Windows dabei eine Rolle. :crazy:

Also falls jemand dazu jetzt irgendetwas brauchbares einfällt, währe ich erfreut es zu hören. :D

Hier z.B. findest du verschieden Möglichkeiten:
http://msdn.microsoft.com/library/de...unications.asp

Noch mehr findest du bei Google bei der Suche nach ipc oder "Interprocess Communication"

WalnutXP 25-01-2005 19:15

Zitat:

Zitat von Sven
Ich bin mir jetzt nicht zu 100% sicher... aber so weit ich weiß kann man doch auch die game.exe direkt starten. :ka:

Nur bei Tiberian Sun. Bei Red Alert 2 nichtmehr, und bei Generals wurde sogar versucht sie als game.dat zu verstecken. :)

@MerlinSt: Danke, das schau' ich mir mal an.


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:31 Uhr.

Powered by vBulletin Version 3.7.3 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.