我对此有 2 个问题,但如果您愿意,请随时详细说明,我对这个主题非常感兴趣:
他们真的只是逐字节读取直到获得有效指令吗?他们如何知道这是否是有效的指令以及它是哪个?我不认为他们只是将每条指令都存储在一个表中,因为那会非常低效。
在网上找到了这个来源,我认为它大约有 700 行(https://github.com/btbd/disassembler/blob/master/disassembler.c)。如果这样的事情是可能的,为什么还有其他人拥有更多的代码和逻辑?
谢谢!
我对此有 2 个问题,但如果您愿意,请随时详细说明,我对这个主题非常感兴趣:
他们真的只是逐字节读取直到获得有效指令吗?他们如何知道这是否是有效的指令以及它是哪个?我不认为他们只是将每条指令都存储在一个表中,因为那会非常低效。
在网上找到了这个来源,我认为它大约有 700 行(https://github.com/btbd/disassembler/blob/master/disassembler.c)。如果这样的事情是可能的,为什么还有其他人拥有更多的代码和逻辑?
谢谢!
两种主要的反汇编方法是
.text部分(例如ELF 二进制文件的部分)中的所有字节解码为机器代码每个都有其优点和缺点。更多信息可以在重新访问可执行代码的反汇编中找到 。
以下研究报告对开发反汇编程序所涉及的内容进行了探索: