我们正在尝试检查我们在本地网络上运行的产品的固件下载。使用命令
binwalk -Me filename
我们生成了一个包含以下内容的文件夹:
184A46C.cramfs
276466C.cramfs
6C.cramfs
C2426C.cramfs
cramfs-root/
cramfs-root-0/
cramfs-root-1/
cramfs-root-2/
Binwalk 似乎已经很好地打开了 CramFS。因此,导航到 cramfs-root 并运行 file 命令,我们看到以下内容:
app.tar.lzma: data
copy_logo: data
cramfs.img: empty
dvrCmd.tar.gz: data
hicore.tar.lzma: data
hisi.tar.lzma: data
logo.tar.lzma: data
misc.tar.lzma: data
new_10.bin: data
player.bin: PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed
start.sh: data
uImage: u-boot legacy uImage, Linux-3.0.8, Linux/ARM, OS Kernel Image (Not compressed), 2854980 bytes, Tue Apr 14 10:16:02 2015, Load Address: 0x80008000, Entry Point: 0x80008000, Header CRC: 0x6C502F38, Data CRC: 0xE9307D6E
version: ASCII text
webs.tar.lzma: data
除了 uImage 文件,它显然包含一个 linux 内核,这里的大多数文件显然是 .tar.lzma 文件。尝试将其中一个作为普通 .tar.lzma 打开对我们不起作用。
tar --lzma -xvf logo.tar.lzma
xz: (stdin): File format not recognized
tar: Child returned status 1
tar: Error is not recoverable: exiting now
尝试别的东西:
unlzma logo.tar.lzma
unlzma: Decoder error
然而,lzmainfo 似乎认为它是有效的,但它正在将其计算为一个可笑的大 PB 文件。我很确定它不是。
lzmainfo logo.tar.lzma
logo.tar.lzma
Uncompressed size: 8351652399384 MB (8757342266336797407 bytes)
Dictionary size: 525 MB (2^29 bytes)
Literal context bits (lc): 0
Literal pos bits (lp): 2
Number of pos bits (pb): 4
如果您愿意查看它,我已将文件上传到此处。