-
-
[求助]ptrace(PTRACE_SYSCALL) 时, 修改regs会破坏程序状态吗?
-
发表于: 2016-8-17 10:35 3393
-
标题描述的不是特别清楚:
最近用ptrace()实现一个行为跟踪功能, 在过程中有个问题一直困扰: 用ptrace(PTRACE_SYSCALL) 让目标停在系统调用入口处. 然后修改regs来在目标进程中调用1个任意函数, 最后恢复regs恢复原流程.
每次只要目标处于系统调用入口处时调用其他函数后恢复运行都会出现 "SIGSEGV 段违例(segmentation violation)"异常. 而其他情况下都能正常调用. 我猜测是不是由于修改regs导致原本的系统调用状态被破坏掉了, 不知道大伙有没有这方面经验.
最近用ptrace()实现一个行为跟踪功能, 在过程中有个问题一直困扰: 用ptrace(PTRACE_SYSCALL) 让目标停在系统调用入口处. 然后修改regs来在目标进程中调用1个任意函数, 最后恢复regs恢复原流程.
每次只要目标处于系统调用入口处时调用其他函数后恢复运行都会出现 "SIGSEGV 段违例(segmentation violation)"异常. 而其他情况下都能正常调用. 我猜测是不是由于修改regs导致原本的系统调用状态被破坏掉了, 不知道大伙有没有这方面经验.
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
看原图
赞赏
雪币:
留言: