Speicher auslesen für Einsteiger


Diesmal soll es um ein etwas technisches gehen und zwar das Auslesen des Hauptspeichers. Zunächst wird in Linux ein Prozess im Hintergrund gestartet und zwar „top“. Von diesem benötigt man zuerst die PID, die dann wiederum für gcore benutzt wird um den Inhalt des RAMs zu sichern. Die sogenannte Core-Datei lässt sich jetzt nach Mustern absuchen. Im Beispiel wird nach dem Textstring „load average“ gesucht, der bei top an prominenter Stelle angezeigt wird.

top
ps -e
sudo gcore 3431
objdump -s core.3431 | grep -i 'load average'

Aber geht das auch mit größeren Anwendungen? Ja, wenn man den Coredump von Firefox erzeugt, hat man eine Datei die 500 MB groß ist. Erzeugt wird dabei nur die Momentaufnahme, also das was gerade im Speicher war.

Ebenfalls interessant ist ein Coredump vom Geoclue Prozess. Wenn man diesen nach bekannten SSID Namen durchsucht wird man feststellen, dass Geoclue im RAM alle Namen bereithält die es aktuell empfangen kann. Um beispielsweise zu testen, ob Geoclue auch brav die Fritzbox bei sich im Speicher hält reicht folgender Befehl:

objdump -s core.1170 | grep -i 'fritz'
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s