Autor Beitrag
Tobi482
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 135



BeitragVerfasst: Fr 16.04.10 19:44 
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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.04.10 21:38 
Du willst also auf einem 64-Bit Windows mit einer 32-Bit Anwendung auf den Speicher einer 64-Bit Anwendung zugreifen? Ich glaube, das kannst du vergessen.
Tobi482 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 135



BeitragVerfasst: Sa 17.04.10 01:08 
nein^^ ich will auf einem 64bit windows eine 32bit anwendung starten, die dann von einer zweiten 32bit anwendung gepatcht wird. D.h. eine 32 bit anwendung wird z.B. durch eine DLL oder eine Code Injektion gepatch. dem patchenden Thread allerdings gelingt es nicht die entsprechenden Stelle in der Hostanwendung zufinden.
Auf 32 bit XP funktioniert dies ohne probleme.

Gruß Tobi
Tobi482 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 135



BeitragVerfasst: Sa 17.04.10 11:22 
Problem gelöst, ich kanns mir zwar nicht genua erklären warum, aber alle Adressen sind um 0x4020 verschoben.