Thursday, March 3, 2011

foscam-utils - tools for manipulating Foscam firmware images

I've written a small utility to work with Foscam firmware images. Instead of doing everything by hand, this tool can help do the work automatically.

It's available under the GPLv2 in the github repository named foscam-utils. For now, it just displays information found in the firmware header. As the system firmware contains a ZIP file and a ROMFS images, it also displays informations found in the ZIP header and ROMFS header.

There's not much left to write code to automatically extract the ZIP file and ROMFS image.

Example:

$ fcimg system_11.14.2.28.bin
[0x00000000] FIRMWARE HEADER
----------------------------------------
[+0x0C] romfs start     0x000bf7ae
[+0x10] romfs length    722944
----------------------------------------

[0x00000014] ZIP HEADER
----------------------------------------
[+0x0C] lastmod         03-24-10 05:57
[+0x0E] crc32           0x34a595cb
[+0x12] compsize        784186
[+0x16] ucompsize       1666336
[+0x1E] filename        linux.bin
----------------------------------------

[0x000BF7C2] ROMFS HEADER
----------------------------------------
[+0x08] size            722288
[+0x0C] checksum        0xc9e6e53c
[+0x10] name            rom 4cdf0ba4
----------------------------------------

No comments:

Post a Comment