2016-09-18 1 views
-1

Ich habe versucht, einen Keylogger auf Ubuntu 16.04LTS für eine Weile jetzt zu machen, und das ist, was ich bisher:Kann nicht erfassen Tastenanschläge in C [Ubuntu 16.04LTS]

#include <stdio.h> 
#include <fcntl.h> 
#include <linux/input.h> 
#include <stdbool.h> 

int main() 
{ 
     char devname[] = "/dev/input/event0"; 
     int device = open(devname, O_RDONLY); 
     struct input_event ev; 
     bool logging = true; 

     while(logging) 
     { 
       if (read(device,&ev, sizeof(ev)) >= 0){ 
         printf("Key: %i State: %i Type: %i\n",ev.code,ev.value,ev.type); 
       } 
     } 

} 

Jedoch, wenn ich kompilieren und ausführen (gcc), es gibt nichts aus! Ich habe versucht, jedes Gerät in/dev/input/by-id andthensome aufgelistet, aber nichts scheint zu funktionieren.

Wenn ich den Code mit GCC kompilieren, erhalte ich die Warnung:

keylogger.c: In function ‘main’: 
keylogger.c:15:7: warning: implicit declaration of function ‘read’ [-Wimplicit-function-declaration] 
    if (read(device,&ev, sizeof(ev)) >= 0){  
    ^

Was ich keine Ahnung, ob dies mit der Funktionalität des Programms zu tun hat.

Jede Hilfe wird geschätzt! Vielen Dank!

+4

'lesen' hat seinen Prototyp in' unistd.h' .. Wann immer Sie diese Art implizite Funktionsdeklaration Warnung bekommen 'Mann ** Funktionsname **' .. 'Mann' hat mehrere Seiten..und' lesen' ist in Seite 2 ... so tun Sie 'Mann 2 lesen' –

+0

@ParnabSanyal Danke, aber leider funktioniert es immer noch nicht. Um zu überprüfen, ist die Standardtastatur in Ubuntu/dev/input/event0, richtig? –

+0

Ich weiß ... Ich habe Ihnen die Lösung nicht gegeben. Ich habe es noch nicht. Ich habe Ihnen den Weg erklärt, implizite Funktionswarnungen zu beheben. –

Antwort

1

Ich fand es heraus, es war eine einfache Sache, keine Superuser-Berechtigungen zu haben. Ich habe die Datei mit sudo ausgeführt und jetzt ist alles in Ordnung.

+0

haben Sie versucht, die ausführbare Datei als 'sudo' auszuführen. Anstatt die Dateiberechtigung zu ändern. –

+0

Ja, aber das schien nicht zu funktionieren. –

+0

Das ist traurig :-(. auf jeden Fall froh, dass Sie es herausgefunden haben. –

Verwandte Themen