2016-07-01 5 views
0

Gibt es ein Äquivalent von ReadProcessMemory Windows-Funktion zum Lesen (oder Schreiben) in einem anderen Prozessspeicher? Ich habe versucht, eine gemeinsam genutzte Bibliothek vorab zu laden, ich habe auch versucht zu debuggen (ptrace, peek und poke Speicher). Es scheint zu funktionieren, aber ich frage mich, ob es nicht eine einfachste Weg ist ...ELF lesen/schreiben in anderem Prozessspeicher

+1

Was hat das mit ELF zu tun? – melpomene

Antwort

1

Gibt es ein Äquivalent von Readprocessmemory

Ja: man ptrace (PTRACE_PEEKDATA, etc.)

die ptrace Schnittstelle ist allgemein für UNIX, und hat nichts mit ELF zu tun (dh es funktioniert auch auf Systemen, die COFF oder AOUT als ihre normalen ausführbaren Format verwenden).

Ist dies der einfachste Weg?

Es ist die nur Weg auf den meisten UNIX-Plattformen.

Unter Linux können Sie auch lesen/schreiben /proc/$pid/mem. Beachten Sie jedoch, dass viele Kernel dies aus Sicherheitsgründen deaktivieren (mit dieser Datei lesen/schreiben ist eine riesige Sicherheitsangriffsfläche).

Auf Solaris gab es eine andere /procinterface, aber (soweit ich das beurteilen kann) wurde es auf keinem anderen System übernommen.

+0

OP Zitiert: „* i auch debug (ptrace versucht haben, ... Ich frage mich, ob es nicht eine einfachste Weg ist *“ – melpomene

+0

Ja ich dies versucht haben, aber ist es eine einfache Art und Weise – Bob5421

+0

@ Bob5421 ich habe.? aktualisiert die Antwort –