Speicher scannen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Speicher scannen

Beitrag von sen-me »

Ich hab mal ne Frage, wie kann man sein Speicher nach allem durchsuchen?
Is mal interessant was so alles darin lummert und schlummert.
Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: Speicher scannen

Beitrag von Thorium »

sen-me hat geschrieben:Ich hab mal ne Frage, wie kann man sein Speicher nach allem durchsuchen?
Is mal interessant was so alles darin lummert und schlummert.
Meinst du jetzt den physikalischen Speicher, das Swapfile, beides zusammen oder den virtuellen Prozessspeicher deines Prozesses oder fremder Prozesse. Ich glaube direkten Speicherzugriff bekommst du unter XP nicht so ohne weiteres.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Ja, da hat Thorium recht: Seit Win95 ist der Arbeitsspeicher "manages by Windows" und kann daher kann man nicht mehr "legal" Buffer Underuns erzeugen, und damit Daten von anderen Programmen auslesen oder gar verändern...

Du kannst den Speicer bestimmt auslesen (aber nur mit Hooks) aber adnn weißt du immernoch nicht "was" drin ist.
Wenn du die Zeichenkette "00100030201001010" siehst, weißt du ja nicht gleich, welche Variable das für welches Programm ist, und ob das überhaupt eine ganze Variable ist.
Rausfinden wem diese Zeichenkette gehört ist auch möglich, aber dazu musst du irgendwie n Windows-Hook machen, an dem du sehen kannst, welchen Speicher Windows diesem Programm gerade zugewiesen hat. Er schreibt die Daten ja nicht immer an dieselben Stellen im RAM, weil jeder PV hat ja unterschiedlich viel, und ist immer unterschiedlich voll.

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

Aua, zu kompliziert *direkt löscht die Idee*
Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Den Prozessspeicher fremder Prozesse auszulesen und zu manipulieren ist kein Problem, dafür gibts die API-Funktionen: VirtualQueryEx, ReadProcessMemory und WriteProcessMemory.

Man bekommt halt keinen direkten Zugriff auf den physikalischen RAM, obwohl ich dafür mal irgendwo ne DLL gesehen habe, die das mit irgendwelchen Tricks doch möglich macht.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten