我正在尝试编写一个允许运行二进制文件的程序,并在请求时用另一个文件替换某个文件。它是一个简单替换系统调用函数的库,与 LD_PRELOAD 一起使用。问题是它捕获打开读取(替代文件被读取),但写入总是回到实际的指定文件。还有其他我应该知道的“开放”系统调用吗?
问问题
1547 次
4 回答
4
没关系——愚蠢的错误。
没有检查绝对路径和相对路径......
于 2009-05-29T01:08:36.747 回答
2
我不确定您的问题的原因是什么,但是在您的程序上使用strace可能会提供一些见解。它应该是任何健全的 Linux 发行版的一部分。
于 2009-05-29T00:34:22.107 回答
2
如果它对写作开放,它很可能会通过该creat
功能(我猜fopen
会将您重定向到那里)。检查您fcntl.h
的完整列表。
于 2009-05-29T00:38:51.193 回答