Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   allgemeine Frage zum ReadProcessMemory (https://www.delphipraxis.net/133547-allgemeine-frage-zum-readprocessmemory.html)

BAMatze 4. Mai 2009 14:31


allgemeine Frage zum ReadProcessMemory
 
Hallo nochmal an alle DP´ler,

Ich hab für ein Problem jetzt mal (warscheinlich) eine ziemlich simple Frage. Also ich hab mir das ReadProcessMemory angeschaut und habe auch so einige Beiträge gefunden. z.B. hier. Habe mir auch mal in der Hilfe zu Delphi das zu Gemüte geführt, was dort steht und finde eine Frage ist für mich irgendwie nicht beantwortet. Also das mit dem Handle und wie man dieses ermittelt ist ja schon geklärt, spätestens seit dem beigefügten Beitrag. Aber eins verstehe ich nicht, wie ermittle ich nun genau die Anfangsadresse und wie sage ich dem ProzessMemory, wieviele "Stellen" er auslesen soll, also genau genommen, wo bekomme ich raus, wieviele Speicheradressen (grob gesagt) der Prozess belegt. Leider habe ich nur dem Beispiel ähnliche Beiträge gefunden und würde mich über eine etwas genauere Erklärung freuen.

Vielen Dank
BAMatze

himitsu 4. Mai 2009 14:41

Re: allgemeine Frage zum ReadProcessMemory
 
na etweder du weißt einfach was wo belegt ist oder schau dir mal MSDN-Library durchsuchenVirtualQueryEx und Co. an

BAMatze 4. Mai 2009 15:56

Re: allgemeine Frage zum ReadProcessMemory
 
worin besteht laienhaft gesprochen der Unterschied zwischen VirtualQuery und VirtualQueryEx? Oder besser welche User-Rechte benötigt man für was? möchte namlich für eins meiner Programme mal einen Patch vorbereiten und muss mich dementsprechend in dieses Thema einarbeiten.

himitsu 4. Mai 2009 16:04

Re: allgemeine Frage zum ReadProcessMemory
 
nur im 1. Parameter (siehe MSDN)
...Ex hat da noch 'nen Prozessparameter mehr drin

BAMatze 4. Mai 2009 16:14

Re: allgemeine Frage zum ReadProcessMemory
 
Würde es unter Vista gesehen mehr Vorteile oder Nachteile geben, wenn man eins der beiden erstmal dem anderen vorzieht? ich meine ich hab hier auf meinem PC zwar Vista aber ich denke die meisten sind da immer noch in unterschiedliche Lager geteilt, welches von beiden besser oder schlechter ist. Im allgemeinen ist wohl trotzdem festzuhalten, dass Vista wohl mehr Bedeutung zugeteilt werden muss, da XP ja leider ausläuft. Auf Arbeit haben wir z.B. noch mehr XP-Rechner da es dort natürlich eine Geldfrage ist auf Vista umzusteigen und immer noch gewartet wird, bis die "Kinderkrankheiten" ausgestanden sind.
Wie ist es also im Vergleich der beiden Systeme besser: Wenn man mit VirtualQuery oder VirtualQueryEx arbeitet?

himitsu 4. Mai 2009 16:39

Re: allgemeine Frage zum ReadProcessMemory
 
Solange du nicht in fremden Prozessen rumlesen willst, reicht die Nicht-Ex-Version vollkommen aus.
Wenn du in anderen Prozessen lesen willst, dann mußt die die Ex-Version nutzen (wie willst'n sonst sagen wo du lesen möchtest).
Und wenn du im eigenem Prozess lesen willst, warum dann überhaupt erst diese Funktion? (gleif doch direkt auf den Speicher zu :stupid: )

BAMatze 4. Mai 2009 16:45

Re: allgemeine Frage zum ReadProcessMemory
 
Ah danke, dass reicht mir schonmal, Danke. Dachte das hat was mit dem User-Rechten zu tun, ob man als Admin oder einfacher Anwender am Pc eingeloggt ist. Wie gesagt, arbeite mich da gerade erst ein.

himitsu 4. Mai 2009 16:50

Re: allgemeine Frage zum ReadProcessMemory
 
Man kann der Funktion auch die Rechte zum Lesen entziehen

etweder für für bestimmte Speicherbereich, aber das würde dann alles betreffen, welches irgendwie auf diesen Speicher zugreifen will,

oder für den ganzen Prozess ... z.B. sollte es für 'nen "einfachen" eingeschränkten Prozess nicht möglich sein z.B. aus einen Prozess mit Admin- oder gar System-Rechten zu lesen. (zumindestens ab Vista)

nicodex 4. Mai 2009 21:02

Re: allgemeine Frage zum ReadProcessMemory
 
Zitat:

Zitat von BAMatze
möchte namlich für eins meiner Programme mal einen Patch vorbereiten und muss mich dementsprechend in dieses Thema einarbeiten.

Was lässt dich glauben, dass ReadProcessMemory die Lösung für dein Problem ist? Gibt es Alternativen - wenn ja, warum scheiden sie aus?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 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