Parsing Call and Ret with ptrace.

自作多情 提交于 2019-12-03 07:09:07

You for example miss indirect calls like

callq *(<expr>)

which use other opcodes. Libc standard initialization routines make use of these. Depending on the expression several opcodes are possible, two examples:

ff d0                   callq  *%rax
41 ff 14 dc             callq  *(%r12,%rbx,8)

It's probably not easy to get them all. Maybe it would be easier and cleaner to decode the instructions with a library like libbfd and libopcodes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!