Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

13.04.2013, 13:42

Gameguard umgehen möglich?

Hallo, wie ihr wisst haben viele Spiele mit online servern einen Gameguard, mich würde nun interresieren ob es da möglichkeiten gibt diese Gameguards zu umgehen. Es gibt sowohl Serverseitige Gameguards als auch Clientseitige Gameguards. Beim Clientseitigen kann man keine dlls meistens keine dlls injecten ohne das das Programm sofort abstürzt. Meine Frage jetzt: Kann man Speicher im Spiel reservieren ohne das der Gameguard das merkt? Wenn ja wie ist das Theoretisch möglich?

Danke schonmal im voraus.

Ps. Ich möchte keinem Spiel schaden :) es ist nur zu Wissenschaftszwecken :D

Ps2. Ich möchte keine Codes oder Scripts/Programme. Ich möchte lediglich die Theorie wissen. :)

Noctarius

Treue Seele

Beiträge: 120

Wohnort: Düsseldorf

Beruf: Manager of Developer Relations at Hazelcast, Inc. & Consultant for Scaleable Gameserver Systems

  • Private Nachricht senden

2

13.04.2013, 18:00

Ja geht, du lädst deinen "Trainer" und dieser läd dann das Game in seinen Speicherbereich (zu mindestens wenn du DEN GameGuard meinst und nicht einfach irgendein anderes Tool). Ganz ganz grob ;-)

Noctarius

Treue Seele

Beiträge: 120

Wohnort: Düsseldorf

Beruf: Manager of Developer Relations at Hazelcast, Inc. & Consultant for Scaleable Gameserver Systems

  • Private Nachricht senden

3

13.04.2013, 18:00

Ja geht, du lädst deinen "Trainer" und dieser läd dann das Game in seinen Speicherbereich (zu mindestens wenn du DEN GameGuard meinst und nicht einfach irgendein anderes Tool). Ganz ganz grob ;-)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

13.04.2013, 19:06

Normal müsstest du das ganze debuggen und dann gucken wie es funktioniert. Je nachdem kannst du dann deinen "Angriff" planen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Renegade123

Alter Hase

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

5

13.04.2013, 19:38

"Ohne das er es merkt" ist davon abhängig wie das Programm genau funktioniert. Also ich würde schon meinen Memory Pool mitloggen und notfalls reagieren, wenn ich auf Sicherheit achten möchte. Immerhin ist der Speicher doch der erste Angriffspunkt :thinking:

Btw. Wenn du nicht willst, dass jemand dir unterstellt, dass du versuchst ein tatsächliches Programm zu infiltrieren stell die Frage doch andersherum!
Was müsste man tun um einen "sicheren" GameGuard zu bauen?
Liebe Grüße,
René

6

13.04.2013, 20:12

Okay danke für die antworten :)

m3xx

Alter Hase

Beiträge: 434

Beruf: Student

  • Private Nachricht senden

7

13.04.2013, 20:22

@renegade: Da gibt es keine richtige Lösung, weil es keinen "richtig sicheren" Gameguard gibt. Wenn man will, findet man immer einen Weg.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

13.04.2013, 20:34

Nun, das "GameGuard" von nProtect ist sehr sehr sicher. Ich kenne weltweit nur eine einzige Person, welche dieses bisher gecrackt hat.
Das Ding ist halt ein Root Kit, mit Themida verschlüsselt, welches sehr viele Kernel-API-Einsprungpunkte dynamisch überschreibt (unter anderem z.B. auch für VirtualAlloc und Co), selbst als Kernel-Treiber läuft, den eigenen Code zur Ausführungszeit (also nicht beim Laden, sondern durch CPU-Exceptions und Kernel-overrides) entschlüsselt. Die üblichen Debugger haben da keine Chance. Soweit ich weiß benutzte Fyyre zum Cracken eine spezielle Version von OllyDebug (Shadow) mit zusätzlichen selbst geschriebenen Modulen zum Dumpen und ein paar speziellen Korrektur-Prorgammen, um die Dumps zu fixen. Einfache Dumps funktionieren bei Themida nicht, weil der Code wie gesagt selbst zur Laufzeit noch verschlüsselt vorliegt und ein Dump den selben Unfug liefert, der eh auf der Platte liegt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (13.04.2013, 20:39)


Noctarius

Treue Seele

Beiträge: 120

Wohnort: Düsseldorf

Beruf: Manager of Developer Relations at Hazelcast, Inc. & Consultant for Scaleable Gameserver Systems

  • Private Nachricht senden

9

13.04.2013, 21:13

Jo Themida ist ziemlich resistent gegen einfache Angriffsversuche und ich verneige mich vor Fyyre für die Decrypted-L2 Varianten :D Danach war es ganz einfach das Protokol per Reverse Engineering zu erarbeiten ;-)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

10

13.04.2013, 22:56

Das war's auch vorher schon. Die Verschlüsselung von L2 ist ja eher trivial. Erst die Obfuscation ab Gracia war minimal fies, weil "zufällig". Aber selbst das war letztlich nur eine geringe Hürde. Ich glaube die ganzen privaten Server hatten das nicht mal implementiert. Mein Bot hingegen schon ;)
Aber Themida ist schon echt eine derbe Nuss. Fyyre ist übrigens echt nett, nur so am Rande :)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (13.04.2013, 23:01)


Werbeanzeige