c - 忽略系统调用

标签 c linux gcc x86 ptrace

我知道您可以使用 ptrace 捕获系统调用。但我想做的是忽略系统调用。那么 ptrace 是否有可能捕获系统调用,查看其编号,如果该编号是必须忽略的系统调用,则 ptrace 会停止系统调用从继续或让系统调用立即返回。

关键是我们应该通过使用 ptrace 让应用程序忽略特定的系统调用。

最佳答案

您可以尝试 PTRACE_GETREGSPTRACE_SETREGS
如果您将 eip 更改为在系统调用之后,并且将 eax 更改为使返回值有效,则可能会跳过该调用。
但我没有尝试过,如果它不起作用也不会感到惊讶。

关于c - 忽略系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8840898/

相关文章:

c - 程序在c中打印两个整数之间的阿姆斯特朗数字。无法找到代码中的错误

linux - 如何有效地使用 grep?

c++ - 使用 GNU 工具链从文件中解析 C++ 函数头

c++ - 使用 lambda 时 undefined reference

c - 删除对 printf 内置函数的引用

c++ - 如何使用 fastcgi C/C++ 应用程序访问 POST 请求的主体

c - 使用预增量和后增量运算符时宏的奇怪结果

c - 为什么在数组界限之外访问索引时,我的代码为什么不分段?

android - 如何在编译android内核期间修复函数的隐式声明

python - 从 Rails 调用 bash 命令时如何设置系统变量(例如 $PYTHONPATH)?