c++ - 如何在 Ubuntu 的后台进程中获取数据

标签 c++ c linux ubuntu keylogger

我找到了一个 Ubuntu OS 命令,即使程序在后台运行,它也能让程序从键盘读取数据。我试图搜索它很多但没有成功。如果任何 Ubuntu/Linux 程序员知道允许程序执行此操作的操作系统命令,请与我分享。

我是 Ubuntu 编程的初学者。

最佳答案

您可以使用 Linux 输入子系统从鼠标和键盘读取事件。只有当您的应用程序具有必要的权限时,它才会起作用。基本上,您必须以 root 身份运行该应用程序才能正常工作。

如果您不能以 root 用户身份运行,那么无论如何您都不应该尝试监视键盘。

您可以创建一个 X11 应用程序来监控当前 session 中的键盘事件。它只适用于当前用户,在当前图形环境中,可能无法观察特权对话框,例如密码输入。有关详细信息,请查看适用于您的桌面环境的应用程序快捷方式启动器;我听说过的所有 Linux DE 都有一个。

我觉得Linux Journal 的旧文章,The Linux USB Input SubsystemUsing the Input Subsystem , 仍然是 Linux 输入子系统的最佳介绍之一。现在大多数 Linux 发行版也支持 uinput,这是一种类似的设备,允许将输入事件注入(inject)回内核子系统,旨在允许用户空间输入设备驱动程序。它们的接口(interface)在 /usr/include/linux/input.h/usr/include/linux/uinput.h 中描述。我建议你从上面的文章开始,然后再看一些inputuinput示例。

关于c++ - 如何在 Ubuntu 的后台进程中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12744064/

相关文章:

c++ - 查找类复制构造的问题

c++ - 需要帮助优化动态规划问题的解决方案

c++ - 如何在 C++ 中使用 ffmpeg 获取 DirectShow 设备列表?

c - 如何停止 crontrack session

c++ - c/c++ 将位置相关对象转换为位置无关对象

linux - 用于从文本文件访问目录路径的 bash 脚本

c++ - 完美的转发构造函数和继承构造函数

c - char 指针类型的 C 函数有问题,有人可以解释一下吗?

c - 获取管道利用率?

linux - 如何在变量中传递值