charles2gan / charles2gan/firmware-mod-kit

Unchanged firmware output size doesn't match original size and bricks device

Open
#104 10 comments 0 reactions 0 assignees View on GitHub
auto-migrated Priority-Medium Type-Defect
Dominant language
C
Stars
7
Forks
0
PR merge metrics
No merged PRs in 30d

Description

```
What steps will reproduce the problem?

1. sudo ./extract-firmware.sh wndr3700v4-webflash.bin
#DD-WRT r21676
2. sudo ./build-firmware.sh
#Have tried with -nopad and -min

What is the expected output? What do you see instead?

I've extracted the firmware, changed nothing, and rebuilt it.
Original file size: 19058716
Current file size: 19062812 (plus footer of 0 bytes)
This should be the same size if nothing has changed. Other than that I see no
error messages. If I comment out the size check and let it build normally,
everything seems to build fine. Trying to flash this on a Netgear WNDR3700v4
running DD-WRT bricks it; have to restore using tftp to stock.

What version of the product are you using? On what operating system?

firmware-mod-kit v0.99 on Ubuntu 12.10 Kernel 3.2.0-29

Please provide any additional information below.
I've modified firmware on a variety of Linksys/Cisco routers with no issues
using this exact same build environment.

```

Original issue reported on code.google.com by `mrnova...@gmail.com` on 11 Jun 2013 at 9:46

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with extract-firmware.sh and build-firmware.sh, reproducing the WNDR3700v4 workflow from the issue on the stated firmware-mod-kit version. Compare the rebuilt image size and footer handling with the original, then verify that the resulting firmware does not brick the device when flashed.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
embedded-iot, reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.