RemoteAPI - Hook

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
PureFan
Beiträge: 19
Registriert: 10.09.2004 14:40
Kontaktdaten:

RemoteAPI - Hook

Beitrag von PureFan »

Nachdem ich mein neues Projekt im PureArea-Showcase gepostet habe auch nochmal hier: ;)
Der Name ergibt sich durch die von Windows mitgelieferte Funktion

result = SetWindowsHookEx_(idHook, lpfn, hmod, dwThreadId)

Diese Funktion ermöglicht es Nachrichten von anderen Programmen abzuhören und zu verfälschen.
Anwendungsgebiete dafür sind z.B. Programme, die auf eine Tastenkombination reagieren oder die Mausbewegungen aufzeichnen. Aber was, wenn man API-Calls aufzeichnen will?

Dieses Paket, welches die DLL, Beispiele sowie eine Erklärung der Funktionen beinhaltet ermöglicht es ihnen genau dies zu tun!

Features (Version 1.1.0.0):
* Ausführen von WinAPI-Befehlen innerhalb eines fremden Prozesses
* Ersetzen von WinAPI-Befehlen durch eigene Funktionen zum Abfangen/Modifizieren der Parameter (siehe Beispiel)
* Möglichkeiten um Hooks bei seinen eigenen Programmen zu vermeiden

Details zur DLL:
* 14,5 KB (14.848 Bytes)
* 8 Funktionen

Informationen:
* Es ist nicht gestattet die beigelegte DLL zu modifizieren!
* Ich übernehme keinerlei Verantwortung für die bei der Verwendung der DLL evt. entstehenden Schäden!
* Beim Verwenden in einem kommerziellen Projekt ist ein Eintrag in der Readme/Hilfe notwendig.
Downloaden: http://www.purearea.net/pb/showcase/download.php?id=181
Eintrag im ShowCase: http://www.purearea.net/pb/showcase/sho ... p=0&sort=1

Würde mich über ein paar Meinungen und Reports freuen, ob es bei bestimmten Betriebssystemen zu Problemen kommt ;)

EDIT: Zum Testen des Beispiels einfach mit Hilfe der messagebox_hook.exe ein anderes Programm starten, z.b. ein compiliertes PB-Programm, das einen MessageRequester enthält! Wenn alles Funktioniert müsste wie im Beispielsscreen ein anderer Titel und ein Fragezeichen als Icon zu sehen sein ;)

Mfg,
PureFan
Procedure x(a,b,c):If a:ProcedureReturn b:EndIf:ProcedureReturn c:EndProcedure:For I=0 To 6:T.s+Chr(I&1+x(((I&4)/4+(I&2)/2-I&1+1)&6,1,0)<<1+x(I&1-(I&4)/4,1,0)<<2+x((I+2)&7,0,1)<<3+((4-(I+1)&4)/4)<<4+x(3-(I+3)&3,1,0)<<5+64):Next I:Debug T
orange-blue
Beiträge: 556
Registriert: 04.09.2004 22:23
Kontaktdaten:

Beitrag von orange-blue »

Hi, hat jemand noch die files? der link von purearea is leider nimmer aktuell
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Immer doch!

http://www.bradan.eu/files/remoteapi.zip

Den Link müsste er einfach nochmal ändern.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten