AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Adresse zu Integer-Variable in Prozess finden (dyn. Pointer)
Thema durchsuchen
Ansicht
Themen-Optionen

Adresse zu Integer-Variable in Prozess finden (dyn. Pointer)

Ein Thema von Hedge · begonnen am 19. Aug 2009 · letzter Beitrag vom 21. Aug 2009
Antwort Antwort
Seite 1 von 2  1 2      
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#1

Adresse zu Integer-Variable in Prozess finden (dyn. Pointer)

  Alt 19. Aug 2009, 09:28
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?
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 20. Aug 2009, 15:57
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.
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#3

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 21. Aug 2009, 07:19
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.
  Mit Zitat antworten Zitat
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 21. Aug 2009, 07:21
Das Programm ist mit ner veränderten Version von Thermida geschützt :/
Kann also keine Breakpoints drauf setzen.
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 21. Aug 2009, 07:45
Kann es sein, das das dann vom Ersteller der Software nicht erwünscht ist und insofern auch vielleicht den Rand der Legalität streift?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 21. Aug 2009, 07:47
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.
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 21. Aug 2009, 07:56
Dann sol die Firma doch eine Schnittstelle für deratige Manipulationen liefern
Markus Kinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 21. Aug 2009, 08:21
Wäre es nicht sinnvoll, uns die URL des Forums mitzuteilen? Dann können wir uns ein Bild davon machen und hätten Rechtssicherheit.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 21. Aug 2009, 09:26
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#10

Re: Adresse zu Integer-Variable in Prozess finden (dyn. Poin

  Alt 21. Aug 2009, 10:25
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
Oliver
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 Uhr.
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