Modifying IP camera firmware

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?

Alexei Ustyuzhaninov

Posted 2015-07-25T14:24:12.087

Reputation: 11

No answers