我想修改linux的system,我想更改开放的系统调用,所以当我尝试打开一个文件时,我想打开另一个文件,但是我无法在open.c文件中找到可以执行的操作,以及需要处理的变量,希望了解一些信息。在开放的系统调用中有很多syscalls_defines,但是我不知道我可以使用哪一个。我尝试将一些printk()函数添加到open.c中的一些函数中,当我做dmesg时,我得到了输出,但仍然找不到open.c调用的确切函数和要修改的函数。
发布于 2022-05-18 15:15:52
不太确定您想要实现什么,但是如果您只想劫持开放系统调用,而不打算将其应用于机器上的所有进程,则不需要修改内核。在LD_PRELOAD中使用共享库魔术,重新定义libc系统调用包装器可能就足够了。
您可以找到如何使用读和写这里来完成这一任务。但是任何系统调用的想法都是一样的。
https://stackoverflow.com/questions/72285194
复制相似问题