Frage

in Windows, kann sagen, ich gebraucht DLL Injection habe in einen anderen Prozess zu bekommen. Ich habe auch einige Screencaptures des Speichers auf dem Prozess, den ich in und kennen die Position der Daten injiziert haben getan, was ich will herausziehen. Sagen wir es Daten in dem anderen Prozess bei 0xAAAAAAAA ist, die einen bestimmten Wert enthält. Wie kann ich von diesem Prozess diesen Wert greifen, damit ich es in meiner Injektion App verwenden kann? Da ich in den Prozess injiziert bin, kann ich nur so etwas wie memcpy verwenden?

memcpy(value, 0xaaaaaaaa, 10);

Ich bin es wahrscheinlich mehr beteiligt als dies unter der Annahme?

EDIT:. Zu den Antworten unten, ich sehe nicht, wie WM_COPYDATA mir hilft, wie es für das Senden von Daten an einem anderen Anwendung ist, nicht für Daten aus einer bestehenden Anwendung abrufen

War es hilfreich?

Andere Tipps

In Windows jeder Prozess richtet sich mit seinem eigenen Speicher. Das heißt, man kann nicht so etwas wie memcpy tut mit zwei Zeigern, dass Punkt in dem Speicher von zwei verschiedenen Prozessen.

Sie können jede Option von Interprozess-Kommunikation betrachten. Memory-Mapped-Dateien, Steckdosen, Named Pipes, Ereignisfenstermeldungen

Hier ist mehr Informationen über IPC

Versuchen Sie WM_COPYDATA und nehmen Sie die Hilfe von MSDN, um es gehört.

Die folgenden IPC-Mechanismen unterstützt werden von Windows:

Zwischenablage
   COM
   Data Copy
   DDE
   File Mapping
   Mailslots
   Pipes
   RPC
   Windows Sockets

Weitere Informationen finden Sie hier: Interprozesskommunikation

in Ihrem Fall würde ich WM_COPYDATA Nachricht

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top