1. hook其它进程的syscall必须先attach, 这就意味着ptrace不能像driver一样坐等其它进程hook. 用ptrace的程序必须先知道要hook谁,attach,然后才能工作。所以ptrace用于hook常驻进程会比较合适。
2. ptrace默认只能hook所有的syscall, 超出syscall 以外的函数需要找到内存中代码段相应的位置进行修改。这是一项较为繁琐且容易出错的工作。
本文探讨了使用ptrace进行进程Hook的两大限制:一是必须先attach目标进程,适合常驻进程Hook;二是默认只能Hook syscall,对于非syscall函数的Hook需手动修改内存代码,过程复杂易错。
1. hook其它进程的syscall必须先attach, 这就意味着ptrace不能像driver一样坐等其它进程hook. 用ptrace的程序必须先知道要hook谁,attach,然后才能工作。所以ptrace用于hook常驻进程会比较合适。
2. ptrace默认只能hook所有的syscall, 超出syscall 以外的函数需要找到内存中代码段相应的位置进行修改。这是一项较为繁琐且容易出错的工作。

被折叠的 条评论
为什么被折叠?