我目前正在研究具有 MX25L1606E rom 芯片的 Netgear 路由器,我的目标是提取固件以进行逆向工程,但flashrom不支持它。所以问题是如何通过制作自己的程序或脚本来从 rom 读取数据。我已经尝试过 buspirate,但我不知道从该芯片读取数据的特定 SPI 模式设置是什么。
如果 flashrom 工具不支持 rom 芯片,那么没有它您可以通过哪些方式提取数据?
逆向工程
硬件
2021-07-01 04:08:51
1个回答
首先,您想知道是否有人已经实现了读取该闪存模型所需的协议。您应该尝试搜索您最喜欢的引擎查询,例如 "'model' dump" 或 "dumping 'model' with buspirate" ,其中 'model' 是您的芯片名称。
如果你找不到任何东西,你将不得不自己做。
我刚刚搜索了“MX25L1606E 数据表”,我在第一个结果中找到了有关您的特定芯片的所有所需详细信息:数据表
在那里您会发现它使用 SPI 协议、支持的命令(READ、WRITE 等)以及其他可能很重要的命令。
现在您需要一个可以使用该协议的硬件。巴士海盗很棒并且有文档。您只需要阅读数据表即可发现使用的是哪种 SPI 模式。
您还可以重新利用 Arduino UNO 或 Arduino UNO 克隆板(或任何更强大的 Arduino 版本)。Arduino UNO 可以说 SPI。例如,我这样做是为了读取Nintendo DS 卡带的SPI 闪存。您想使用 Arduino 的 ICSP 引脚连接到您的内存,发送命令和接收数据,将其存储到 arduino 内存中,然后通过 Arduino 的串行连接将其发送到您的 PC。
请注意,Arduino (UNO) 板的可用内存很少,因此您需要以较小的块读取内存。
其它你可能感兴趣的问题