Question

Je veux extraire le firmware de mon routeur et le modifier.j'ai donc utilisé le kit de modification du firmware de bitsum.il semble qu'il n'y ait pas d'erreur.Je peux obtenir le répertoire image_parts également il y a un fichier rootfs.img (image squashfs).mais le problème est que je ne peux ni le monter ni les unsquashfs.

Voici la sortie d'extraction:

# ./extract-ng.sh AirTies_Air5021RU_FW_1.2.0.16_FullImage.bin
Firmware Mod Kit (extract-ng) 0.69 beta, (c)2011 Craig Heffner, Jeremy Collake
http://www.bitsum.com

Scanning firmware...

DECIMAL    HEX          DESCRIPTION
-------------------------------------------------------------------------------------------------------
65228      0xFECC       Squashfs filesystem, big endian, version 2.0, size: 1369418 bytes, 382 inodes, blocksize: 65536 bytes, created: Tue May  3 13:44:22 2011

Extracting 65228 bytes of  header image at offset 0
Extracting squashfs file system at offset 65228
Extracting 160 byte footer from offset 1972107
Extracting squashfs files...
Firmware extraction successful!
Firmware parts can be found in 'fmk/*'

Sortie de la tentative de montage:

fmk# ls
image_parts  logs  rootfs
fmk# cd image_parts/
fmk/image_parts# ls
footer.img  header.img  rootfs.img
fmk/image_parts# file rootfs.img 
rootfs.img: Squashfs filesystem, big endian, version 2.0, 1369418 bytes, 382 inodes, blocksize: 65536 bytes, created: Tue May  3 13:44:22 2011
fmk/image_parts# mount rootfs.img /mnt/rootfs/ -o loop -t squashfs
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
fmk/image_parts# dmesg | tail -n 1
[24799.284066] SQUASHFS error: Can't find a SQUASHFS superblock on loop0

sortie de tentative de unsquashfs:

fmk/image_parts# unsquashfs rootfs.img 
Reading a different endian SQUASHFS filesystem on rootfs.img
Parallel unsquashfs: Using 1 processor
336 inodes (377 blocks) to write

[=============================|                                                                                  ]  99/377  26%
gzip uncompress failed with error code -3

Failed to write squashfs-root/lib/libqueue.so, skipping
[=============================|                                                                                  ] 100/377  26%
gzip uncompress failed with error code -3

gzip uncompress failed with error code -3

gzip uncompress failed with error code -3

...


Failed to write squashfs-root/lib/modules/2.6.8.1/extra/blaa_dd.ko, skipping
[====================================|                                                                           ] 123/377  32%
gzip uncompress failed with error code -3

gzip uncompress failed with error code -3

...

Failed to write squashfs-root/webs/management/ui_password.html, skipping
[========================================================|                                                       ] 191/377  50%
gzip uncompress failed with error code -3

Failed to write squashfs-root/webs/index.html, skipping
[========================================================|                                                       ] 192/377  50%
gzip uncompress failed with error code -3

...


Failed to write squashfs-root/usr/sbin/brctl, skipping
[===============================================================================================================|] 377/377 100%
created 188 files
created 46 directories
created 52 symlinks
created 95 devices
created 1 fifos

J'ai cherché "code d'erreur -3", c'est Z_DATA_ERROR (les données sont corrompues ou incomplètes). maintenant que dois-je faire?

merci

Était-ce utile?

La solution

Les images du firmware Bcm63xx ont un format spécial comme squashfs-lzma.J'ai quelques outils pour extraire des images de micrologiciel nommées outils bcm (brfwmod.exe).Il a une commande nommée lzma-unsquash.J'ai réussi à le décompresser avec ces outils.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top