CommNews Forum Home  

Zurück   CnC Foren > Verschiedenes > Tech-Support / Tech-Talk

Antworten
 
Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 25-01-2005, 06:04
WalnutXP WalnutXP ist offline
Avatar

 
Registriert seit: Aug 2003
Beiträge: 1.687
WalnutXP hat noch keine Bewertung oder ist auf 0
Talking [Hochtechnisches Geschwätz] Red Alert 2 Game Launcher



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.

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.

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.

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

: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!

Geändert von WalnutXP (25-01-2005 um 06:08 Uhr).
Mit Zitat antworten
  #2  
Alt 25-01-2005, 11:07
Benutzerbild von Sven
Sven Sven ist offline
Tech-Admin

 
Registriert seit: Dec 2000
Ort: Neuss
Beiträge: 37.838
Sven ist ein C...
OL Nick: xysvenxy
Style: cncboard
Ich bin mir jetzt nicht zu 100% sicher... aber so weit ich weiß kann man doch auch die game.exe direkt starten.
__________________
Zitat:
Wir sind im Augenblick dabei, zu prüfen, ob es im öffentlichen Interesse liegt, ihnen mitzuteilen, ob wir die Informationen haben, die Sie erbitten, und ob es, sollte das der Fall sein, im öffentlichen Interesse liegt, Ihnen diese Informationen zur Verfügung zu stellen.
Mit Zitat antworten
  #3  
Alt 25-01-2005, 11:25
Benutzerbild von Merlin
Merlin Merlin ist offline
Ex-Nick: MerlinSt
Yuris Leibwache

 
Registriert seit: Jul 2002
Ort: Saarland
Beiträge: 3.627
Merlin hat noch keine Bewertung oder ist auf 0
OL Nick: Merlin
Style: CnCForen Standard Style: Standard
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.

Also falls jemand dazu jetzt irgendetwas brauchbares einfällt, währe ich erfreut es zu hören.
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"
__________________

Warum beschweren sich die Leute, die nicht richtig lesen können, über das, was andere Leute schreiben?
Mit Zitat antworten
  #4  
Alt 25-01-2005, 19:15
WalnutXP WalnutXP ist offline
Avatar

 
Registriert seit: Aug 2003
Beiträge: 1.687
WalnutXP hat noch keine Bewertung oder ist auf 0
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.
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.
Mit Zitat antworten
Antworten

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:13 Uhr.


Powered by vBulletin Version 3.7.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS

Affiliates
United Forum GetBoinKeD cnc.onlinewelten.de