C Hilfe: Pointer beliebige Adresse zuweisen

Diskutiere C Hilfe: Pointer beliebige Adresse zuweisen im Developer Network Forum im Bereich Hardware & Software Forum; Hi, ich hab ein Problem: Ich möchte eine vorgegebene Adresse einem Pointer zuweisen und dann den Wert dot ausgeben, das alles in einer Schleife...
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #1
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Hi, ich hab ein Problem:
Ich möchte eine vorgegebene Adresse einem Pointer zuweisen und dann den Wert dot ausgeben, das alles in einer Schleife, sodass ich am Ende quasie alle Werte habe die in meinem Programm sind. Wenn ich dadrin beispielsweise eine bestimmte Zahl habe, ich die nachher aus der Ausgabe dann auch rauslesen kann?
Ist sowas möglich, oder was würdet ihr machen?

MfG
Anno1989
 
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #2
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Einem Pointer kannst Du eine beliebige Adresse zuweisen. Ob du auf diese Adresse auch zugreifen darfst, ist natürlich nicht garantiert.

Die Daten, die Du mit diesem Pointer ausliest, müssen erst interpretiert werden. Sollen die Daten als Byte, Word, Long, signed, unsigned usw. dargestellt werden? Üblicherweise stellt man einen Speicherbereich als Bytes in Hex und als Ascii-Zeichen dar.
Du definierst also einen Zeiger auf unsigned char, liest das Byte dort aus und gibst es z.B. per printf einmal als 8-Bit Hexadezimalzahl und einmal als Zeichen aus. Zeichen mit einem Wert < 32 und >127 werden üblicherweise als . ausgegeben, da sonst evtl. Steuerzeichen die Ausgabe durcheinanderbringen.
 
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #3
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Dazu wollte ich mir die Zeichen erstmal in einer Datei ausgeben, und anschließend in einem Hexeditor ansehen, um auch die mit '.' ausgegebenen Zeichen unterscheiden zu können.
Wie komme ich an den Bereich indem mein Programm läuft?
Kannst du mir vielleicht ein paar Begriffe nennen, nach denen ich mich dazu mal Schlau machen kann, oder soll ich einfach erstmal generell was zum Speicher lesen?

Danke schonmal.
 
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #4
N

nic_power

Senior Moderator
Dabei seit
27.12.2000
Beiträge
7.838
Reaktionspunkte
2
Hallo,

Beschreibe mal genauer was du machen möchtest. Eine Pointer eine beliebige Adresse zuzuweisen ist überhaupt kein Problem (siehe oben).

Wenn Du jedoch auf Daten eines laufenden Prozesses zugreifen möchtest, wird es komplizierter, da Du dir zum einen erstmal die hierfür notwendigen Adressen besorgen musst (beispielsweise aus der Prozessstruktur) und dann auch noch gewährleistet musst, dass ein lesender/schreibender Zugriff überhaupt erlaubt ist.

Üblicherweise werden diese Verfahren von Debuggern angewendet.

Gruss

Nic
 
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #5
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Kannst du mir vielleicht ein paar Begriffe nennen, nach denen ich mich dazu mal Schlau machen kann, oder soll ich einfach erstmal generell was zum Speicher lesen?
Das ist natürlich nie verkehrt. Aus der Bibel für den Windows-Programmierer ;-)
ms-help://MS.MSSDK.1033/MS.WinSDK.1033/memory/base/virtual_address_space.htm
ms-help://MS.MSSDK.1033/MS.WinSDK.1033/memory/base/memory_management.htm

Vielleicht hilft Dir das weiter: Process Status API (PSAPI). Insbesondere QueryWorkingSet.
 
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #6
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Ja, ich möchte, ich nenn es einfach mal so, die Daten aus einem laufenden Prozess bekommen.
Zuerst dachte ich, ich versuchs mal, ob ich es schaffe einfach ein paar definierte Werte im Programm selber auslesen zu können. Dann wollte ich irgendwie mit CreateRemoteThread einfach den Thread in andere Prozesse schleusen und dann die Daten auslesen. So meine Theorie.;)
Weil Taskmanager ist zwar schön und gut, mich würde nur einfahc mal interessieren, was da so alles drin steckt in den einzelnen Prozessen.
Drauf gekommen bin ich durch diese ganzen "Hackits", dass man so etwas auch mal versuchen kann, wie ich mir das vorstelle.
Nur inwiefern das realisierbar ist weiß ich eben nicht.

Edit: Ist File Mapping was für mein Problem?
 
Zuletzt bearbeitet:
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #7
R

retn

Bekanntes Mitglied
Dabei seit
04.10.2007
Beiträge
152
Reaktionspunkte
0
joar theorien gibts viele. crm ist eine davon. api hooking, pe/iat patching und codecaving ein paar andere ;). tsearch und cheateninge können zur laufzeit werte aus prozessen lesen. apis wie readprocessmemory laufen dir dann automatsich übern weg. tuts gibts überall..
 
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #8
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
So, ich habe mich jetzt an diesem Thread Orientiert:
http://powerforen.de/forum/showthread.php?t=222652
Wie bekomme, ich kann den Bereich des Programmes selber auslesen, da ich ja die ADresse der main Funktion habe und somit alles aufwärts quasi in einer Schleife abfragen kann.
Wie finde ich nun aber die Adressen von anderen Prozessen, also die Adressbereiche, die ich auslesen muss, gibt es da eine Funktion zu?

MfG
Anno1989
 
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #9
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
So, sorry für Doppelpost.
Wenn ich mich nicht irre ist doch alles von der adresse 0x0 aufwärts, bis irgendwie 0x0FFFFF oder so Adressbereich des laufenden Prozesses.
Ich hab es dann nun auch geschafft alles auszulesen und den ganzen Inhalt eines Prozesses in eine Datei zu speichern, da es schon sehr viel ist. Wie ich das Ende des vom Prozess benutzten Speicherbereiches bekomme, also die Adresse kann mir das jemand sagen?
 
  • C Hilfe: Pointer beliebige Adresse zuweisen Beitrag #10
R

retn

Bekanntes Mitglied
Dabei seit
04.10.2007
Beiträge
152
Reaktionspunkte
0
wus Oo?
 
Thema:

C Hilfe: Pointer beliebige Adresse zuweisen

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben