-
-
[讨论] ptrace 取寄存器值得问题
-
发表于:
2018-5-7 10:45
3671
-
#include <sys/ptrace.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/user.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
pid_t traced_process;
struct user_regs_struct regsl;
long ins;
if (argc != 2) {
printf("PID?");
return 1;
}
traced_process = atoi(argv[1]);
ptrace(PTRACE_ATTACH, traced_process,NULL, NULL);
wait(NULL);
ptrace(PTRACE_GETREGS, traced_process,NULL, ®sl);
/* 这两句编译不通过
ins = ptrace(PTRACE_PEEKTEXT,traced_process, regsl.eip, NULL);
printf("EIP: %lx Instruction executed:%lx ", regsl.eip, ins);
*/
ptrace(PTRACE_DETACH, traced_process,NULL, NULL);
return 0;
}
gcc -o hook hook.c
提示:
error: ‘structuser_regs_struct’hasnomembernamed‘eip’
相关文章:https://blog.csdn.net/zgl07/article/details/42914407
我的改成 在x64机器上需要进行修改,改成<sys/user.h>
还是编译不了是什么问题
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课