![]() |
Adresse zu Integer-Variable in Prozess finden (dyn. Pointer)
Ich suche eine Integer-Variable in einem fremden Prozess.
Die Variable kann den Wert 0 bis 8 haben. Bisher habe ich alle Pointer gesucht die auf die Adresse dieser Variable zeigen. Da dies dynamische Pointer waren, habe ich mir den nächsten gesucht und hab dann nach weiteren Pointern gesucht die auf diesen Pointer zeigen und so weiter bis ich einen statischen Pointer erreicht habe. Dabei entstehen meist wahnsinnig lange Ketten und oft waren auch Pointer dabei die die selbe Entfernung zum Ziel haben, so dass ich mich entscheiden muss. Bei der letzten Version des betroffenen Programms habe ich durch Glück einen Pfad gefunden der funktioniert hat, aber in der aktuellen Version ist mir das nicht geglückt. Hat Jemand eine bessere Idee um die Adresse zu ermitteln? |
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
Hat wirklich Niemand eine Idee?
Ein alternativer Ansatz wäre die Variable beim Start des Programms durch den Benutzer auf einen bestimmten Wert setzen zu lassen. Den gesamten Prozessspeicher zu durchsuchen (400MB). Danach muss der User die Variable auf einen anderen Wert setzen. In der Liste der Ergebnisse wird nach dem geänderten Wert geschaut. Am Ende ist nur noch 1 Adresse übrig. Leider erfordert das die Interaktion des Nutzers und auch so ca. 20 Sekunden Zeit. |
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
Das sind die üblichen wege, sie TSearch, dass macht es genau so.
Und den statischen Pointer musst du genau so suchen. Ansonsten hilft dabei nur Debuggen da geht meistens schneller wenn du die Adresse kennst und einen HW breakpoint drauf machst gelangst du an den Code der die Variable verändert und der greift meistens vorher auf eine statische Variable zu. |
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
Das Programm ist mit ner veränderten Version von Thermida geschützt :/
Kann also keine Breakpoints drauf setzen. |
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
Kann es sein, das das dann vom Ersteller der Software nicht erwünscht ist und insofern auch vielleicht den Rand der Legalität streift?
|
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
Im offiziellen Forum habe ich die erste Version des Tools geposted und es kam ganz gut an (auch unter den Moderatoren, die Mitarbeiter der Firma sind).
Es ist also zumindest geduldet. |
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
Dann sol die Firma doch eine Schnittstelle für deratige Manipulationen liefern
|
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
Wäre es nicht sinnvoll, uns die URL des Forums mitzuteilen? Dann können wir uns ein Bild davon machen und hätten Rechtssicherheit.
|
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
und jetzt einfach nur die Pointer auf Pointer auf Pointer auf den Integer zu suchen muß/wird auch nicht immer stimmen, denn wenn da zwischendurch mal Einiges in Records verpackt ist, dann müßte man auch mit Offsets suchen und wenn man vorher nichtmal weiß wie groß die sind dann kann man da ewig suchen.
|
Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin
Nur mal ne Verständnisfrage (werde auch nach Beantwortung nichts weiter zum Thema beitragen können). Aber sind Pointer nicht immer dynamisch? Man kann doch eigentlich eher selten die Adresse eines Pointers zur Designzeit festlegen.
Sherlock |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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