gpt4 book ai didi

c - insmod:错误:无法插入模块 kprobe_example.ko:不允许操作

转载 作者:行者123 更新时间:2023-11-30 16:57:22 25 4
gpt4 key购买 nike

我指的是: http://www-users.cs.umn.edu/~boutcher/kprobes/kprobes.txt.html了解 kprobe。我使用了文档中给出的 kprobe_example.c。

我使用 makefile 编译了它(代码取自同一文档)

我遇到编译错误,因为我的内核版本是 4.2,并且 struct pt_regs 中的一些字段已更改。所以我用 ip 替换了 eip,用 kprobe_example.c 中的 flag 替换了 eflag,即 https://gist.github.com/murlee417/87c2eb43a6afa1954b05404a07813e81 。然后我就可以编译成功了。

现在,作为 root 用户,我做了:

#insmod kprobe_example.ko

我得到了:

insmod: ERROR: could not insert module kprobe_example.ko: Operation not permitted

我的消息缓冲区有:

#dmesg  
[ 4537.478408] Couldn't find do_fork to plant kprobe

请帮助我解决此错误并使 insmod 正常工作。

最佳答案

在 x86 中 do_fork() 称为 sys_fork(),因此更改代码如下

/* For each probe you need to allocate a kprobe structure */
static struct kprobe kp = {
//.symbol_name = "do_fork",
.symbol_name = "sys_fork",
};

关于c - insmod:错误:无法插入模块 kprobe_example.ko:不允许操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39567227/

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