charles2gan / charles2gan/firmware-mod-kit

Firmware Image Generated Different from Original when nothing changed for its extracted contents

Open
#142 0 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. ./extract_firmware.sh tl-wr842ndv2-webflash-r23838.bin wkdir
2. ./build_firmware.sh wkdir
3.

What is the expected output? What do you see instead?
It is expected the generated firmware (wkdir/new-firmware.bin) is the same as
the original bin file.

Instead the size are the same. However, when doing the "cmp -l" test,
they proved to different from each other.

What version of the product are you using? On what operating system?
OS: Fedora16
Firmware Modification Kit Ver: 0.82
Firmware tested : TPLink tl-wr842ndv2-webflash-r23838.bin

Please provide any additional information below.

config.log - generated during extract

[root@localhost logs]# more config.log
FW_SIZE='8126492'
HEADER_TYPE='trx'
HEADER_SIZE='28'
HEADER_IMAGE_SIZE='983068'
HEADER_IMAGE_OFFSET='0'
FOOTER_SIZE='224'
FOOTER_OFFSET='8126268'
FS_TYPE='squashfs'
FS_OFFSET='983068'
FS_COMPRESSION='gzip'
FS_BLOCKSIZE='131072'
ENDIANESS='-be'
MKFS="./src/squashfs-3.0-lzma-damn-small-variant/mksquashfs-lzma"

```

Original issue reported on code.google.com by `fct1...@gmail.com` on 14 Dec 2014 at 1:55

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with extract_firmware.sh and build_firmware.sh, then review config.log and the configured mksquashfs-lzma path. Reproduce the extraction and rebuild for the listed TP-Link image, compare the original and generated files with cmp, and trace which packaging step produces the differing bytes. Done means an unchanged extracted tree rebuilds byte-for-byte identically.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, shell
Domain
build-system, embedded-iot
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.