Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Alle Variablen des Host-Programms auslesen (dll) (https://www.delphipraxis.net/158936-alle-variablen-des-host-programms-auslesen-dll.html)

Oldy 8. Mär 2011 13:42

Alle Variablen des Host-Programms auslesen (dll)
 
Alloha Community

nach langer Zeit werde ich doch mal wieder aktiv hier :)

Gleich mal eine (für mich zumindest) anspruchsvollere Frage:

Ich möchte eine Dll erstellen, die mir alle Variablen des Programmes ausliest (und evtl in eine *.txt speichert), in dem sie eingebunden ist.
-> Wie ist das zu Bewerkstelligen?

Wenn wir das hinbekommen würden, wäre meine zweite Frage, wie ich die Dll die Variablen ändern lassen kann.


Lg
Alex

alzaimar 8. Mär 2011 14:21

AW: Alle Variablen des Host-Programms auslesen (dll)
 
Das wird nur sehr eingeschränkt funktionieren, da eine DLL i.A. keine Variablen mehr hat, sondern nur noch Speicherbereiche.

Ich kann mir zudem nicht recht vorstellen, was Du damit anstellen willst.

Oldy 8. Mär 2011 14:24

AW: Alle Variablen des Host-Programms auslesen (dll)
 
Naja ich habe gestern erst angefangen mit Dll' Programmierung -> Und mich interessiert das ob das möglich ist :)

hauptsächlich geht es mir um das auslesen der variablen..

SirThornberry 8. Mär 2011 18:20

AW: Alle Variablen des Host-Programms auslesen (dll)
 
Das geht nicht was du vor hast. Variablen existieren nur im Quelltext. Im Quelltext beschreiben diese wie ein bestimmtes Stück Speicher zu behandeln ist.

Oldy 8. Mär 2011 19:01

AW: Alle Variablen des Host-Programms auslesen (dll)
 
Die werde der Variablen sind ja im Speicher definiert.
Und soweit ich weiß hat jede Variable dort seine eindeutige ID.
Kann man es nicht so auflisten lassen, ID | Wert ? Oo

WM_CLOSE 8. Mär 2011 19:16

AW: Alle Variablen des Host-Programms auslesen (dll)
 
ich bin der meinung, du verstehst da was falsch -vielleicht aber auch ich:?

Die Variablen fester Größe werden beim Aufruf ener Funktion/prozedur
im stack gespeichert, also Integer, Byte, Pointer,..

Die Variablen variabler Größe werden im Heap abgelegt, und zwar, wenn er Inhalt erzeugt wird idR beim create bzw SetLength. der pointer auf das Objekt wird wiederum auf den stack gelegt, da es sonst ein Speicherleck ist.

Die sache mit den IDs kenne ich nur von BASIC dialekten.

Die als published markierten Variablen, könntest du vllt per RTTI auslesen

Alle Angaben ohne Gewehr

Oldy 8. Mär 2011 19:49

AW: Alle Variablen des Host-Programms auslesen (dll)
 
Hmm..

Um mal ein Beispiel anzubringen:
Das Programm CheatEngine kann das, was ich möchte, auch , nämlich die Werte der Variablen auslesen.

Das ist jetzt ein schlechtes Beispiel, da ihr jetzt denken könntet ich möchte einen Hack etc programmieren, jedoch sollte das lediglich übungszwecken dienen :)

WM_CLOSE 8. Mär 2011 20:03

AW: Alle Variablen des Host-Programms auslesen (dll)
 
Das programm macht folgendes:
Es liest den gesamten virtuellen Speicher des ausgewählten prozesses aus.
Dann wird nach dem eingegebenen Wert gesucht (Ähnlich wie bei Pos/PosEx).
Die Adresse,an der der Wert gefunden wurde wird mitsamt dem Wert in dem ListView abgelegt.
Fertig!
Die Adressen können dann auch überwacht werden, so kann man z.B. die veränderungen des Lebensbalkens eines Spiels mit den Variablenwerten vergleichen und hat somit die Adresse der Leben-Variable.


Ich empfehle dir mal den Bei Google suchenHxD, der hat auch einen Ram-Editor dabei. Da kannst du genau sehen wie Variablen funktionieren.

Oldy 8. Mär 2011 20:18

AW: Alle Variablen des Host-Programms auslesen (dll)
 
Das ist doch schonmal ein Anhaltspunkt..


Ich danke euch allen für die Hilfe :]


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