什么是最好的方法来从跟踪器中进行系统调用,使系统调用像被跟踪者调用一样执行?我希望不需要写入跟踪者的文本页面。
如果被跟踪进程是一个动态可执行文件,则动态链接器保证有一个系统调用的指令。跟踪器可以找到并将指令指针设置为该指令。实际上,静态可执行文件在文本中某个地方都有该指令。
如果最好的方法是将系统调用指令写入文本中,那么
如果被跟踪进程是一个动态可执行文件,则动态链接器保证有一个系统调用的指令。跟踪器可以找到并将指令指针设置为该指令。实际上,静态可执行文件在文本中某个地方都有该指令。
如果最好的方法是将系统调用指令写入文本中,那么
PTRACE_POKETEXT
会自动将目标页面更改为可写吗?如果它不这样做,我们就会遇到先有鸡还是先有蛋的问题。如果它这样做了,那么跟踪器是否负责将页面改回只读状态?