/ / Scannen des Arbeitsspeichers in C / UNIX - c, Unix, Betriebssystem

Scannen von Speicher in C / UNIX - c, Unix, Betriebssystem

Ich muss den gesamten Speicher des Anrufers scannenProzess meines Programms und prüfen Sie, welche Blöcke schreibgeschützt, schreibgeschützt oder nicht zugänglich sind. Das klingt ziemlich einfach, aber ich habe Probleme beim Einstieg. Ich frage mich, ob mir jemand in die richtige Richtung weisen kann, indem er relevante Funktionen zum Durchsuchen des Speichers eines aufrufenden Prozesses zur Verfügung stellt

Wie erhalte ich beispielsweise die Start- und Endspeicheradressen des aufrufenden Prozesses?

Antworten:

1 für die Antwort № 1

Dies kann vom Kernel abhängig sein, aber unter Linux kann das Dateisystem / proc darauf zugreifen:

/proc/[pid]/mem Ist der Inhalt des Speichers ein Prozess, so müssen Sie nur die PID Ihrer Eltern identifizieren, und wenn Sie Zugriff haben, können Sie es scannen.

Das tatsächliche Layout der Datei hängt etwas von dem ausführbaren Typ und dem fraglichen Kernel ab.

http://linux.die.net/man/5/proc