ptrace使用总结:
- ①fork出子进程,并在调用子进程之前,打上TRACEME标签。
- ②在子进程第一次通知父进程的时候,让子进程追踪孩子(通过发送SET_OPTIONS方法)。这样可以实现传播式的调用。
- ③对于每次等到的信号量进行判断,选取自己需要,一般如果只想知道系统调用信息的话,就可以直接用系统调用相关的0x80中断信息。其他信号量直接用SYSCALL返回,让子进程继续执行。
- ④需要注意区分32位和64位的进程。因为获取syscallid、参数等信息的时候需要用不同的结构体来承载,通常可以用一个union结构体来承载。