Reverse Engineering Asked on January 4, 2021
I’m trying to reverse engineer an old firmware of the D-Link DIR-855. The latest binary can be found here: ftp://ftp.dlink.de/dir/dir-855/driver_software/DIR-855_fw_reva_124eub01_ALL_multi_20130614.zip
A quick binwalk showls the following:
$ binwalk DIR855A2_FW112EUB11.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
18548 0x4874 ARJ archive data, header size: 43, version 11, minimum version to extract: 1, slash-switched, compression method: stored, file type: comment header, original file date: 2008-10-23 09:40:39, compressed file size: 1224754839, uncompressed file size: 0, os: Unix
18601 0x48A9 ARJ archive data, header size: 106, version 11, minimum version to extract: 1, compression method: compressed most, file type: binary, original file date: 2008-10-23 09:40:39, compressed file size: 2019972, uncompressed file size: 8529648, os: Unix
1735997 0x1A7D3D MySQL MISAM index file Version 3
using binwalk -e DIR855A2_FW112EUB11.bin
I was able to unpack the file and receive an img.bin
file.
If I again run binwalk
for that file, it shows me a bunch of random stuff (xml, …). Taking a look at the img.bin
file reveals that it’s unencrypted and uncompressed:
$ hexdump -C img.bin
...
00351990 2d 2d 3e 38 30 32 2e 31 31 64 20 45 6e 61 62 6c |-->802.11d Enabl|
003519a0 65 3c 21 2d 2d 23 65 6e 64 74 72 20 2d 2d 3e 20 |e<!--#endtr --> |
003519b0 3a 3c 2f 6c 61 62 65 6c 3e 0d 0a 20 20 20 20 20 |:</label>.. |
003519c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
*
003519e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c | <|
003519f0 69 6e 70 75 74 20 74 79 70 65 3d 22 63 68 65 63 |input type="chec|
00351a00 6b 62 6f 78 22 20 69 64 3d 22 77 69 72 65 6c 65 |kbox" id="wirele|
00351a10 73 73 5f 64 6f 74 31 31 64 5f 65 6e 61 62 6c 65 |ss_dot11d_enable|
00351a20 64 5f 73 65 6c 65 63 74 5f 26 6c 74 3b 21 2d 2d |d_select_<!--|
00351a30 23 20 65 63 68 6f 20 76 61 72 3d 27 24 28 6b 29 |# echo var='$(k)|
00351a40 27 20 2d 2d 3e 22 20 6f 6e 63 6c 69 63 6b 3d 22 |' -->" onclick="|
00351a50 77 69 72 65 6c 65 73 73 5f 64 6f 74 31 31 64 5f |wireless_dot11d_|
00351a60 65 6e 61 62 6c 65 64 5f 73 65 6c 65 63 74 6f 72 |enabled_selector|
00351a70 28 74 68 69 73 2e 63 68 65 63 6b 65 64 2c 20 26 |(this.checked, &|
00351a80 6c 74 3b 21 2d 2d 23 20 65 63 68 6f 20 76 61 72 |lt;!--# echo var|
00351a90 3d 27 24 28 6b 29 27 20 2d 2d 3e 29 3b 22 2f 3e |='$(k)' -->);"/>|
00351aa0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
00351ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
*
00351ad0 20 20 3c 2f 70 3e 0d 0a 20 20 20 20 20 20 20 20 | </p>.. |
00351ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
*
00351b00 20 20 20 20 20 20 20 20 3c 70 3e 0d 0a 20 20 20 | <p>.. |
00351b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
*
00351b40 20 3c 69 6e 70 75 74 20 74 79 70 65 3d 22 68 69 | <input type="hi|
00351b50 64 64 65 6e 22 20 69 64 3d 22 77 69 72 65 6c 65 |dden" id="wirele|
00351b60 73 73 5f 6c 32 5f 69 73 6f 6c 61 74 69 6f 6e 5f |ss_l2_isolation_|
00351b70 65 6e 61 62 6c 65 64 5f 26 6c 74 3b 21 2d 2d 23 |enabled_<!--#|
00351b80 20 65 63 68 6f 20 76 61 72 3d 27 24 28 6b 29 27 | echo var='$(k)'|
00351b90 20 2d 2d 3e 22 20 6e 61 6d 65 3d 22 63 6f 6e 66 | -->" name="conf|
00351ba0 69 67 2e 77 69 72 65 6c 65 73 73 5b 26 6c 74 3b |ig.wireless[<|
00351bb0 21 2d 2d 23 20 65 63 68 6f 20 76 61 72 3d 27 24 |!--# echo var='$|
...
However, I’m stuck in trying to unpack the img.bin
file. I couldn’t detect any file system in it (with my limited skills). Is there something I’m missing?
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP