前天周末刚把手上的 xdr6086 刷了官方 openwrt ,然后再看到了一系列 nmbm 相关的资料,大概明白了可能存在的风险,所幸我刷机过程比较顺利,没有搞坏引导部分。但也还有些疑问,故特意来请教一下。
背景:
我的 xdr6086 原厂固件较久,使用 openwrt 官方指引的命令注入漏洞可以成功拿到 shell 权限。
刷入 PRELOADER 和 BL3 前在 TP 原厂固件备份了 mtd9 ,应该是整个完整的 nand 内容了,大小正好是 128*1024*1024=134217728
问题:
1 、在原厂固件 shell 环境中备份的 mtd9 是否可以理解为一个准确无误的完整备份?因为 nmbm 对上层透明,上层应用读取的 mtd9 已经过纠错
2 、虽然刷机后正常启动和使用,但刷成官方 openwrt 后由于没有 nmbm 支持,假如 nand 在 factory 分区(校准数据)部分有坏快,原厂 nmbm 机制会将坏快部分的数据存放到冗余区,这可能导致导致官方 openwrt 无法准确读取和使用这部分数据,这个理解是否准确?
3 、假如 2 所述问题存在,是否从 mtd9 备份中提取 factory 及其他关键部分数据,在 op 下重新刷入,能解决无 nmbm 支持环境下的数据准确性问题?
4 、假如后续由于各种原因需要拆 nand 或更换 nand ,涉及到使用编程器将 mtd9 完整备份写入 nand 的步骤,这个 128M 的 nand 如何写入?编程器读出来的完整备份应该是带 BCH 校验的,容量大于 128M
@
bibiisme @
hanwckf 希望两位大佬可以答疑一下
也欢迎其他朋友讨论