Laden...

Daten aus laufendem Programm auslesen

Erstellt von bobbie vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.373 Views
B
bobbie Themenstarter:in
11 Beiträge seit 2008
vor 15 Jahren
Daten aus laufendem Programm auslesen

Hallo Leute,

ich frage mich, wie man Daten/Variablen oder sonstige Werte aus einem Programm auslesen kann.
Ich wollte mich darüber informieren aber habe keine Ahnung wonach ich suchen müsste...

Vielleicht habt ihr ja ein paar Schlagwörter für mich 🙂

Ein Beispiel:
Ich habe von irgendeiner Exe Informationen.
Zum Beispiel die Adresse (Bsp: "004AEA60") und den Funktionsnamen.

Was könnte man mit diesen Informationen machen?

Ist es möglich, wenn man den Namen einer bestimmten Funktion, Variable oder Adresse eines Programmen kennt,
diese Funktion/Methode/Variable in einem eigenen Programm aufzurufen bzw. den Rückgabewert zu erhalten?

Hoffe, es kann mir jemand weiterhelfen.
Schonmal vielen Dank!

Grüße
Bobbie

D
496 Beiträge seit 2005
vor 15 Jahren

ich würd sagen das kommt auf die das programm an. evtl hat das für das du das brauchst eine API?

"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."

B
bobbie Themenstarter:in
11 Beiträge seit 2008
vor 15 Jahren

Ich gehe von dem Fall aus, dass das Programm keine API hat.

630 Beiträge seit 2007
vor 15 Jahren

Hallo bobbie,

vieleicht hilft dir dieser Artikel weiter.

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm

3.728 Beiträge seit 2005
vor 15 Jahren

Ist es möglich, wenn man den Namen einer bestimmten Funktion, Variable oder Adresse eines Programmen kennt,
diese Funktion/Methode/Variable in einem eigenen Programm aufzurufen bzw. den Rückgabewert zu erhalten?

Nein, das wird so nicht gehen. Jedes Windows-Programm läuft in einem eigenen Prozess ab. Jeder dieser Prozesse hat seinen eigenen isolierten Speicherbereich. Wenn da einfach so jedes andere Programm reingreifen könnte, hätte das Wörtchen Sicherheit kein Bedeutung. Wenn das Programm keine Programmierschnittstelle hat, kannst Du es auch nicht anprogrammieren. Allein die Tatsache, dass es keine API gibt, lässt vermuten, dass es nicht im Sinne des Erfinders war, dass man einzelne Funktionen daraus in anderen Programmen nutzt.

Was Du machen kannst, wäre Window-Messages abzufangen und so die Benutzeroberfläche der Anwendung "abzuhorchen" bzw. fernsteuern. Bei Konsolenanwendungen kann man den Ausgabestream parsen. Das hilft aber alles nur dann, wenn die gewünschten Daten an einer Oberfläche angeziegt werden.

Um was für eine Anwendung handelt es sich? Was willst Du denn genau machen? Vielleicht gibt es eine andere Lösung?

630 Beiträge seit 2007
vor 15 Jahren

Hallo Rainbird,

Jedes Windows-Programm läuft in einem eigenen Prozess ab. Jeder dieser Prozesse hat seinen eigenen isolierten Speicherbereich. Wenn da einfach so jedes andere Programm reingreifen könnte, hätte das Wörtchen Sicherheit kein Bedeutung.

Es ist nicht unmöglich in andere Speicherbereiche zu greifen.
Siehe ReadProcesssMemory und WriteProcessMemory

Wenn das Programm keine Programmierschnittstelle hat, kannst Du es auch nicht anprogrammieren.

Und gerade darin liegt oft die Herausforderung: Es trotzdem zu schaffen. 😁

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm

B
bobbie Themenstarter:in
11 Beiträge seit 2008
vor 15 Jahren

Zunächst einmal vielen Dank für die Antworten.

Ich werde mich jetzt erst einmal mit dem verlinktem Thema von tscherno befassen und schauen, ob ich mit Windows-Messages abfangen weiterkomme.

Danke und Gruß
Bobbie