Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   auf ein Programm zu greifen und eax an adresse xy auslesen (https://www.delphipraxis.net/106544-auf-ein-programm-zu-greifen-und-eax-adresse-xy-auslesen.html)

Sultan 12. Jan 2008 15:24


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

Carlo91 12. Jan 2008 15:30

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

grenzgaenger 12. Jan 2008 15:30

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>

Carlo91 12. Jan 2008 15:32

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

Dax 12. Jan 2008 15:35

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.

Sultan 12. Jan 2008 15:35

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?

Olli 12. Jan 2008 16:21

Re: auf ein Programm zu greifen und eax an adresse xy ausles
 
Zitat:

Zitat von Sultan
Sprich ich müßte das programm debuggen lassen,gibts dazu tuts?

Dazu gibt es eine hervorragende Dokumentation im MSDN.

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.

Muetze1 12. Jan 2008 16:39

Re: auf ein Programm zu greifen und eax an adresse xy ausles
 
Zitat:

Zitat von Sultan
Also im olly debugger finde an der selben adresse im Register Fpu immer in eax das selbe ergebnis.

Und was hat nun die FPU mit eax zu tun? Ich denke hier gibt es erstmal noch viel nachholbedarf in Sachen Grundlagen und Verständnis...

sirius 12. Jan 2008 16:45

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.

Luckie 12. Jan 2008 22:30

Re: auf ein Programm zu greifen und eax an adresse xy ausles
 
Zitat:

Zitat von Sultan
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.

Wäre es nicht sinnvoll erst mal die Grundlagen zu lernen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz