标签: assembly trace low-level ptrace
我正在制作一个有点像strace的小程序,除了我让它捕获所有的电话和rets。 由于我无法通过间接调用找到获取所有调用和返回的方法,因此我想找到一种方法来获取ret操作码所源自的函数。你们有没有想过如何做到这一点
答案 0 :(得分:1)
您可以模拟ret的作用:它会在地址%esp处查看堆栈,并将EIP设置为该值。当前堆栈中地址之前的指令将是call用于此处。
ret
%esp
EIP
call