Hi Leute,
ich benutze Delphi7 und bin jetzt auf Probleme auf einem 64bit System gestoßen. Durch etwas Hilfe aus dem Forum habe ich es nun geschafft D7 auf Win7 64bit zum Laufen zubekommen.
Auf den ersten Blick scheint alles zu funktionieren. Heute sind mir einige Fehlfunktionen meiner selbstgebastelten Tools aufgefallen. Ich patche öfters vorhandene Software um eigene Funktionen zu implemntieren (zusätzliche Menüs, Hotkeys für komplexere Makros etc). Dabei leite ich Calls in eigene Funktionen um und führe später manuell die Original Funktions aus.
Die Speicherstellen an denen sich die Call/Jump Kommandos befinden sind statisch in meine Module einkompiliert. Seltsamerweise befinden sich an den Adressen jetzt (auf Win7 64bit, früher XP 32bit) keine Sprunganweisungen mehr an den besagten Speicherstellen z.B. 0xE8, 0xE9 oder 0xFF.
Kurz: Auf XP(32bit) liegt an Speicheradresse x zur Laufzeit eine Sprunganweisung auf Win7(64) liegt sie dort nicht mehr.
Ich vermute, es liegt an der 32bit Umgebung in der das OS die 32bit anwendung ausführt (nur Vermutung)
Hat jemand eine Idee wie ich die stellen wieder finde bzw. wieso sie verschoben sind. Ist es vllt ein fester Offset?
Mit freundlichen Grüßen
Tobi