Welche Programmiersprache benutzen Programmierer von Spielehacks um z.B. ein Aimbot,Wallhack usw. zu erstellen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
Normalerweise führt der schnellste Weg eine Software zu knacken, zu manipulieren oder zu reversen über die Programmiersprache und Bibliotheken, in der diese Software selbst geschrieben ist.

Das gilt auch für Spiele!

Wenn dein Spiel also Unity als Engine benutzt, und selbst in C# geschrieben ist, dann solltest du dort ansetzen. Wenn es hingegen in C++ mit der Unreal-Engine geschrieben ist, schreibst du dir deine Werkzeuge auch damit.

Für Browsergames reicht oft schon der Inspektor, Greasemonkey oder andere Werkzeuge aus. Früher hat auch oft ein Actionscript-Decompiler geholfen, aber da Flash ja nicht mehr sonderlich verbreitet ist, reichen heute Deobfuscatoren für JS oder CSS oftmals völlig aus. Bei der Kommunikation kann man einfach AJAX-Anfragen abfangen, JSON oder XML manipulieren und weiter senden.

Bei Java reicht oft ein Decompiler bzw. Disassembler aus, bzw. man kann sehr einfach eigene Interfaces mit dem daraus erlangten Wissen schreiben, und dann mittels Reflection im Speicher rumwüten, wie man lustig ist. :)

Bei Android APKs oder anderen App-Formaten ist das Ganze ebenfalls sehr sehr einfach.

Allerdings sollte man unbedingt Kenntnisse in Assembler mitbringen, falls es sich nicht gerade um einen JVM- bzw. IL-Code handelt.

Fertige Programme, bzw. Spiele kannst du über einen Debugger manipulieren, aber da die sowieso fast immer ihre Debugging-Symbole gestrippt haben sollten, kommst du hier ohne Assembler nicht weiter.

Dann gibt es noch unendlich viele Werkzeuge, die - einem Debugger ähnlich - zur Laufzeit auf Speicherbereiche von anderen Prozessen zugreifen können, und dort Werte manipulieren. Für Spiele ist die Cheat-Engine ganz beliebt.

Naja, wie du siehst, gibt es (fast) unendlich viele Ansätze. Such dir einen davon aus, der zu deinem anvisierten Spiel passt! :)

Viel Spaß! :)

PS: Kopierschutzmaßnahmen und Dinge wie Denuvo verhindern oftmals eine Manipulation bzw. das Cheaten. Diese Dinge sind dann meist vergleichsweise schwer zu umgehen und man sitzt gerne auch mal mehrere Monate an einer Lösung.

PPS: Ich spiele selbst zwar keine Spiele, aber ich höre immer, dass Cheater den anderen Spielern den Spaß verderben. Nimm also bitte Rücksicht auf deine Mitspieler! Zu Übungszwecken ist die Entwicklung von Cheats sehr gut zum Lernen geeignet. Genauso wie das Schreiben von Malware oder Trojanern. Aber man sollte so viel Verstand haben, und auf keinen Fall seine Mitmenschen mit diesen Dingen belästigen!

Programmiersprache?

Die 14-jährigen Bengel betätigen sich als Script-Kinderchen und probieren mit irgendeinem Micro$aft VBA-Dialekt herum.

Das hat doch nichts mit Programmierung zu tun.

Programmier befassen sich mit anderen Dingen als Kinderspielzeugen.


Erzesel  07.06.2017, 12:07

Irgentwie klingt das ziemlich abgehoben...
Jeder der sich  mit Programmierung beschäftigt hat mal ganz klein mit Basic,Pascal oder  irgendwelchen Scriptsprachen angefangen.
Eine .DLL-injection bekommt man sogar in Assembler hin und  damit  kann man so einiges "aushebeln"...

Wir  würden  noch heute mit einem 286er und dem DOS-Prompt rumwuseln, wenn sich Programmierer nicht  mit Kinderspielzeug  beschäftigt hätten!
Für eine Datenbank benötigt man  nicht wirklich einen 6800er i7  und und OpenGL  .

Ein Wort an den Fragesteller:  ein Aimbot kann  nur  das Fernziel sein...  Zu Progammieren beginnt man gewöhnlich mit "Hello World" egal  mit welcher  Programmiersprache , alles andere  findet sich  von allein...

0
TeeTier  26.05.2017, 22:12

Ich denke, du unterschätzt gewaltig, was man können muss, um eine Software zu schreiben, die zur Laufzeit einen anderen Prozess so patcht, dass dieser sein Verhalten in gewünschter Weise ändert, zumal weitere Prozesse darauf achten, dass genau DAS nicht getan wird.

Ein 14jähriger kommt hier mit VBA nicht weiter. Und ganz ehrlich: Ich glaube, dass das die aller meisten ITler mit abgeschlossenem Studium nicht drauf haben!

Einen Cheat von Grund auf zu entwickeln ist etwas völlig anderes als einen fertigen Cheat herunter zu laden und zu installieren.

Vermutlich gibt es kaum etwas komplizierteres für "stink normale" Software-Entwickler. Dazu muss man die Plattform des Spiels, die Programmiersprache, das Betriebssystem, die Laufzeitumgebung, die Bibliotheken, das Speichermanagement und das Prozess-Scheduling ziemlich gut kennen, um überhaupt erst mal anfangen zu können.

Ob du das nun Reverse Engineering, Cracken oder "Entwickeln von Cheats" nennst, ist egal. Aber es stellt die Königsdisziplin für Programmierer dar.

Also unterschätze das Thema mal nicht!

Programmier befassen sich mit anderen Dingen als Kinderspielzeugen.

GUTE Programmierer lernen ständig weiter und bilden sich pausenlos zu neuen Themen selbst. Irgendwann stolpert man zwangsläufig auch mal über Reversing und Co.

Auch wenn man als Software-Entwickler natürlich nicht pausenlos Cheats entwickelt, so sollte man dennoch schon mal damit zu tun gehabt haben. Einfach nur, um mal über den Tellerrand zu schauen!

0