Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Variabel des eigenen Programmes aus dem Arbeitsspeicher (https://www.delphipraxis.net/14449-variabel-des-eigenen-programmes-aus-dem-arbeitsspeicher.html)

SleepyMaster 9. Jan 2004 16:10

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
@Assarbad
Genau :thuimb:

Nur meine Frage:
Wie les ich den jetzt aus?
Einfach mit Pointer???

c113plpbr 9. Jan 2004 16:10

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
also, wenn du nur werte auslesen willst, und diese immer an der gleichen stelle stehen, kannst du das über ReadProcessMemory tun, aber um die stellen im speicher zu finden brauchst du entweder einen guten editor der das kann (z.B. winhex) oder einen guten spieletrainer ...

SleepyMaster 9. Jan 2004 16:12

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
@c113plpbr
Da stehen aber nicht die Variabeln sondern der "Inhalt" der exe

c113plpbr 9. Jan 2004 16:15

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
in gewisser weise steht dort jeder wert den das programm verwendet, unter anderem auch der asm-code der exe ...

Assarbad 9. Jan 2004 16:16

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
Naja, wenn du im Prozess drin bist sprichst du eine beliebige Speicherstelle (lesend) mit nem Pointer an. ReadProcessMemory wäre da Overkill. Bist du nicht drin, nimmst du ReadProcessMemory() und das Schreib-Pendant.

Mit VirtualProtect() oder VirtualProtectEx() kannst du bei schreibendem Zugriff (zB für Trainer) mal bequem die Zugriffsmöglichkeiten für die entsprechende Speicherseite erweitern ;)

@c113plpbr: Aber nimm mal an dies sei der Goldwert in irgendeinem Spiel. Dann ist der sicher nicht vorher in der EXE festgelegt, sondern ändert sich wenn die Arbeiter die Mine ausräumen oder wenn man ein neues Spiel lädt etc pp.

SleepyMaster 9. Jan 2004 16:18

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
OK! Das war eigendlich alles was ich wissen wollte! Vielen Dank! ;)

c113plpbr 9. Jan 2004 16:21

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
@assarbad: Es ist eigentlich egal was da steht, hauptsache es steht der wert da, und vorausgesetzt er steht nach jedem neustart des proggys an der selben stelle ... hier nen link zu nem guten trainer mit soße Generic Game Trainer ... reinschauen lohnt sich auf jeden fall!

Assarbad 9. Jan 2004 16:24

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
WinHex kann Prozeßspeicher anderer Prozesse auslesen? Dann liegt da mein Mißverständnis. Aber wir sind uns schon einig, daß ein fulminanter Unterschied zwischen der EXE auf Platte und dem Image im Speicher besteht???

c113plpbr 9. Jan 2004 16:34

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
ich weis in etwa wovon ich rede, denn ich hab schon ein paar spiele-trainer geschrieben, wobei ich zugeben muss, dass ich nen bisschen was natürlich auch vom Generic Game Trainer abgeschaut habe ... aber das is was anderes ... ich schreiben gerade an meinem _eigenen_ trainer ... nur tue ich das schon seit einem halben jahr, und funzen tut er immer noch nicht richtig ...

ich weiß zwar nicht genau was 'fulminant' heißt, aber es besteht ein riesiger unteschied zwischen dem proggi im speicher und der exe ... nur, wenn du suchst, dann findest du auch die betreffende speicherstelle, und kannst den wert dort durchaus ändern und nicht nur auslesen, aber das ist ein anderes thema ...

Assarbad 9. Jan 2004 16:40

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher
 
Tss tss ... da wäre ich mir nicht so sicher. Du mußt immer den kompletten Prozessspeicher durchforsten, sonst ist es nicht möglich zu sagen ob du die korrekte Stelle hast.

1. Kann es Zufallstreffer geben
2. Kann das Image weit kleiner sein als der vom Programm (für Variablen) benutzte Speicher

Ergo, man kann den Code der EXE nur als Anhaltspunkt nehmen, mehr nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.
Seite 2 von 2     12   

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