Wie cheaten Leute in Spielen ohne den Quellcode?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Simpel zusammengefasst: Sie dekompilieren zunächst den Quellcode (Urheberrechtsverletzung). Das ist das Gegenteil von dem, was der Hersteller des Spiels macht, bevor er das Spiel an die Spieler verteilt - gehört in der Softwareentwicklung zum Tagesgeschehen. Dann begeben sie sich auf die Suche nach der Stelle im Quellcode, die ausgehebelt oder manipuliert werden soll.

Genau da setzen Mods und Client Hacks dann an.

Woher ich das weiß:Berufserfahrung – Software Engineer
PixelCat 
Fragesteller
 02.07.2020, 15:56

Dies ist doch hoffentlich nicht allzu einfach oder?

0
MarcelHD40  05.03.2021, 06:31
@PixelCat

Angebot und Nachfrage bringt experten dazu solche Clients zu entwickeln, die dann irgend welche Kiddis kaufen können um es Exposionen im Spiel regnen zu lassen, oder sich Unfaire Vorteile im Multiplayer zu erlangen wie Godmode, Aimbot, X-ray etc. um sich auch mal groß fühlen zu können wenn sie selber zu schlecht sind um das Spiel legal und fair zu gewinnen.

Dafür zahlen solche Online Kiddis oft mal eine menge Geld und der Experte der die Clients schreibt verdient sich eine goldene Nase, vorallem wenn die Clients auf Abo-Systeme laufen oder der Käufer des Clients sie ständig erneuern muss, um nicht vom Anticheat erkannt zu werden.

(GTA Online wäre das perfekte Beispiel)

0
Lamanini  02.07.2020, 23:04

Man muss nicht unbedingt irgendwas dekompilieren. Man denke an all die Browserspiele. Und man kann auch Fehler finden, ohne irgendwas zu dekompilieren. Wenn ich mich irgendwo dazwischen klemme und was verändere, muss ich dafür nichts dekompilieren.

0

Man kann den Arbeitsspeicher auslesen und Teile davon verändern, auch die Teile von anderen Programmen. Wenn man z.B. die Stelle findet, an der steht, wie viel Gold man hat, dann kann man diese Zahl verändern. Das funktioniert natürlich nur, wenn die Zahl, wie viel Gold man hat, nur auf dem Client vorhanden ist. Ist sie auf dem Server und auf dem Client, kann man sie auf dem Client zwar verändern, der Server könnte aber überprüfen, ob man wirklich so viel Gold hat, sobald man es ausgeben möchte.

Die Sache ist, z.B. bei Wallhacks: Irgendwoher muss der Client die Information bekommen, ob ein Gegner für ihn sichtbar ist, oder nicht. Man kann entweder dem Server die Berechnung überlassen, ob ein Gegner sichtbar ist (sicher), oder die Position des Gegners an den Client senden und diesem überlassen, ob der Gegner sichtbar ist (unsicher). Der Server hätte aber ziemlich viel zu tun und wäre meistens wohl überlastet (oder zu teuer, weil man einen besseren Server braucht), wenn er für jeden Pixel des Gegners und für jeden Client berechnen würde, ob der Pixels des Gegners sichtbar ist. Deshalb wird oft eine Approximation verwendet, z.B. wird die Information, wo der Gegner ist, schon bevor überhaupt irgendein Pixel von ihm für den Client sichtbar sein kann, an den Client gesendet. Den Rest soll der Client machen. Von diesem Augenblick an kennt der Client die Position des Gegners, sie steht im Arbeitsspeicher und ein Hacker kann sie finden, auslesen und in dem Spiel darstellen - obwohl der Gegner noch nicht sichtbar, z.B. hinter einer Wand, ist.

PixelCat 
Fragesteller
 02.07.2020, 15:55

Danke! Doch das ist hoffentlich nicht so einfach das jede/s App/Anwendung/Spiel unsicher ist oder?

0
chaostheorie314  02.07.2020, 16:02
@PixelCat

Für einfache Multiplayer-Spiele geht das vielleicht. Aber bei komplexeren Spielen, z.B. Counter-Strike, hat man es nie geschafft, sie absolut cheat-sicher zu machen. Und daran, dass so gut wie jedes Programm gecrackt ist, erkennt man, dass man es Hackern schwierig machen kann, aber sie es schlussendlich doch immer schaffen. Für Multiplayer-Spiele ist die einzige Möglichkeit, die es absolut sicher macht, sie komplett auf dem Server laufen zu lassen bzw. jede Aktion des Clients zu überprüfen, ob sie gültig ist. Aber dafür bräuchte man superschnelles Internet und supergünstige Superserver.

1

Es gibt z.B. wie bei Minecraft plugind die du entweder selber machst oder downloadest.

An ddn Quellcode kommt man zwar vlt nicht all zu einfach drann doch es gibt immer möglichkeiten. Sowie das es immer eine Möglichkeit gibt eine Sicherheitslücke von einer z.B. Bank zu finden.

Woher ich das weiß:Hobby – Programmiere (C#, Java, Arduino Code)