Hi ich habe einen Hook der zu Programmstart Änderungen an ein paar Addressen macht (danach aber nichts mehr).
Derweil funktioniert das ganz gut, nur halt eben für die eine Version des Programmes (statische Addressen).
Da ich den Hook aber auch für andere Versionen kompatibel machen will stellt sich mir nun die Frage wie ich möglichst effizient diese Addressen herausfinden kann ohne statische Addressen zu benutzen, sowie eine sichere Addresse für eine code cave.
Eine erste mögliche Idee wäre, dass ich einfach von der Base Address beginnend vorwärts suche und dabei jede Wert bei der jeweiligen Addresse mit den von mir gesuchen Werten vergleiche bis jeder Wert übereinstimmt.
Hier drängt sich mir aber noch die Frage auf, wie ich herausfinden kann wieviel Speicher das executable module einnimmt damit ich die Suche eingrenzen kann.
Freue mich über konstruktive Antworten :)
Derweil funktioniert das ganz gut, nur halt eben für die eine Version des Programmes (statische Addressen).
Da ich den Hook aber auch für andere Versionen kompatibel machen will stellt sich mir nun die Frage wie ich möglichst effizient diese Addressen herausfinden kann ohne statische Addressen zu benutzen, sowie eine sichere Addresse für eine code cave.
Eine erste mögliche Idee wäre, dass ich einfach von der Base Address beginnend vorwärts suche und dabei jede Wert bei der jeweiligen Addresse mit den von mir gesuchen Werten vergleiche bis jeder Wert übereinstimmt.
Hier drängt sich mir aber noch die Frage auf, wie ich herausfinden kann wieviel Speicher das executable module einnimmt damit ich die Suche eingrenzen kann.
Freue mich über konstruktive Antworten :)