Seite 1 von 3

Inhalt einer Speichaddresse auslesen

Verfasst: 01.02.2015 19:43
von k11kx8
Mal angenommen ich hätte ein Programm mit diesem Code:

Code: Alles auswählen

Openconsole()
Repeat
printn(x)
input()
x=x+1
Until dieweltistschoen ;endlosschleife
und ich hätte die Speicheraddresse von der Variable x,
wie könnte ich nun den Wert von x aus einem fremden Programm heraus durch die WinAPI (Readmemoryaddress...) auslesen?
Ich finde zwar schon verschiedene Dinge zu dieser Frage, aber helfen konnte mit bisher nichts
Könnte mir daher bitte jemand sagen bzw schreiben wie dies in Pb mit der WinAPI gehen würde?
Einfach nur ein Beispielcode wäre hilfreich :D

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 01.02.2015 19:50
von RSBasic
Erstmal die Frage mit dem Ermitteln der Speicheradresse einer Variable: Einfach @ davor setzen.

Code: Alles auswählen

debug @x
Ist das fremde Programm von dir oder ein komplett fremdes Programm, welches nicht von dir geschrieben wurde?
Wenn es dein Programm ist, dann suche mal nach "sharedmemory".
Ansonsten die Frage: Was möchtest du genau machen? Nur Variablenwerte ermitteln? Was ist das Ziel deines Vorhabens?

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 01.02.2015 20:05
von k11kx8
Danke, die Speicheraddresse hab ich jedoch schon
Im Prinzip möchte ich wissen, wie ich den Wert eine Variable eines Fremden Programmes auslese (ändern wäre auch ganz schön, jedoch ist dies wahrscheinlich relativ einfach nachzuvollziehen wenn man weiß wie man den Wert ausliest)
Wenn das Programm von mir wäre, wäre es relativ einfach auf eine bestimmte Art den Wert einer Variable zu übermitteln,
Somit möche ich z.b. ein Programm mit dem oben angegebenen Quellcode haben, wobei ein Fremdes (bzw anderes) Programm den Wert der Variable x aus diesem ausliest (also in diesem Falle wären beide Programme von mir, jedoch ist dies irrelevant da es mein Ziel ist zu wissen, wie ich aus einem beliebigen Programm den Wert einer bestimmten Variable auslesen kann)

:D du hast aber schon relativ schnell geantwortet

(mal hoffen das ihr/du versteht was ihr meint)

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 01.02.2015 20:13
von ts-soft
k11kx8 hat geschrieben:da es mein Ziel ist zu wissen, wie ich aus einem beliebigen Programm den Wert einer bestimmten Variable auslesen kann
1. Variablen existieren nicht mehr in einer Executable.
2. Jedes Programm hat seinen eigenen virtuellen Speicher.

Ohne vorhergehende Maßnahmen, ist es unmöglich, x aus irgendeinem Programm, festzustellen.

Ansonsten einfach mal nach Trainer suchen.

Gruß
Thomas

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 01.02.2015 20:27
von k11kx8
In dem Falle habe ich von der Variable im Quellcode gesprochen
Das jedes Programm seinen eigenen Speicherblock hat, ist mir klar
Ich habe schon nach vielen Dingen gesucht aber nichts hilfreiches gefunden, daher frage ich ja hier,
soweit ich weiß kann ich mit Openprocess oder so die Permissions dafür bekommen
und dann mit Readmemoryaddress(processhandle,speicheraddresse,buffer,größe des buffers,gelesene bytes)
den Wert der jeweiligen Addresse auslesen, jedoch hat dies auf jede Art und Weise wie ich es bisher probiert habe noch nicht funktioniert
Wäre nett wenn mir da jemand etwas sagen bzw schreiben könnte :D

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 02.02.2015 00:20
von Bisonte
Wie gesagt : Mal nach Trainer suchen.

Zum anderen würde es auch helfen, wenn man wüsste, welches Programm, das nicht von Dir ist, ausgelesen werden soll.
Es gibt Programme, da haben die Entwickler manch ein "Teufelszeug" erfunden, um es so einem schwerer zu machen, etwas
auszulesen oder gar zu ändern...

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 02.02.2015 00:25
von k11kx8
Es geht mir ja nicht darum von einem bestimmten Programm auszulesen,
sondern generell z.b. von einem mit dem oben beschriebenen Quellcode, wenn ich wüsste
wie dies gehen würde, würde ich bei komplexeren Programmen dies schon rausfinden können :D

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 08.02.2015 14:08
von k11kx8
Also kann man davon ausgehen das ihr davon keine Ahnung habt?

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 08.02.2015 14:19
von edel
Du kannst annehmen was du willst, oben steht allerdings wonach du suchen kannst. Im Forum gibt es mehr als genug Beispiele.

Re: Inhalt einer Speichaddresse auslesen

Verfasst: 09.02.2015 23:06
von k11kx8
Ich habe danach gesucht aber keine guten/sinnvollen gefunden,
daher frage ich ja :mrgreen: