《Linux二进制分析》中提到:ptrace 默认会覆盖 mmapa 或 mprotect 的权限,也就意味着用户可以使用 ptrace 往 text 段中写入内容,即便 text 段是只读的。但如果内核采用 pax 或者 grsec 进行了 mprtotect 的限制,加固了段的访问权限,就不可以使用 ptrace 进行修改了。这是一个安全特性。作者在一篇关于 ELF运行时感染的论文(http://vxheavens.com/lib/vrn00.html),在论文中讨论了几种绕过这些限制进行代码注入的方法。
(注:要利用printf打印Elf64_Addr类型的地址时,使用%lx即可)。
注意:
trap = (orig & ~0xff) | 0xcc; 表示下了一个中断。
最后
以上就是单纯星星最近收集整理的关于一个利用ptrace实现的简单调试器的全部内容,更多相关一个利用ptrace实现内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复