lewixliu / firmware-mod-kit

Automatically exported from code.google.com/p/firmware-mod-kit
0 stars 0 forks source link

Can't extract cpio archive from Securifi firmware. #119

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Securifi Almond is a wireless router popular on Amazon.com that sports a touch 
screen and claims a high level of security, begging to be reversed. FMK is 
unable to extract its filesystem.

What steps will reproduce the problem?
1. wget http://firmware.securifi.com/AL1/AL1-R196-L299-W33 # from 
http://www.securifi.com/software-update
2. ./extract-firmware.sh AL1-R196-L299-W33

What is the expected output? What do you see instead?

redacted@redacted:~/firmware-mod-kit$ ./extract-firmware.sh ../AL1-R196-L299-W33
Firmware Mod Kit (extract) 0.99, (c)2011-2013 Craig Heffner, Jeremy Collake

Scanning firmware...

Scan Time:     2013-10-31 16:54:13
Signatures:    193
Target File:   /home/redacted/AL1-R196-L299-W33
MD5 Checksum:  d71817f383396e9720a6ac24dae0e804

DECIMAL     HEX         DESCRIPTION
--------------------------------------------------------------------------------
-----------------------
0           0x0         uImage header, header size: 64 bytes, header CRC: 
0x9880FA5E, created: Fri Jun 21 10:21:47 2013, image size: 8239584 bytes, Data 
Address: 0x80000000, Entry Point: 0x80986000, data CRC: 0x7EFA6FF5, OS: Linux, 
CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: 
"Linux Kernel Image"
64          0x40        LZMA compressed data, properties: 0x5D, dictionary size: 
33554432 bytes, uncompressed size: 14582217 bytes

Extracting 0 bytes of uimage header image at offset 0
ERROR: No supported file system found! Aborting...

What version of the product are you using? On what operating system?

0.99 on Ubuntu 12.04.

Please provide any additional information below.

The file system is a cpio archive that I can extract using binwalk with -e and 
-M (recursion). It is buried within other compressed archives, which I imagine 
is the problem here.

$ file AL1-R196-L299-W33
AL1-R196-L299-W33: u-boot legacy uImage, Linux Kernel Image, Linux/MIPS, OS 
Kernel Image (lzma), 8239584 bytes, Fri Jun 21 10:21:47 2013, Load Address: 
0x80000000, Entry Point: 0x80986000, Header CRC: 0x9880FA5E, Data CRC: 
0x7EFA6FF5

This is the output from binwalk -e -M is given here: http://paste2.org/h5KYb9D2

Original issue reported on code.google.com by chao...@minorcrash.com on 31 Oct 2013 at 9:13

GoogleCodeExporter commented 9 years ago
I assume this is unable to happen because fmk doesn't scan recursively?

Original comment by chao...@minorcrash.com on 31 Oct 2013 at 9:15

GoogleCodeExporter commented 9 years ago
Sounds right. If all you need is extraction, Binwalk will do. The FMK is 
designed to handle rebuilding. Firmwares that require recursive extraction are 
not capable of being rebuilt by the FMK, so it doesn't try. That would add a 
whole new level of complexity.

Original comment by jeremy.collake@gmail.com on 31 Oct 2013 at 9:19

GoogleCodeExporter commented 9 years ago
Thank you for getting back to me. For rebuilding, do you have any advice? I 
know this discussion is now beyond the scope of the ticket, so feel free to 
just close and move on.

Original comment by chao...@minorcrash.com on 1 Nov 2013 at 1:52

GoogleCodeExporter commented 9 years ago
You'd just have to do the rebuilding manually. You could create a script to 
automate it. The FMK probably has most/all of the tools you would need. That's 
general advice, I haven't looked at this firmware image, so don't know if there 
are any blockers to a successful rebuild.

Original comment by jeremy.collake@gmail.com on 1 Nov 2013 at 2:20