gpt4 book ai didi

c - 在没有 LD_PRELOAD 的情况下在用户级别拦截系统调用

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:00 25 4
gpt4 key购买 nike

在我的程序中,我想拦截同一进程中用户级别的每个系统调用(我不想使用单独的进程,例如 ptrace 或工具,例如 跟踪)。我也不想使用 LD_PRELOAD。我怎样才能做到这一点?

最佳答案

使用 C 宏。它是这样工作的:

  1. 创建一个头文件,为您要跟踪的每个系统调用定义一个宏。示例:open()

    #define open(path,flags,mode)  mySpecialOpen(path,flags,mode)
  2. 创建一个库,其中包含将调用转发到系统调用的 mySpecial*() 函数。编译没有头文件的库。

  3. 使用上面的头文件编译您的代码(以及您使用的所有库)。与图书馆的链接。

关于c - 在没有 LD_PRELOAD 的情况下在用户级别拦截系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10515517/

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