gpt4 book ai didi

linux - Hook 内核 sys_read() 不影响文本编辑器

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

所以,我一直在进行一些内核模块编程,并且安装了一个工作模块,该模块可以筛选具有特定名称的文本文件,并将任何出现的单词替换为另一个单词。为此,我通过 Hook sys_open() 跟踪模块中所需的文件,然后在 sys_read() Hook 中进行重写。

但是,只有当我cat文件(或者可能使用awk或bash中的print)时才能看到效果,但在文本编辑器中打开筛选的文件只会显示未筛选的文本。

我的问题是,为什么 Hook sys_read() 不会影响文本编辑器的输出?我尝试过:vi、vim、gedit 和 nano。他们是否以其他方式获取文件内容?我知道它正在调用 sys_read() ,因为我的 printk 调试消息出现在 dmesg 中,但也许它正在丢弃读取缓冲区并使用另一种技术?

只是想知道发生了什么。

最佳答案

可能是您的文本编辑器在编辑文件时使用了单独的临时文件,并且在关闭/退出编辑器时仅以真实姓名保存它。

关于linux - Hook 内核 sys_read() 不影响文本编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23162443/

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