![]() |
auf ein Programm zu greifen und eax an adresse xy auslesen
Hi leute ich habe endlich mit delphi 7 begonnen.
Nun möchte ich ein kleines programm schreiben das mit einen werd von eax an der adresse xy von dem prog xy ausliest über den button1 und in edit1 zurückgibt. Den gui bekomme ich hin,bloß habe ich keine vorstellung wie ich auf einen prozez zu greifen kann und eax,edx und so weiter an adresse yx auslesen kann mit meinem programm. Würde mich über einen nützlichen link bzw über einen code snipsel freuen. Mfg Sultan |
Re: auf ein Programm zu greifen und eax an adresse xy ausles
Hi,
habe grade kein delphi da aber guck dir mal die API DebugActiveProcess, ContinueDebugEvent oder wie das heißt und Get/SetThreadContext an und das musst du noch an der adress eine breakpoint setzen (INT3: $CC) mit WriteProcessMemory. MfG Carlo |
Re: auf ein Programm zu greifen und eax an adresse xy ausles
du kannst EAX nicht an adresse xy auslesen. da EAX nicht an der addresse hängt, sondern immer den aktuellen zustand wiedergibt. <HTH>
|
Re: auf ein Programm zu greifen und eax an adresse xy ausles
natülich kann man EAX auslesen wenn man den process debugt.... also man muss ihn debuggen damit man eine breakpoint setzen kann Set/GetThreadContext kann man auch so nutzen bringt nur nicht wirklich viel wenn man den process nicht debugt.
MfG Carlo |
Re: auf ein Programm zu greifen und eax an adresse xy ausles
Das ist soweit alles korrekt. EAX ist nicht an eine Addresse gebunden, sondern an einen Kontext, weil EAX ein Prozessorregister ist. Dass es per Debugbefehl auslesbar ist, stimmt auch. Allerdings braucht man, um diese ausführen zu können, Debugrechte für das ausführende Programm. Und - ohne den Fragesteller anzugreifen - wer nicht weiß, dass EAX auf Speicheradressen zeigt und nicht an einer Speicheradresse steht, sollte solche Experimente lieber nicht durchführen.
|
Re: auf ein Programm zu greifen und eax an adresse xy ausles
Hi danke beide für eure tips.
Also im olly debugger finde an der selben adresse im Register Fpu immer in eax das selbe ergebnis. Dieses möchte ich gerne in mein edit1 feld holen,möglich muß das ja sein ,gibt ja auch Trainer die so vom prinzip her arbeiten. Edit heist also ich müßte erst das programm starten mit besonderen rechten? Sprich ich müßte das programm debuggen lassen,gibts dazu tuts? |
Re: auf ein Programm zu greifen und eax an adresse xy ausles
Zitat:
Prozesse werden mal überhaupt keine Ahnung von irgendeinem Register haben, weil die von einem Thread abhängen. Und bekanntlich kann ein Prozeß auch mehrere Threads haben. Wenn da mehrere involviert sind, wird's kompliziert. |
Re: auf ein Programm zu greifen und eax an adresse xy ausles
Zitat:
|
Re: auf ein Programm zu greifen und eax an adresse xy ausles
Vielleicht wird dieses (anscheinend) Funktionsergebnis ja irgendwo gespeichert und du kommst ohne Debuggen da ran.
|
Re: auf ein Programm zu greifen und eax an adresse xy ausles
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz