-
-
未解决 [求助] 利用Linux内核的fanotify机制,是否可以在本地文件内容不变的情况下,在某一个进程打开本地文件时,透明地修改文件内容?
-
发表于: 2019-7-11 17:15 2321
-
未解决 [求助] 利用Linux内核的fanotify机制,是否可以在本地文件内容不变的情况下,在某一个进程打开本地文件时,透明地修改文件内容?
2019-7-11 17:15
2321
我在Linux上安装一个agent,想要实现如下效果。
在进程打开本地文件时,本地文件内容实际不变,但是透明地修改进程得到的文件内容。
现在的思路,利用Linux内核监控文件系统变化的机制fanotify,fanotify可以在进程打开本地文件,进行拦截操作,fanotify在拦截之后返回的reponse中包含的信息有进程号、对应本地文件的文件描述符。
已经尝试的方法:根据文件描述符,覆盖文件内容,报“Segment fault”错误。
在对fanotify进行介绍的文档中,有这样的描述“
Fanotify 的通知中包含了被监控文件系统对象的 open fd,应用程序可以直接使用这个 fd 对文件对象进行操作,而不会引起新的通知”。但是,我只能通过open fd查看到被监控的文件系统对象的内容,但是无法修改。我现在认为fanotify只能提供操作文件对象的进程号,想要实现上述效果,需要使用hook的技术。
希望有熟悉fanotify机制、hook技术的朋友指点一二。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
看原图
赞赏
雪币:
留言: