arm - 对固件进行逆向工程 - 每四个字节是怎么回事?

标签 arm reverse-engineering router vxworks firmware

所以我决定拿起我的工具来分析路由器固件。一切进展顺利,直到我不得不手动查找片段。我不会用它来打扰你,我真的不想询问有关黑客攻击的事情或帮我一个忙。我确信有人可以向我解释一种模式。 查看十六进制转储,我看到的是:

imgur

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

最佳答案

它是一个arm,请查看arm文档,您会发现对于32位(非thumb)arm指令,前四位是条件代码。大多数情况下,您不执行条件执行,代码 0b1110 是“始终”,因此大多数 ARM 指令都以 0xE 开头。使得挑选一个arm二进制文件变得非常容易。 16位thumb指令也有类似的模式,但出于不同的原因,那么如果你在thumb2中添加它会改变一些......

关于arm - 对固件进行逆向工程 - 每四个字节是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22517711/

相关文章:

reactjs - Prop `aria-current` 不匹配。服务器 : "null" Client: "page"

linux - 如何在进程信号处理程序(armv7-uclibc)中获得正确的回溯?

c++ - GNU ARM 嵌入式工具链与裸机 ARM 架构的普通 gcc/g++ 之间的区别

c - 基于 ARM 的 arduino 型系统比基于 AVR 的系统慢得多

javascript - 了解复杂的 JavaScript 密码算法

angular - 以 Angular 更改零件布线时重新加载组件

c - 无法链接到嵌入式系统上的 gettimeofday,已用时间建议?

c - 逆向工程时结构中的数据类型

assembly - 如何知道应用程序已经处理完文件?

angular - Jasmine Angular 4 单元测试 router.url