Kod:
unit Unit1;
interface
public
{ Public declarations }
procedure LockSystem; //Blokujemy system
procedure UnLockSystem; //I odblokowujemy
end;
var
Form1: TForm1;
HookID: HHOOK; //ID naszego Hooka. Żeby można było z powrotem wyłączyć
{ Typ TKbdDllHookStruct wykorzystywany przez Hook niskiego poziomu na klawiaturę. Delphi niestety nie zapewnia }
type
PKbdDllHookStruct = ^TKbdDllHookStruct;
TKbdDllHookStruct = record
vkCode,
ScanCode,
Flags,
Time,
dwExtraInfo: Integer;
end;
const
WH_KEYBOARD_LL = 13; //nr hooka niskiego poziomu. Delphi nie zapewnia tej stałej.
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
function LLKeyHookFunc(HookCode: Integer; KeyCode: wParam; KStrokeInfo: lParam): LResult; stdcall;
var
Struct: PKbdDllHookStruct; //Wskaźnik do struktury, w której otrzymamy informacje o stanie klawiatury
begin
Struct := Ptr">Ptr(KStrokeInfo);
Result := 0;
if (HookCode >= 0) then
begin
{ Blokujemy kombinację Ctrl+Esc }
if (Struct.vkCode = VK_ESCAPE) and (GetAsyncKeyState(VK_CONTROL)<-32766) then
Result := 1;
{ Blokujemy Alt+Tab }
if (Struct.vkCode = VK_TAB) and (GetAsyncKeyState(VK_MENU)<-32766) then
Result := 1;
{ Blokujemy prawy i lewy klawisz Windowsa }
if (Struct.vkCode = VK_LWIN) or (Struct.vkCode = VK_RWIN) then
Result := 1;
end;
//Jeżeli kombinacji nie chcemy blokować, to przekażmy informacje dla innych okien
if (Result = 0) then
Result := CallNextHookEx(HookID, HookCode, KeyCode, KStrokeInfo);
end;
{ Załóżmy Hook na system }
procedure TForm1.LockSystem;
begin
HookID := SetWindowsHookEx(WH_KEYBOARD_LL, @LLKeyHookFunc, hInstance, 0);
end;
{ Na koniec trzeba oczywiście wyłączyć. Nie chcemy stale blokować sobie klawiatury }
procedure TForm1.UnLockSystem;
begin
UnHookWindowsHookEx(HookID);
end;
{$R *.dfm}
end.
robie wlasnie keyloggera zapisalem go w pliku .exe ale jak odpalalam nic sie niepojawia zagladam do msconfig i nic nowego nieprzybylo :/