IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Jednoduchý keyloggery v C # 1: Príprava formulára

Vitajte v mojom prvom tutoriálu na www.itnetwork.cz. V tomto tutoriále sa budeme venovať jednoduchému keyloggerov, ktorý vám určite otvorí nové možnosti v programovaní. Určite každého z vás niekedy napadlo, že by si mohol vytvoriť svoj vlastný keyloggerov, ale po nejakom tom googlování vás myšlienka opustila, pretože ste nenarazili na nič, kde by to bolo dobre vysvetlené. Sám som nedávno strávil niekoľko desiatok hodín nad tvorbou keyloggerov. Potýkal sme sa s mnohými a často hlúpymi chybami, ktoré som riešil tu na fóre. Forum. Netvrdím, že to bola cesta ľahká, ale došiel som až na neje koniec. Teda na koniec súčasných požiadaviek.

Je čas teda začať.

Tvorba formulára

Vytvorme teda nový projekt typu: "Windows Forms Application" a pomenujte ho treba "keyloggerov". Vlastnosť formulára FormBorderStyle nastavíme na FixedToolWindow, to kvôli znemožnenie zmeniť veľkosť okna. A vlastnosť MaximizeBox na false, aby nešlo okno maximalizovať. Napíš formulár nejakým zrozumiteľným názvom napr. "Keylogger 1.0 - Vypnutý".

Na formulár umiestnite 3x timer, 1x checkbox, 2x button, 1x textbox

  1. Timer1 premenujte na tCheckKey - tento timer nám bude obstarávať, či bola stlačená klávesa. Zároveň tento timer nastavte na Interval na 1, týmto zaistíme snímanie každú milisekundu.
  2. Timer2 premenujte na tClearField - tento timer nám bude čistiť textbox a zakaždým nám uloží jeho obsah do nejakej premennej pre neskoršie využitie. Rovno tiež nastavíme tento timer na 1000, to znamená, že vykoná kód každú sekundu.
  3. Timer3 premenujte na tCheckHide - tento timer sa bude starať o skrývanie a odkrývanie keyloggerov. Pri tomto timeru nemusíme nastavovať interval, ponecháme ho 100.
  4. CheckBox1 premenujeme na chbCheckRules a upravíme jeho text na niečo takéhoto: "Súhlasím, že nebudem tento keylogger používať protizákoně. Autor nenesie žiadnu zodpovednosť za zneužitie programu."
  5. Button1 premenujte na "btnStart" a napíš ho treba "Štart". Toto tlačidlo zakážte, teda nastavte jeho vlastnosť Enable na false, chceme totiž aby používateľ najskôr súhlasil s pravidlami používania, než bude možné keyloggerov spustiť. Nastavte vlastnosť Enabled na false
  6. Button2 přejmenujste na "btnStop" a napíš ho treba "Stop". Toto tlačidlo takisto tiež zakážte. Nastavte vlastnosť Enabled na false
  7. TextBox1 premenujte na "tbLog" a jeho vlastnosť ReadOnly nastavte na true

Kód

Teraz pristúpime k samotnému písania kódu.

Začnime niečím jednoduchým a to kontrolou, či je zaháčkovanými chbCheckRules Čo teda vyžadujeme? Chceme, že pokiaľ je zaháčkovaný tento checkbox, tak sa nám povolí tlačidlo tbnStart, ak ho odháčkujeme, potrebujeme vypnúť keylogger a znemožnist zapnutí do doby, pokiaľ nebude znovu zaháčkovanými tento checkbox. Celú túto kontrolu budeme vykonávať v udalosti tohto checkbox zvanej "CheckedChanged". Táto udalosť nám stráži, či nastane zmena v zaháčkovanými a je jedno aká. Teda buď zaháčkovanými, alebo odháčkování. Skrátka zmena stavu.

Pokiaľ je teda checkbox zaháčkovaný, povolíme tlačidlo btnStart, inak vypneme keylogger.

private void chbCheckRules_CheckedChanged(object sender, EventArgs e)
{
    if (chbCheckRules.Checked == true) // pokud je zaháčkovaný souhlas s pravidly,
    {
        btnStart.Enabled = true; // povolím tlačítko pro spuštění KeyLoggeru
    }
    else // pokud není
    {
        // pokud je zaháčkovaný souhlas s pravidly užívání, tak
        if (chbCheckRules.Checked == true)
        {
            btnStart.Enabled = true; // povolím tlačítko na spuštění KeyLoggeru
        }
        else
        {
            btnStart.Enabled = false; // jinak ho zakážu
        }
        btnStop.Enabled = false; // vypnu tlačítko pro vypnutí KeyLoggeru
        tCheckKey.Enabled = false; // vypnu timer pro záznam kláves
        tClearField.Enabled = false; // vypnu timer pro vymazávání okna
        tCheckHide.Enabled = false; // vypnu timer umožňující skrývání
        this.Text = "KeyLogger 1.5 - Vypnut"; // nadepíšu okno
    }
}

Vzhľadom k tomu, že veľmi podobný kód ako je pri odháčkování budeme potrebovať aj u tlačidlá btnStop, tak si vytvoríme metódu a nazveme ju: "KeyLoggerOFF". Táto metóda nebude mať žiadne vstupné parametre. Metódu vytvoríme z časti predchádzajúceho kódu. Tú časť, ktorú vložíme do metódy z kódu zmažeme a nahradíme ju volaním metódy. Metóda bude vyzerať takto:

// Metoda pro vypnutí KeyLoggeru
private void KeyLoggerOFF()
{
    // pokud je zaháčkovaný souhlas s pravidly užívání, tak
    if (chbCheckRules.Checked == true)
    {
        btnStart.Enabled = true; // povolím tlačítko na spuštění KeyLoggeru
    }
    else
    {
        btnStart.Enabled = false; // jinak ho zakážu
    }
    btnStop.Enabled = false; // vypnu tlačítko pro vypnutí KeyLoggeru
    tKey.Enabled = false; // vypnu timer pro záznam kláves
    tClear.Enabled = false; // vypnu timer pro vymazávání okna
    tHide.Enabled = false; // vypnu timer umožňující skrývání
    this.Text = "KeyLogger 1.5 - Vypnut"; // nadepíšu okno
}

Teda udalosť "CheckedChanged" bude teraz vyzerať takto:

private void chbCheckRules_CheckedChanged(object sender, EventArgs e)
{
    if (chbCheckRules.Checked == true) // pokud je zaháčkovaný souhlas s pravidly,
    {
        btnStart.Enabled = true; // povolím tlačítko pro spuštění KeyLoggeru
    }
    else // pokud není
    {
        KeyLoggerOFF(); // zavoláme metodu pro vypnutí KeyLoggeru
    }
}

Na tlačidle btnStop do udalosti zvanej Click vložíme volanie našej už vytvorené metódy pre vypnutie keyloggerov. Takto bude vyzerať táto medota:

private void btnStop_Click(object sender, EventArgs e)
{
    KeyLoggerOFF();
}

Rovnako ako sme začali, tak budeme aj pokračovať. Trošku všímavý človek si uvedomuje, že veľmi podobný kód, ktorý je v metóde KeyLoggerOFF budeme aj u tlačidla btnStart. Len znegovaný.

private void btnStart_Click(object sender, EventArgs e)
{
    this.Text = "KeyLogger 1.5 - Zapnut"; // nadepíšu toto hlavní okno
    btnStop.Enabled = true; // povolím tlačítko pro vypnutí KeyLoggeru
    btnStart.Enabled = false; // zakážu tlačítko pro spuštění KeyLoggeru
    tCheckKey.Enabled = true; // zapnu timer pro snímání kláves
    tCheckHide.Enabled = true; // zapnut timer umožňující skrývání
    tClearField.Enabled = true; // zapnu timer pro mazání okna
}

Nabudúce už začne skutočné programovania. Vytvoríme si triedu pre zachytávanie klávesov.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 660x (60.29 kB)
Aplikácia je vrátane zdrojových kódov v jazyku C#

 

Všetky články v sekcii
C # - Pre pokročilých
Článok pre vás napísal Mediel
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování v C#, ThaiBoxu, ženám a posilování :) „Jestliže si vsugerujete neúspěch, pak vás čeká neúspěch. Někdo říká, že je nesmělý, hloupý. Zopakujte si to desetkrát za sebou a vaše nesmělost a hloupost se tím jen prohloubí.“ MUHAMMAD
Aktivity