gpt4 book ai didi

c - 将变量从 linux 内核传递给进程

转载 作者:太空宇宙 更新时间:2023-11-04 07:59:08 25 4
gpt4 key购买 nike

我想制作一个程序来收集有关用户击键的信息(键码、按下和释放时间),并将它们用作持续验证用户身份的生物特征。我的方法是使用内核模块收集击键(因为你不能仅仅杀死内核模块),然后内核模块会将信息发送到另一个进程,该进程将分析内核模块收集的数据,并将其保存到数据库并将向内核返回一个答案(用户是否通过身份验证),如果用户未通过身份验证,内核将锁定计算机。不会分发整个模块。

我的问题是: 1. 我怎样才能从内核中调用一个进程并向他发送数据? 2. 如何从进程返回消息给内核?

最佳答案

@basile-starynkevitch 的回答和他的论点尽管如此您可以采用的一种方法,它是完全正确的,并且在技术上得到了 linux 内核的允许。

在内核模块中使用内核调用 register_keyboard_notifier() 注册一个键盘通知回调函数。事实上,它正是为此而设计的!

你的通知回调函数看起来像这样:

int keysniffer_callback(struct notifier_block *notifier_block,
unsigned long scancode,
void *param)
{
// do something with the scancode

return NOTIFY_OK;
}

参见 https://www.kernel.org/doc/Documentation/input/notifier.txt对于初学者。

关于c - 将变量从 linux 内核传递给进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47953180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com