【发布时间】:2016-05-01 18:23:21
【问题描述】:
我正在制作一个有点像 strace 的小程序,除了我让它捕获所有调用和 rets。 由于间接调用,我无法找到获取所有调用和 ret 的方法,我想找到一种方法来获取 ret 操作码源自的函数。你们有什么想法吗?
【问题讨论】:
-
这是什么指令集?
标签: assembly trace low-level ptrace
我正在制作一个有点像 strace 的小程序,除了我让它捕获所有调用和 rets。 由于间接调用,我无法找到获取所有调用和 ret 的方法,我想找到一种方法来获取 ret 操作码源自的函数。你们有什么想法吗?
【问题讨论】:
标签: assembly trace low-level ptrace
您可以模拟ret 的作用:它查看地址%esp 的堆栈,并将EIP 设置为该值。当前堆栈地址之前的指令将是这里的call。
【讨论】:
call,但这样做的方法是从你知道的任何有效点反汇编整个函数,停在ret 读取的地址处.