Windows Hook
Übersicht

![]() |
Der EisvogelBetreff: Windows Hook |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Ich versuche mich derzeit mit DLL-Injection in ein fremdes Programm. Um die DLL in den fremden Process zu injecten verwenden ich Windows-Hooks. Allerdings klappt es nicht so ganz. Die DLL wird in den fremden Process geladen, aber der Windows-Hook ansuch funktioniert nicht so wie er soll. Hier der Code der DLL: BlitzMax: [AUSKLAPPEN] SuperStrict Und hier der Code des Injecters: BlitzMax: [AUSKLAPPEN] SuperStrict Alles wird Ordnungsgemäß gemacht. Aber sobald ich jetzt das Notepad-Fenster aktiviere, beendet es sich ohne irgendetwas. Ich klicke nicht auf das X. Was mache ich falsch? MfG Der Eisvogel |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Höchst wahrscheinlich muss der Callback, wie alle anderen Win32-Funktionen auch, mit stdcall callbar sein, und nicht, wie BMax es von haus aus macht, per cdecl.
Ich bin mir da nich 100% sicher, ob man das mit BMax ändern kann, ich meine aber, es wäre nicht möglich. Lediglich für eingebundene funktionen aus fremden libs kann man die calling convention setzen. Die Folge draus wäre, dass das, was du vorhast, mit BMax nicht möglich ist. |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, dass ich das richtig verstehe: Die DLL muss ich in einer anderen Sprache wie C++ schreiben, aber die Injection ansich kann ich dennoch mit BlitzMax machen? | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Funktion Callback muss halt stdcall sein. Wenn dus irgendwie schaffen solltest, BMax dazu zu bringen, sie als stdcall zu kompilieren, würde es auch in BMax gehen. | ||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK, kann ich meine DLL auch ohne ein Callback injecten? Ich muss leider den Weg über Windows-Hooks verwenden, da meine Ziel-Anwendungen andere nicht zulässt.
Oder gibt es noch einen anderen Weg eine DLL zu injecten? Manuell über CreateRemoteThread und LoadLibary geht es nicht, da die Anwendung das verweigert. Geht es noch irgendwie anders? EDIT: Habe grade gelesen, dass der stdcall durch ein Anhängen von "Win32" hinter der Funktion erreicht wird. Damit sollte es doch dann eigentlich funktionieren, oder? Notepad stürzt aber dennoch ab. |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group