我知道您可以使用 ptrace 捕获系统调用。但我想做的是忽略系统调用。那么 ptrace 是否有可能捕获系统调用,查看其编号,如果该编号是必须忽略的系统调用,则 ptrace 会停止系统调用从继续或让系统调用立即返回。
关键是我们应该通过使用 ptrace 让应用程序忽略特定的系统调用。
最佳答案
您可以尝试 PTRACE_GETREGS
和 PTRACE_SETREGS
。
如果您将 eip
更改为在系统调用之后,并且将 eax
更改为使返回值有效,则可能会跳过该调用。
但我没有尝试过,如果它不起作用也不会感到惊讶。
关于c - 忽略系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8840898/