PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Keylogger mit Hook's oder mit GetAsyncKeyState?



SharkByte~x
08.07.2008, 14:52
Hallo,
und zwar habe ich vor einen Keylogger zu programmieren aber ich weß nicht ob ich dabei auf Hooks zurück greifen soll oder auf GetAsyncKeyState.
Wo liegen die Vorteile bei Hooks und wo bei GetAsyncKeyState?


mfg

BadboyGER
08.07.2008, 15:16
Ich hab meinen mit GetAsyncKeyState abfragen gemacht und er laüft 10 x mal besser als der mit Hook den ich gemacht habe.

]=-antr4xx-=[
08.07.2008, 15:16
+GetAsyncKeyState ist einfacher zu verwenden
-GetAsyncKeyState nutzt die CPU voll aus, d.h. du arbeitest in einer Endlosschleife.

Meiner Meinung nach ist es besser mit Hooks zu arbeiten.

l0dsb
08.07.2008, 15:20
Sollte es dir um eine illegale/"undetected" Variante geben, so sind Hooks leichter zu erkennen - wenn auch leichter zu verwenden.

GetAsyncState nutzt deine CPU nicht voll aus, wenn du einen Timeout mit rein nimmst, also z. B. alle x Millisekunden auf einen Tastendruck überprüfst. Das wiederum ist nicht ganz so effizient, da du so Tastendrücke "verlieren" könntest.

SharkByte~x
08.07.2008, 15:32
Ja es geht mir schon darum das das Prgramm dann UD ist.
Aber bei Hook's benötigt man doch auch eine DLL Datei die immer "mitgeliefert" werden muss?

Mfg

l0dsb
08.07.2008, 16:08
Ja, die .dll ist notwendig.

]=-antr4xx-=[
08.07.2008, 16:11
Ja es geht mir schon darum das das Prgramm dann UD ist.
Mit API-Crypting sollte das zu realisieren sein...

Aber bei Hook's benötigt man doch auch eine DLL Datei die immer "mitgeliefert" werden muss?
Nein eigentlich nicht.

GetAsyncState nutzt deine CPU nicht voll aus, wenn du einen Timeout mit rein nimmst, also z. B. alle x Millisekunden auf einen Tastendruck überprüfst. Das wiederum ist nicht ganz so effizient, da du so Tastendrücke "verlieren" könntest.
ich habe einmal einen mit einem Timeout von Sleep(1); gemacht, und dabei SEHR viele Tastendrücke verloren, kann dir Source mal geben wenn du willst via ICQ...

Hamachi-1
18.09.2008, 21:30
Ich habe GetAsyncKeyState benutzt und wenn ich i.was in nen Editor tippe dann speichert er das zwar und gibt es auch aus aber wenn ich schnell tippe vergisst er einige Buchstaben -.-

Hamtaro
19.09.2008, 09:32
eben ;)
Also nimm Hooks, das ist auf jeden fall die saubere Variante.

ranosu
22.09.2008, 09:29
GetAsyncKeyState liefert dir die zuletzt gedrückte Taste. Es ist dan klar das es bei einer gewissen auslasstung deine Schleife nicht die höchste Priorität hat und deshalb auch mal eine Taste wegfällt. Wenn du einen Hook verwendest bekommst du immer nur ein Call wenn eine Taste gedrückt wird.
Ich denke zum Thema Hooks gibt es Infomationen im Internet.

Um einen Antivirus brauchste du dir keine Gedanken machen falls du managed Programmiersprache benutzt.