逆向工程固件 - 每四个字节有什么用?

时间:2014-03-19 20:46:41

标签: arm reverse-engineering router vxworks firmware

所以我决定抓住我的工具并分析路由器固件。它非常好,直到我必须手动找到段。我不会打扰你,我真的不想问黑客攻击或帮助我。有一种模式我确定有人可以向我解释。 看看hexdump,我所看到的就是:

imgur

有些字符串会破坏模式,但它几乎一直向下到文件的末尾。
究竟是什么导致这种模式呢? (如果有人愿意提供帮助但需要更多信息:VxWorks 5.5.1 /可能是ARM-9E CPU)

2 个答案:

答案 0 :(得分:8)

它是一个手臂,去看看你会看到的手臂文档,对于32位(非拇指)臂指令,前四位是条件代码。代码0b1110在大多数情况下都是“ALWAYS”,不执行条件执行,所以大多数arm指令都以0xE开头。这使得很容易找到一个arm二进制文件。 16位拇指指令也有类似的模式,但由于不同的原因,那么如果你添加thumb2它会改变一些......

答案 1 :(得分:6)

这仅仅是因为ARM操作码的映射方式,实际上是帮助我“关注”转储以查看其ARM代码。

我建议您浏览ARM Architecture Manual的一部分,了解如何生成操作码。特别是条件。当你总是希望发生某件事时,就会创造出来的