固件是经过压缩的,难怪到现在为止试图确定固件的目标 CPU 一直如此麻烦。
签名扫描显示与 LHA 压缩相关的签名:
$ binwalk gr55.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
4 0x4 LHa (2.x) archive data [lh5] [NSRL|LHA2]
lhasa可用于解压该文件,它会生成一个名为appli.bin
. 此文件的签名扫描产生以下结果:
$ binwalk appli.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
2229080 0x220358 Ubiquiti partition header, header size: 56 bytes, name: "PARTITION#", base address: 0x00040000, data size: 524288 bytes
3513280 0x359BC0 Copyright string: "Copyright"
3527064 0x35D198 Broadcom 96345 firmware header, header size: 256, board id: " 1/8", ~CRC32 header checksum: 0x43452043, ~CRC32 data checksum: 0x43452042
3579113 0x369CE9 VxWorks symbol table, big endian, first entry: [type: uninitialized data, code address: 0xE00, symbol address: 0x13C18800]
7197404 0x6DD2DC Copyright string: "Copyright Kobe Steel Ltd."
7252974 0x6EABEE Copyright string: "Copyright 2004 TEPCO UQUEST, LTD."
请注意,有些可能是误报。例如,我认为 Broadcom 96345 固件通常针对路由器中的 MIPS CPU。需要进一步调查。的熵扫描appli.bin
显示它没有被压缩或加密:
这个二进制文件中有相当多的字符串数据,其中一些可能很有趣。例如,这一点:
$Id: k_version.c,v 1.3 2010/09/22 13:10:33 shigeno Exp $
SHELL for iTRON ver 1.01
===========================================================
Copyright 2004 TEPCO UQUEST, LTD.
Tepco Uquest是一家为嵌入式设备开发中间件的日本公司。
搜索“SHELL for iTRON ver 1.01”的结果如下:
本文档包含相当多的技术信息;例如第 71 页:
它可能包含与识别 CPU 相关的信息,因为讨论了 CPU 的 SH (SuperH) 系列(瑞萨电子 SH7145、SH7727)。
Radare2 支持 SuperH 指令集。
其他字符串包括如下内容:
St.Piano 3
St.Piano 4
St.Piano 5
Brite Piano
Stage Piano
Honky Tonk
LoFi Piano
Piano 1 w
European Pf
Piano 2 w
Honky-tonk
Honky-tonk w
Pop Piano 1
Pop Piano 2
Pop Piano 3
Piano 3 w
Stage EP 1
Stage EP 2
Stage EP Trm
Tremolo EP 1
E.Piano 1
也许不需要逆向工程,只需修补字符串。