Image

Malware giriş.

Malware

BlackNullSec Projeler #2: Keylogger ?

🚀 Amaç: Bu kod, Windows işletim sisteminde klavye hareketlerini (tuş vuruşlarını) arka planda yakalayıp bir metin dosyasına (C:\Windows\Temp\mikail.txt) kaydeden Low-Level Keyboard Hook (Düşük Seviyeli Klavye Kancası) tabanlı bir Windows API programıdır.


Keylogger Projesi.


1. Ayarlar ve Kütüphaneler

Image placeholder

< _CRT_SECURE_NO_WARNINGS:> Güvensiz bulunan fopen gibi standart C fonksiyonlarının derleyici uyarısı vermesini engeller.
<windows.h> Windows API fonksiyonlarını (SetWindowsHookEx, MessageBox, vb.) kullanabilmek için gerekli kütüphanedir.
<HHOOK hHook:> Kurulan klavye kancasının (hook) referans numarasını tutar. Program sonlandırılırken bu kancayı kaldırmak için gereklidir.
<FILE* logFile:> FILE* logFile: Basılan tuşların yazılacağı dosyanın işaretçisidir (pointer).

Image placeholder

<nCode >=0> ve <WM_KEYDOWN:> Bu blok, sadece bir tuşa basıldığı anı (WM_KEYDOWN) filtrelemek için çalışır.
<KBDLLHOOKSTRUCT* kb:> Basılan tuşa ait detaylı bilgilerin (sanal tuş kodu vb.) bulunduğu yapıdır.
<Özel Tuş Kontrolleri:> Enter, Space, Backspace gibi özel tuşlar algılandığında dosyaya okunabilir etiketler ([ENTER], vb.) yazdırılır.
<MapVirtualKey:> Sanal tuş kodunu (Virtual Key) karakter değerine dönüştürür.
<fflush(logFile):> Bellek tamponundaki verileri anında fiziksel dosyaya yazar, böylece program ani kapanmalarda veri kaybetmez.
<CallNextHookEx:> İşlemin zincirdeki diğer programlar tarafından da algılanabilmesi için kancayı bir sonraki zincir halkasına iletir.

Image placeholder

Dosya Açma <(fopen)>: Belirtilen dizinde <(C:\Windows\Temp\mikail.txt)> dosyayı ekleme <(a+)> modunda açar.
Kanca Kurulumu <(SetWindowsHookEx): WH_KEYBOARD_LL> parametresi ile sistem genelinde (global) düşük seviyeli bir klavye dinleyicisi aktive edilir.
Mesaj Döngüsü <(GetMessage)>: Windows uygulamalarının arka planda çalışmaya devam etmesini ve işletim sisteminden gelen olayları (mesajları) yakalamasını sağlayan sonsuz döngüdür.
Temizlik: Program kapatılırken <UnhookWindowsHookEx> ve <fclose> ile kaynaklar serbest bırakılır.

BlackNullSec
“Windows Belleğiyle Konuşan Kodlar”