我看到二进制翻译通常是基于跟踪的。是因为不能得到函数的边界吗?二进制代码中有功能标签吗?
最佳答案
对此没有简单的答案。您可以搜索 ret
指令,但它们不能保证它们是函数边界,因为您可以从函数中间返回。
搜索类似的内容
mov ebp, esp
在某种程度上会奏效,但同样不能保证。
一些编译器(最著名的是英特尔编译器)会将分支 block 移动到函数结束后,然后跳回函数...
关于c - 如何在二进制代码中找到函数边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7354507/