AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Variabel des eigenen Programmes aus dem Arbeitsspeicher
Thema durchsuchen
Ansicht
Themen-Optionen

Variabel des eigenen Programmes aus dem Arbeitsspeicher

Ein Thema von SleepyMaster · begonnen am 9. Jan 2004 · letzter Beitrag vom 9. Jan 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#11

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:10
@Assarbad
Genau

Nur meine Frage:
Wie les ich den jetzt aus?
Einfach mit Pointer???
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#12

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:10
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 ...
Philipp
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#13

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:12
@c113plpbr
Da stehen aber nicht die Variabeln sondern der "Inhalt" der exe
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#14

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:15
in gewisser weise steht dort jeder wert den das programm verwendet, unter anderem auch der asm-code der exe ...
Philipp
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#15

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:16
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.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#16

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:18
OK! Das war eigendlich alles was ich wissen wollte! Vielen Dank!
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#17

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:21
@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!
Philipp
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#18

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:24
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???
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#19

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:34
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 ...
Philipp
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#20

Re: Variabel des eigenen Programmes aus dem Arbeitsspeicher

  Alt 9. Jan 2004, 16:40
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 09: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