我正在尝试在一个可跟踪的进程中注入代码...我能够正确地读取寄存器(PTRACE_GETREGS)并且PTRACE_PEEKTEXT也可以工作...我已经与GDB进行了验证。但是,如果我用PTRACE_POKETEXT请求调用ptrace,它会返回0,但是在相同的地址再次读取,我没有找到预期的字节: charlong res, data = 0xAABBCCDD;
res = ptrace(PTRACE_PEEKTEXT,
我正在处理ptrace并试图获得我的进程的注册系统调用值(Orig_rax),我对PTRACE_TRACEME请求(tracer/tracee)没有问题,然后我尝试使用PTRACE_ATTACH(在运行时附加进程我知道,PTRACE_ATTACH和PTRACE_SEIZED之间的区别在于,对于process,我需要停止这个过程(我使用PTRACE_INTERRUPT for that)。因此,我所要做的只是解析我的程序,方法是使用PTRACE_SEIZED请求
int Enable ( int pid) int status; {long ret = ptrace(PTRACE_ATTACH, pid, NULL, NULL);
int w = waitpid(-1, &status, 0);main(int arg, char*argv[]) sleep(