Problem mit Read(Write)ProcessMemory
-
hey,
ich will mit ReadProcessMemory den Wert einer bestimmten Variable lesen, das funktioniert zwar, aber wenn ich nen PC reboot mach oder das Programm an eine andere Person schicke (der das gleiche Zielprogramm hat) funktioniert es natürlich nicht mehr weil der gesuchte Wert jetzt an einer ganz anderen Addresse liegt. Ich kann jedoch auch nicht nach dem Wert suchen, weil es extrem viele verschiedene Werte gibt, die diese Variable am Programmstart haben kann. Also muss ich es irgendwie berechnen. Eventuell Startaddresse des Programmes + offset oder so? Weis jemand, wie ich das Offset berechnen kann bzw. wie ich zu der Addresse komme, an der jetzt mein Wert liegt?
-
Wenn diese Variable dynamisch auf dem Stack oder Heap abgelegt wird hast Du keine Chance, das zu errechnen, sofern es dazu keine Referenzen im statischen Programmsegment gibt.
-
habe jetzt einen static Pointer gefunden, der auf diese Addresse verweist. Danke für deinen Tipp im statischen Programmsegment zu suchen
