نکته ی بعدی اطلاعات مربوط به کی بورده
برای اینکه داده های کی بورد البته به صورت خام رو بخونیم.کافیه فایل معادل اون رو بدست بیاریم و شروع به خوندن اون فایل بکنیم. البته مشکل اینجاست که اون فایل رو باید چجوری باید پیدا کنیم. من با کلی کلنجار رفتن فهمیدم که با این دستور پایین میشه لیست ورودی های سیستم رو بدست آورد
cat /proc/bus/input/devices
از توی اینها باید event متناظر با کی بورد خودتونو بدست بیارید. اگه نتونستید باید یکی یکی ایونت ها رو امتحان کنید
برای سیستم من event4 بود
حالا یه کد به زبان سی هست که باید کامپایل و اجراش کنیم
#include <linux/input.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
int fd;
if(argc < 2) {
printf("usage: %s \n", argv[0]);
return 1;
}
fd = open(argv[1], O_RDONLY);
struct input_event ev;
while (1)
{
read(fd, &ev, sizeof(struct input_event));
if(ev.type == 1)
//printf("key %i state %i\n", ev.code, ev.value);
if(ev.value == 0)
printf(" : [key %i]\n ", ev.code);
}
}
و اما برای اجرا باید به این شکل عمل کنیم
compiled_file /dev/input/eventX
که X معادل همون عددیه که متناظر به کی بورد شماست
با این کار شما یه کی لاگر دارین که هر جای سیستم کلیدی فشرده بشه بهتون نشون میده
ولی هنوز نتونستم داده های هایی که میاد رو تجزیه تحلیل کنم که به چه فرمی هست. دوستان اگه می دونند بگن
با همین روش می تونید اطلاعات ماوس رو هم بدست بیارید و اونو لاگ کنید
اگه بازم موضوعی رو فهمیدم حتما به اشتراک می ذارم.