1
I have a D-Link DCS-931L IP camera and it started to lose wifi connection regularly. To debug the problem I tried to log into it, but any remote access is prohibited (except web interface which is useless in my case). So I decided to play with the camera firmware. It was relatively easy to view and extract the firmware content using binwalk:
$ binwalk -t dcs931l_v107_b1.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 uImage header, header size: 64 bytes, header CRC:
0x87952F3D, created: Wed Feb 4 17:09:26 2015,
image size: 128432 bytes, Data Address:
0x80200000, Entry Point: 0x80200000, data CRC:
0x22AE437C, OS: Linux, CPU: MIPS, image type:
Standalone Program, compression type: none,
image name: "SPI Flash Image"
99296 0x183E0 U-Boot version string, "U-Boot 1.1.3"
115616 0x1C3A0 HTML document header
115969 0x1C501 HTML document footer
115972 0x1C504 HTML document header
116171 0x1C5CB HTML document footer
116332 0x1C66C HTML document header
117032 0x1C928 HTML document footer
327680 0x50000 uImage header, header size: 64 bytes, header CRC:
0x99A49EC1, created: Wed Feb 4 17:09:20 2015,
image size: 7383128 bytes, Data Address:
0x80000000, Entry Point: 0x8038D000, data CRC:
0x6FA27193, OS: Linux, CPU: MIPS, image type: OS
Kernel Image, compression type: lzma, image
name: "Linux Kernel Image"
327744 0x50040 LZMA compressed data, properties: 0x5D,
dictionary size: 33554432 bytes, uncompressed
size: 9988726 bytes
The "LZMA compressed data" chunk contains the actual system and it is possible to enable telnet there and make other modifications.
But binwalk seems to be useless for wrapping the system back into a firmware file suitable for downloading into the camera. Can anybody explain or point to a resource explaining how to create this firmware file please?