c - 如何防止另一个进程使用 ptrace 调试系统调用
问题描述
在 ptrace 中,我可以使用此步骤调试另一个进程以打印远程进程 call.l 的所有系统调用编号。
- 使用 PTRACE_ATTACH 附加到进程。
waitpid
(带有 `__WALL 标志)以确保远程进程已停止。- 在使用 PTRACE_PEEKUSER 存储系统调用号的寄存器上的 while (cond) 打印
远程进程如何防止这种情况?是否有任何信号可以注册和打印“停止调试我!!”?
PTRACE_ATTACH 为远程进程发送 SIGSTOP,但进程无法处理。并且 PTRACE_PEEKUSER 不向远程进程发送任何信号。
解决方案
推荐阅读
- python - 按元素过滤列表数据帧
- ios - 如何将代码从 swift 3 迁移到 swift 4 或更高版本?
- css - font-face css自定义字体的问题
- android - 将java类连接到包含的xml android
- python - GET 请求 - 计数
- json - 修复 JSON::ParserError: 416: '{' 处的意外令牌而不使用 EVAL
- java - 没有可用的“org.springframework.data.rest.core.util.Java8PluginRegistry”类型的合格bean
- snakemake - 具有特定文件组合作为输入的 Snakemake
- python - 如何修改决策树分类器以排除不可接受的(特征、决策)对?
- linux - Linux命令执行速率限制