Quote:
Originally Posted by derrod
Aber die Base wurde doch durch das update geändert, wie kann ich die dann auslesen?
|
Schau dir mal an, was eine Codecave ist. Du leitest den Code in eine von dir deklarierte (und definierte) Funktion um, die über Inline Assembler den Inhalt eines Registers in eine von dir definierte Variable schiebt um die Adresse der Base zu erhalten. Der Vorteil daran ist, das du hier nicht mit statischen Adressen und Offsets arbeiten musst.
Irgendwo wird deine Base ja verwendet, da setzt du deine Codecave einfach rein. :)
Und diese Stelle kann übrigens mit einem Pattern Scan (Bytescan, Opcodescan) sinnvoll aufgesucht werden. So lange man in dieser Region den Code nicht ändert, bleibt die nämlich immer gleich.
Quote:
Originally Posted by omitma
Mhm ein update ändert gewöhnlicher weise nicht die base. Entweder ändert sich die base bei jedem start oder garnicht. Nutz einfach patterns. Hat Jeoni dir ja auch schon geraten.
|
Doch, die kann sich auch mal schnell ändern. Statische Adressen ändern sich nach dem kompilieren.