Windows: dynamische Code-Injection (Key-Modifier)
-
Hallo und schönen Advent allen. Ich plane ein etwas kompliziertes Vorhaben.
Use Case:
Ihr kennt sicher den Editor/notepad.exe oder auch Notepad++ bei Windows. Ich möchte dynamisch während der Programmlaufzeit den Programmspeicher des notepad.exe-Prozesses durch Code-Injection verändern. Konkret möchte ich Folgendes: Wenn das Fenster geöffnet ist und ein 'a' eingetippt wird, soll 'c' angezeigt/geschrieben werden. Wenn 'b' eingetippt wird, soll 'd' angezeigt werden, usw.Umsetzung:
Ich denke, ich muss dafür den "Key-Listener" des Editors modifizieren. Aber wie?Wie fange ich damit an?
Meine Kenntnisse über "Windows-Prozesse" sind sehr beschränkt und meine C/C++ Skills sind mittelmäßig. Bitte werft mir deshalb keine Sachen an den Kopf.
-
Püschel. Ich denke mal, um nicht bei 0 anfangen zu müssen, brauche ich erst mal ein "Injection-Framework" - aber welches?
Danach werde ich wahrscheinlich die Anwendung beobachten müssen, um die Injektionsstelle zu finden... Anschließend muss ich den Speicher wahrscheinlich so ändern, dass bei Eingaben mein Hook aufgerufen wird.
Klingt nach OP am offenen Herzen... ist es auch.
-
Wie stellst du dir das vor? Normalerweise will man genau so was verhindern.
Du kannst den Prozess aus einer deiner Anwendungen starten, dann kannst du da bestimmte Rückschlüsse auf den Speicher ziehen.
Du kannst dir das hier: https://github.com/T-vK/Memory-Hacking-Class ja mal anschauen.
Sonst würde mir noch sowas wie Dll injection, oder für das spezielle vorhaben, ein Keyboard Treiber einfallen.
-
Danke, ich werde mir es anschauen.