【发布时间】:2015-07-22 06:19:26
【问题描述】:
如标题所示,我想反汇编elf文件,但是遇到了一个问题,我不知道哪个指令是arm指令,哪个是thumb指令。因为 arm 指令是 32 位的,而 thumb 指令是 16 位的,所以反汇编方式是不同的。那么如何从 hex 指令中检测到 thumb 指令呢?
【问题讨论】:
-
Script/Tool predicate for ARM ELF compiled for Thumb OR Arm 的可能副本。就像在那个问题中一样,总有人可以想出一些在两种模式下运行的病态代码。任何遵循 EABI 并使用标准编译器的东西都很容易确定。我只是拆卸两种方式,几分钟后,很容易看出哪个是正确的。还有,作者的意图和ROP exploitablity不同。
-
它是否由操作系统托管?它是一些引导加载程序代码吗?你是逆向工程、制作工具等吗?问问题的方式太笼统了,任何人都无法给出有意义的答案。但是,可能 重复适用于 Linux ELF 文件(可能也适用于 BSD/Apple)。如果你想要一个漏洞利用,原始代码的意图并不重要。如果你想知道代码在做什么,那就另当别论了。
标签: arm elf disassembly thumb