Daten vom Spiel
-
Moin,
ich hab mir schon seit längerer Zeit gefragt wie Aimbots für Spiele wie Counter Strike funktioniere bzw. wie die Programme ihre Daten bekommen. Holt man sich die Daten dirket aus dem Arbeitsspeicher?
Ums gleich zu sagen: Nein ich möchte keinen Cheat bauen sondern ich interesiere mich für solche Themen und möchte mich weiterbilden.
-
Hmm. Ich weiss nicht, wie die das wirklich machen, aber ich würde wahrscheinlich einfach den Inhalt des Bildschirms auslesen und dann damit arbeiten. Es gibt ein Fachgebiet, welches sich mit dem Erkennen von Bildern, Bewegungen usw. befasst, aber mir ist entfallen, wie sichs nennt. Werde es ev. Heute Abend mal nachschauen.
-
also es gibt verschiedene methoden, die auch alle schonmal irgendwie benutzt wurden.
wohl am haeufigsten: speicher auslesen. man muss also wissen an welcher stelle im speicher die daten wie stehen, und hoffen dass die applikation sich nicht gegen den lesezugriff wehrt.
dann eben das auslesen des grafikoutputs. kann extrem vereinfacht werden wenn man die moeglichkeit hat, die texturen zu veraendern, da man so z.b. alle waende grau und alle gegner rot machen kann, was den erkennungsalgorithmus extrem vereinfacht.
geht aber auch etwas auf die performance.komplexer aber sicherer waere das abfangen der grafik-API-calls, dadurch kann man objekte besser erkennen, speziell wenn aus vertexbuffern gerendert wird, und eventuell sogar gegner erkennen bevor sie aus einer deckung herauskommen.
-
Dynamische Speichermanipulation funzt vielleicht noch bei Pong, bei modernen Spielen jedoch werden ganze DLL's manipuliert.
-
Kóyaánasqatsi schrieb:
Dynamische Speichermanipulation funzt vielleicht noch bei Pong, bei modernen Spielen jedoch werden ganze DLL's manipuliert.
naja, schaut man sich mal dinge wie MTASA an, dann merkt man es geht auch ohne. die haben da kompletten multiplayersupport eingebaut durch speichermanipulation.
DLLs umschreiben ist in mancher hinsicht einfacher, aber ein spiel welches sich selbst nach manipulationen untersucht merkt sowas recht schnell.
-
drakon schrieb:
welches sich mit dem Erkennen von Bildern, Bewegungen usw. befasst
Mustererkennung oder Bewegungssehen?
-
Warum so kompliziert?
Aufgrund der Netzwerkpakete weiss man doch wo die Gegner stehen, wenn man diese ausliest und weiss was sie bedeuten. Dann muss man nur den Schuss berechnen. Ich denke mal das ist die schnellere Möglichkeit.
rya.
-
Such mal nach "OGC Sourcecode"...
wenn ich mich recht erinnere funktionierte der über Dll-Injection bzw. umbiegen von Funktionsaufrufen der Halflife-Engine bzw. beides.
Gab's mal als Source runterzuladen ( VC6.0 Projekt ).
-
Scorcher24 schrieb:
Aufgrund der Netzwerkpakete weiss man doch wo die Gegner stehen
Und woher weiß man, in welcher Datenstruktur sich die Positionen etc. befinden?
-
Kóyaánasqatsi schrieb:
Scorcher24 schrieb:
Aufgrund der Netzwerkpakete weiss man doch wo die Gegner stehen
Und woher weiß man, in welcher Datenstruktur sich die Positionen etc. befinden?
Analysieren?
-
Lupo4u2 schrieb:
Analysieren?
Und wie geht das?
-
Kóyaánasqatsi schrieb:
Und wie geht das?
setzt analytischen denken voraus. beispiel, wenn man versucht die position eines anderen spielers herauszufinden, versucht man nur das zu veraendern und sonst moeglich nichts. also den traffic analysieren waehrend nur 1 person sich bewegt (und sonst niemand connected ist).
die werte die sich als einziges veraendern sind dann hoffentlich die position.
-
loki1985 schrieb:
Kóyaánasqatsi schrieb:
Und wie geht das?
setzt analytischen denken voraus. beispiel, wenn man versucht die position eines anderen spielers herauszufinden, versucht man nur das zu veraendern und sonst moeglich nichts. also den traffic analysieren waehrend nur 1 person sich bewegt (und sonst niemand connected ist).
die werte die sich als einziges veraendern sind dann hoffentlich die position.
korrekt.
Ich würde mich als Spieler an eine Position stellen und dann nicht mehr bewegen. Dann analysiert man erstmal die Daten, die man vom Server bekommt ohne das was passiert. Jetzt lässt man nen Kumpel (nur zwei leute sind online) durch das Bild laufen und schaut, was sich in den Daten verändert...