Firmware Modification Kit
This kit gives the user the ability to make changes to a firmware image without recompiling the firmware sources. It works by extracting the firmware into its component parts, then extracting the file system image. The user can then make modifications to the extracted file system, then rebuild the firmware image.
I've written a few custom utilities (i.e. untrx, wrt_vx_imgtool) to support various devices. I've also made modifications to squashfs-tools and added known variants of squashfs.
More device support will come as I have the time and impetus. Anyone who wants to submit patches to support a certain firmware type are encouraged to. This is a F/OSS project, so will thrive only with community support.
Supporting firmware image formats for the following devices:
- WRT54G v1 - v6
- WRT54GS v1 - v6
- WRTSL54G v?
- ASUS WL-330g
- ASUS WL-500g/p
- ASUS WL-520g
- ASUS WL-530g
- Belkin 7230-4 (some versions)
- Belkin 7231-4 (?)
- Buffalo WHR-G54S
- Buffalo WHR-HP-G54
- Siemens SE505
- Trendnet TEW-632BRP
- D-Link DIR615 (maybe, untested)
- many others..
Specific firmware types:
- OpenWrt
- Tomato
- X-Wrt
- DD-WRT v23 for all models
- DD-WRT v24 for some/most models
The following filesystems can be extracted and assembled:
- squashfs 2.x (zlib)
- squashfs 2.x (lzma)
- squashfs 3.x (zlib)
- squashfs 3.x (lzma)
- squashfs 3.x (lzma with prepended encoding params)
- cramfs (zlib)