为什么有些固件二进制文件有 1 个以上的文件系统结构

逆向工程 固件 固件分析 垃圾桶
2021-06-27 19:38:19

当我解压并探索固件的打包结构时,我注意到一些固件将具有多个文件系统结构。我似乎找不到任何关于为什么一个设备可能有 1 个文件系统结构(ex squashFS)而其他设备在固件二进制文件中可能有多个结构的文档。

为什么有些供应商似乎在一种文件系统结构中完成所有工作,而其他供应商则使用多种结构?

1个回答

这可能有几个原因:

  • 有时你想要它的一部分读/写,而 squashfs 不支持。其他部分应该总是只读的,所以有壁球将是一个很好的选择。
  • 一些供应商允许包含特定于该 OEM 的更改的 OEM 分区,而这不一定是不同的文件系统,它通常是一个允许读/写访问的文件系统,因此更容易设置或尝试更改
  • 不同的文件系统有不同的优缺点:选择文件系统时还应考虑压缩、读写速度、cpu功率等
  • 从事同一项目的不同开发人员:通常,SoC 制造商会提供使用特定文件系统的参考实现。如果开发人员更喜欢他们决定使用的不同文件系统,那么在不同部分的许多开发人员可以很容易地分开也可能是一个原因。最终,这归结为一个不准确的规范,它为开发人员提供了不应有的选择
  • 有时开发人员只是想尝试不同的东西。虽然产品不应该成为开发人员的游乐场,但有时确实如此