Problem: Flashgame Basepointer

03/01/2014 10:34 HonkiTonk123#1
Hey Leute,
da es mein erster Post ist, erstmal: Hallo! ich bitte zu entschuldigen wenn ichs in eine falsche section gepostet hab!

ich habe ein Problem und zwar geht es um ein flashgame (bloons) bei dem man den attackspeed mit cheat engine erhöhen kann. Die Methode dazu habe ich aus dem Internet: man sucht den sich erhöhenden "pop-count" (anzahl der zerstörten bloons) bei ce und addiert, wenn man den gefunden hat, zu der adresse zehn ("+10"). Dadurch ändern sich die letzten ziffern von "4c" zu "5c". Dann aktiviert man das ganze und setzt value auf "1". Nachdem man das gemacht hat schießt die Einheit extrem schnell.
Nachdem ich das ganze theater ein paar mal gemacht habe, hab ich mir gedacht suche ich doch die pointer dazu. Bei "Find out what writes to this adress" bekam ich zwei ergebnisse:
Code:
268EBF04 - C7 46 5C 01000000 - mov [esi+5C],00000001
268EB990 - C7 41 5C 00000000 - mov [ecx+5C],00000000
Als ich dann bei dem ersten auf "Find out what adresses this code writes to" gegangen bin erhielt ich die oben herausgefundene adresse für die erste Eineit (logisch :D) aber auch die adresses für die anderen Einheiten (die mit "-5c" hinten) und sobald ich die eine neue Einheit gebaut habe kommt eine weitere hinzu. Die scheint also schonmal richtig zu sein, das Problem ist, das dass kein Basepointer ist (ändert sich nach jedem mal).
Also meine Frage: Wie erhalte ich den Pointer dazu? Wenn ich ich die adresse kopiere und "Find out what writes to this adress" mache erhalte ich keine Ergebnisse... ist das bei flashgames mit pointern überhaupt möglich?
Vielen Dank für eure Antworten im vorraus :D

Mit freundlichen Grüßen
Honki
03/01/2014 12:56 Mostey#2
Heißt also, die gewünschte Adresse die von dir geändert werden soll befindet sich an Base + 0x5C. 0x5C wäre dann das relative Offset das auf die Base addiert werden muss, um zur gewünschten Adresse zu gelangen.

Um das ganze statisch festlegen zu können, musst du natürlich auch die Base finden, diese ändert sich nämlich auch immer. Die dürfte in deinem Beispiel entweder in Register esi oder ecx stehen.

Da die Base aber auch in der Regel immer ne andere Adresse hat, sofern sie nicht statisch ist, musst du so lange zurückgehen bis du auf ne statische Adresse triffst.
03/01/2014 13:36 HonkiTonk123#3
Quote:
Originally Posted by Mostey View Post
Heißt also, die gewünschte Adresse die von dir geändert werden soll befindet sich an Base + 0x5C. 0x5C wäre dann das relative Offset das auf die Base addiert werden muss, um zur gewünschten Adresse zu gelangen.

Um das ganze statisch festlegen zu können, musst du natürlich auch die Base finden, diese ändert sich nämlich auch immer. Die dürfte in deinem Beispiel entweder in Register esi oder ecx stehen.

Da die Base aber auch in der Regel immer ne andere Adresse hat, sofern sie nicht statisch ist, musst du so lange zurückgehen bis du auf ne statische Adresse triffst.
Vielen Dank für die schnelle Antwort, aber eine Frage hätt ich noch: kann ich "esi" oder "ecx" auch über cheat engine auslesen, oder muss ich da andere verfahren/ Programme nutzen?

EDIT: Habs grad rausgefunden :D