我正在尝试学习固件分析。我选择的设备是我的摩托罗拉 SBG901 调制解调器。我设法使用 FlashcatUSB 适配器通过 JTAG 转储内存内容。内存转储大小约为 8MB。现在这是我迷路的地方,我正在尝试分析转储。但我不知道从哪里开始。我在它上面使用了 binwalk,我相信这会带来误报,因为输出如下:
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
67434 0x1076A Certificate in DER format (x509 v3), header length: 4, sequence length: 803
68243 0x10A93 Certificate in DER format (x509 v3), header length: 4, sequence length: 1024
70361 0x112D9 Certificate in DER format (x509 v3), header length: 4, sequence length: 808
71175 0x11607 Certificate in DER format (x509 v3), header length: 4, sequence length: 988
81036 0x13C8C Certificate in DER format (x509 v3), header length: 4, sequence length: 866
81908 0x13FF4 Certificate in DER format (x509 v3), header length: 4, sequence length: 983
82897 0x143D1 Certificate in DER format (x509 v3), header length: 4, sequence length: 864
89278 0x15CBE Certificate in DER format (x509 v3), header length: 4, sequence length: 803
90087 0x15FE7 Certificate in DER format (x509 v3), header length: 4, sequence length: 1024
92205 0x1682D Certificate in DER format (x509 v3), header length: 4, sequence length: 808
93019 0x16B5B Certificate in DER format (x509 v3), header length: 4, sequence length: 988
102880 0x191E0 Certificate in DER format (x509 v3), header length: 4, sequence length: 866
103752 0x19548 Certificate in DER format (x509 v3), header length: 4, sequence length: 983
104741 0x19925 Certificate in DER format (x509 v3), header length: 4, sequence length: 864
111122 0x1B212 Certificate in DER format (x509 v3), header length: 4, sequence length: 803
111931 0x1B53B Certificate in DER format (x509 v3), header length: 4, sequence length: 1024
114049 0x1BD81 Certificate in DER format (x509 v3), header length: 4, sequence length: 808
114863 0x1C0AF Certificate in DER format (x509 v3), header length: 4, sequence length: 988
124724 0x1E734 Certificate in DER format (x509 v3), header length: 4, sequence length: 866
125596 0x1EA9C Certificate in DER format (x509 v3), header length: 4, sequence length: 983
126585 0x1EE79 Certificate in DER format (x509 v3), header length: 4, sequence length: 864
我相信 binwalk 给出了错误的正输出,因为转储可能不是打包图像。我这样说是因为我还在转储上运行了字符串并收到了很多可读的字符串,一个片段如下所示:
我正在尝试提取固件,以便我可以使用 QEMU 并尝试进行一些漏洞发现。我这样做是为了知识,但我没有阅读转储文件的经验。有人可以指出我如何破译内存转储并最终提取固件的方向。我真的很想学习如何阅读转储,因为我打算分析其他固件,因此我想学习基本知识。例如,我知道有些固件是打包/解包和/或加密/未加密的。它们通常由引导加载程序、操作系统、文件系统、库和应用程序(例如网络服务器)组成。有人可以指出一些有用的资源的方向,这些资源将教我如何读取转储并确定如何使用所有正确的文件(文件系统、引导加载程序、应用程序等)获取固件?
提前致谢
