Die meisten Spiele-Botting-Anwendungen verwenden eine Reihe von Speicher-Offsets, die sie für eine bestimmte Version eines Spiele-Clients gefunden haben, um das Botting zu erleichtern. Sie können einen Speicher-Offset für Gesundheit, x/y-Position usw. haben. Jedes Mal, wenn das Spiel ein Update herausgibt, müssen die Offsets für die verschiedenen Informationen, die das Bot-Programm verwendet, neu gefunden und ebenfalls aktualisiert werden.
Ich bin daran interessiert, einen Solitaire-Bot als Lieblingsprojekt zu schreiben. Wenn du hier nachschaust, hat mmoglider (ein kommerzieller Bot) dies bereits als Demo für sein Botprogramm (das normalerweise zum Botisieren von WoW verwendet wird) durchgeführt: YouTube-Video von MMOGlider beim Botting von Vista Solitaire.
Was ist eine gängige Methode, um verschiedene nützliche Speicher-Offsets genau zu lokalisieren? Wie könnte ich den Speicher-Offset finden, der auf den "Stapel" im Solitärprogramm zeigt, und diesen verwenden, um zu bestimmen, welche Karten auf dem Stapel liegen? Ich weiß aus Erfahrung mit den Segelfliegern, dass sie, sobald sie in der Lage waren, die Offsets für den Stapel selbst zu lokalisieren, sagten, dass jeder Kartenwert für den gesamten Stapel da war.
Hat jemand Erfahrung mit Reverse Engineering und dem Herausziehen von Speicher-Offsets aus bestehenden Programmen? Und wenn man diese Offsets hat, wie kann man dann die Werte aus dieser "Deck"-Struktur im Speicher abrufen und lesen?