Wie funktioniert ein Spiele-Hack?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die einfachste Methode die jeder Zuhause nachmachen kann ist das scannen des Speichers.

Man hat z.B. 1000 Gold, tippt dann "1000" in das Scanprogramm ein. Das sucht dann alle Speicherzellen die in verschiedenen Darstellungen (u.a. Fließkomma oder Ganzzahl, 8-bit, 32-bit, 64-bit) diesen Wert haben. Dann geht man einfach im Spiel hin und kauft etwas, tippt dann den neuen Wert ein. Je nachdem muß man das ein paar mal wiederholen bis man eindeutig die Speicherzellen kennt in der der Wert liegt. Dann kann man da einen anderen Wert, z.B. 16,7 Millionen eintragen.

Unter Linux gibt es das konsolenprogramm "scanmem" das man per Smartphone, zweitem Bildschirm oder umschalten auf textkonsole bedienen kann. Wärend des Scans friert das Spiel natürlich ein.

Manche Spiele schützen sich dagegen. Zwar findet der Scanner leicht doppelte Merkstellen des Wertes, der programmierer kann aber auch eine Plausibilitätsprüfung einbauen wie z.B. sich die Hälfte merken und schauen, ob der originalwert etwa das doppelte ist (±0,5). Das findet der Scanner dann natürlich nicht!

Die Game-Genie, Game-Shark usw. Codes die man von Spielekonsolen kennt wo man ein Modul zwischen Konsole und Spielekassette steckt arbeiten anders. Hier hat jemand im Programmcode nach der Stelle gesucht die einem z.B. ein Leben abzieht. Der Code sagt dem Modul an welcher Programmadresse er welchen Befehl überschreiben soll. Statt "DEC" (Decrement Wert, also "Eins abziehen") kann mann dann "NOP" (No OPeration) benutzen. Dann kann man kein Leben mehr verlieren weil die Konsole nichts macht statt den Lebenszähler um eins herunterzuzählen.

Auf dem PC kann man dazu "Patches" verwenden die dann den programmcode auf der Festplatte verändern und dann das selbe machen wie der Game-Genie.

Im Multiplayer ist es auch möglich, die Datenströme anzuzapfen zwischen Client und Server. Da kann man dann z.B. die Meldung "Ich habe gerade 1000 Gold aufgehoben" oder "Ich habe mich um 100 health geheilt" senden.

Und dann kann man auch noch Hilfsprogramme auf dem PC laufen lassen, die z.B. die Blickrichtung und damit das Zielkreutz auf die Koordinaten des Gegerns einrasten lassen.

Auch möglich - und sehr beliebt - ist es der Grafikkarte zu sagen, dass bestimmte Texturen durchsichtig sind bzw. die Texturen ganz aus dem Speicher der Grafikkarte zu löschen. Bei Minecraft braucht man das nur für Erde und Stein machen und schon kann man in seiner Mine durch die Wände durchgucken und sehen wo Erze liegen, sich Monster und Mitspieler befinden usw.

Es gibt also unzähliche Möglichkeiten zu schummeln und bei Onlinespielen wird viel Aufwand getrieben solche Manipulationen zu erkennen und durch einen "kick" zu belohnen.

Woher ich das weiß:eigene Erfahrung

PixelDerHund 
Fragesteller
 05.07.2020, 18:30

Mit Java kommt man nicht so weit. Mit C++ habe ich eher das Problem, dass ich nicht weiß wie das gehen soll. Ich hab die Sprache C und C++ an sich gelernt, aber da gibt es nicht so wie bei js java oder python Libaries. Weißt du da auch wie wissen kann wie das geht? Also gibt es da Bibliotheken usw? Das einzige was ich von C++ weiß ist die Syntax usw und die Standartbibliothek. Sie beinhaltet aber leider "nur" streams von files und nichts mit Netzwerken usw

0

Moin,

ja, im Grunde veränderst du lediglich die Daten, die in deinem RAM liegen. Jedoch nicht immer.

Für Spiele wie CSGO, in denen du Online spielst, musst du die ausgehenden und eingehenden Daten manipulieren. Denn eine lokale Änderung der Daten führt maximal zu einem Desync zum Server.

LG

Woher ich das weiß:Hobby – 🎮 Skyrim Modentwickler auf Nexusmods

PixelDerHund 
Fragesteller
 05.07.2020, 11:08

Also muss ich im Prinzip einen Proxy machen, der die Daten abfängt? Würde das aber nicht zu einem schlechten Ping führen?
Oder muss ich die integrierte Netzwerkeinheit vom Spiel verändern

0
Dultus, UserMod Light   05.07.2020, 11:10
@PixelDerHund

Ein Proxy ist dazu nicht erforderlich. Du musst den Gameclient manipulieren und innerhalb dessen die Daten ändern. Wo genau sich die Daten befinden, ist unterschiedlich.

Die Netzwerkeinheit trifft es am ehesten. Vergiss aber nicht die Anticheat Clients.

0

Hacker/Cheater verdienen keine Hilfe. Tut mir echt Leid aber es ist peinlich, zumal so etwas zu tun, und dann auch noch nachzufragen, wie das geht.


PixelDerHund 
Fragesteller
 05.07.2020, 11:12

Ich tue es nicht zum verbessern meiner Spielequalität, sondern weil ich etwas lernen will(zb. wie man einen hack programmiert). Ich bin mit "Programmen" und "Spielen" gegen die Wand gestoßen, da es kaum noch was gibt, was man, machen kann. Jetzt suche ich halt eine Herausforderung, die mich "überfordert". Irgendwas womit ich mich nicht beschäfftigt habe. Etwas, was ich nicht kann. Das wären nun mal Hacks

0
BlueX15  05.07.2020, 12:03

Ich weiß nicht was das soll, hier ist jemand der die Mechanik verstehen will, er fragt ja nicht einfach nach einem Hackclient, bitte Hatet doch nicht immer so behindert rum und denkt nach bevor ihr schreibt!

0