Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from ReFirmLabs:master #36

Open
wants to merge 198 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
198 commits
Select commit Hold shift + click to select a range
6e10c7f
Initial lint fixes
devttys0 Oct 19, 2024
047d734
More linting
devttys0 Oct 19, 2024
56be394
More lint fixes
devttys0 Oct 19, 2024
8583de5
Lint fixes in signatures
devttys0 Oct 20, 2024
8a45fa9
Lint fixes in extractors
devttys0 Oct 20, 2024
fae9bfb
Code formatting
devttys0 Oct 20, 2024
0d9922c
Lint fixes in binwalk.rs, common.rs, lib.rs
devttys0 Oct 20, 2024
c1140ee
Lint fixes in signatures & extractors
devttys0 Oct 21, 2024
cc14a29
Lint fixes complete
devttys0 Oct 21, 2024
023d124
Merge pull request #705 from ReFirmLabs/lint-fixes
devttys0 Oct 21, 2024
bc58862
Added load address info to uImage output
devttys0 Oct 21, 2024
c58932f
feat(gh-workflow-quality): add lint check
banditopazzo Oct 21, 2024
2d563ff
Merge pull request #706 from banditopazzo/gh-wf-lint
devttys0 Oct 21, 2024
e4fe3c3
Fixed docker issues
devttys0 Oct 22, 2024
5e77081
Merge pull request #707 from ReFirmLabs/extractor-cleanup
devttys0 Oct 22, 2024
9cc9919
Fixed symlink target paths to be relative, rather than absolute
devttys0 Oct 22, 2024
362922f
Remove unecessary leading './' in some symlink paths
devttys0 Oct 22, 2024
24a2a96
Fixed bug in create_symlink if chroot directory is '/'
devttys0 Oct 22, 2024
0eb397b
Added TP-Link RTOS firmware header signature
devttys0 Oct 23, 2024
8cf3dce
Fixed how LZMA uncompressed size field is displayed
devttys0 Oct 23, 2024
d72edf2
Added major/minor hardware rev to TPLink RTOS signature
devttys0 Oct 23, 2024
64452b5
Merge pull request #709 from ReFirmLabs/tplink_fw_rtos_sig
devttys0 Oct 23, 2024
81a4755
Added BIN firmware header signature
devttys0 Oct 23, 2024
4c71ce4
Merge pull request #710 from ReFirmLabs/bin-header
devttys0 Oct 23, 2024
3d67da7
Updated arcadyan obfuscation confidence
devttys0 Oct 23, 2024
6c80473
Removed unwrap() from code examples
devttys0 Oct 24, 2024
8d3a998
Merge pull request #711 from ReFirmLabs/no_unwrap_in_examples
devttys0 Oct 24, 2024
909df57
Updated Cargo.toml metadata
devttys0 Oct 24, 2024
bcb1475
Added support for Autel encoded firmware
devttys0 Oct 25, 2024
10d233d
Merge pull request #712 from ReFirmLabs/autel_ecc
devttys0 Oct 25, 2024
5aa5b3e
Added os type 7 to MBR signature
devttys0 Oct 26, 2024
4a39572
Added NTFS support
devttys0 Oct 26, 2024
5ef95bf
Merge pull request #720 from ReFirmLabs/ntfs_support
devttys0 Oct 26, 2024
42f1ece
Added initial APFS signature (extraction not functional)
devttys0 Oct 26, 2024
528c21b
Fixed bug in binwalk::scan while processing short signatures
devttys0 Oct 28, 2024
8581d78
Fixed bug in binwalk::scan while processing short signatures
devttys0 Oct 28, 2024
fa50b61
Added better validation to APFS signatures
devttys0 Oct 28, 2024
c3a38e6
APFS extraction working
devttys0 Oct 28, 2024
b624a5e
Added 7zzs dependency
devttys0 Oct 28, 2024
437db68
Merge pull request #721 from ReFirmLabs/apfs_support
devttys0 Oct 28, 2024
82f1b8f
BTRFS identification working
devttys0 Oct 29, 2024
9391f89
BTRFS signature tested
devttys0 Oct 29, 2024
04329b6
Merge pull request #723 from ReFirmLabs/btrfs_support
devttys0 Oct 29, 2024
e5218f4
extractors/common: support Chroot path on windows
135e2 Oct 29, 2024
0008631
Initial Windows CE signature and extractor functional
devttys0 Oct 30, 2024
cb2206e
Code cleanup, code comments
devttys0 Oct 30, 2024
0fe3520
Merge pull request #726 from 135e2/master
devttys0 Oct 30, 2024
14a891e
Merge pull request #727 from ReFirmLabs/wince
devttys0 Oct 30, 2024
933fc47
Replaced unzip with 7z extractor
devttys0 Oct 30, 2024
aff4781
Added --search-all option
devttys0 Oct 30, 2024
8c1937b
Updated doc tests
devttys0 Oct 30, 2024
cf71533
Merge pull request #728 from ReFirmLabs/full_search
devttys0 Oct 30, 2024
912ce85
Update README.md
devttys0 Oct 30, 2024
5f41f8d
Fixed dependency issue; added README for crates.io
devttys0 Oct 31, 2024
853b883
Merge branch 'master' of github.com:ReFirmLabs/binwalk
devttys0 Oct 31, 2024
4fdab3d
Minor cargo readme change
devttys0 Oct 31, 2024
e0a4434
Update README.md
devttys0 Oct 31, 2024
4011121
Added extraction utility existence tests for extractors a-c
devttys0 Nov 1, 2024
92f7a13
Added extractor definition tests for d-j
devttys0 Nov 1, 2024
eaf8780
Added extractor definition tests for l-s
devttys0 Nov 1, 2024
4b44587
Added extractor definition tests for m-z
devttys0 Nov 1, 2024
d1ecf72
Merge pull request #729 from ReFirmLabs/extractor_unit_tests
devttys0 Nov 1, 2024
88051e4
Added initial integration testing
devttys0 Nov 1, 2024
995081e
Added riff regression test
devttys0 Nov 1, 2024
ec3a7b7
Updated doc tests; added 7z integration test
devttys0 Nov 2, 2024
026dea5
Added bzip2 integration test
devttys0 Nov 2, 2024
7933417
Merge pull request #731 from ReFirmLabs/integration_tests
devttys0 Nov 2, 2024
7159259
Added link time optimization to release builds (fixes issue #730)
devttys0 Nov 2, 2024
bceaa9c
Added support for Dahua ZIP archives
devttys0 Nov 2, 2024
516db49
Merge pull request #733 from ReFirmLabs/dahua_zip
devttys0 Nov 2, 2024
9d70461
Added YAFFS and Squashfs tests
devttys0 Nov 2, 2024
1c41a45
Added Cramfs test
devttys0 Nov 2, 2024
5dc3eeb
Added RomFS test
devttys0 Nov 2, 2024
5eb775a
Added MBR test
devttys0 Nov 2, 2024
d386349
Merge pull request #734 from ReFirmLabs/fs_integration_tests
devttys0 Nov 2, 2024
b83242f
switch from p7zip to 7zip
stkw0 Nov 3, 2024
5590bb2
Merge pull request #735 from OSPG/binwalkv3
devttys0 Nov 3, 2024
fc4308a
Updated dependency from p7zip to 7zip
devttys0 Nov 3, 2024
a9e0189
Fixed openssl signature bug
devttys0 Nov 5, 2024
1d4d3b4
Merge pull request #738 from ReFirmLabs/fix_openssl_sig
devttys0 Nov 5, 2024
7ea0e6c
Adds D-Link firmware signature; adds sanity check to openssl signature
devttys0 Nov 6, 2024
4f6b10c
Merge pull request #739 from ReFirmLabs/dlink_mh01
devttys0 Nov 6, 2024
b29699b
Fixed bug in linux kernel version signature
devttys0 Nov 6, 2024
b404ac4
Added support for uImage headers with invalid CRC's (D-link)
devttys0 Nov 8, 2024
90bca43
Updated version to 3.1.1
devttys0 Nov 8, 2024
434892d
Added explicit little/big endian extraction for squashfs images
devttys0 Nov 14, 2024
ceea16a
Code formatting, doc tests
devttys0 Nov 14, 2024
09bf4db
Merge pull request #743 from ReFirmLabs/sasquatch_endianness
devttys0 Nov 14, 2024
be2b5e8
Added support for extracting CSMan DAT files
devttys0 Nov 15, 2024
ba6d90c
Added support for duplicate key entries
devttys0 Nov 16, 2024
1644f25
Merge pull request #746 from ReFirmLabs/csman_dat
devttys0 Nov 16, 2024
1fbc0cd
Updated MH01 parsing and reported firmware information
devttys0 Nov 16, 2024
abc78bd
Added carving of MH01 firmware images
devttys0 Nov 16, 2024
b179554
Merge pull request #747 from ReFirmLabs/mh01_carve
devttys0 Nov 16, 2024
2e3a723
Added little endian support for CSMAN DAT files
devttys0 Nov 16, 2024
b6f0468
Merge pull request #748 from ReFirmLabs/csman_le
devttys0 Nov 16, 2024
00fb900
Added support for compressed CSMAN files
devttys0 Nov 18, 2024
d5a865f
Merge pull request #749 from ReFirmLabs/csman_no_terminator
devttys0 Nov 18, 2024
bad23fe
Removed debug print
devttys0 Nov 18, 2024
5781db7
Added support for DirectX shader bytecode files
cohaereo Nov 20, 2024
b7abdab
Merge pull request #751 from cohaereo/dxbc-magic
devttys0 Nov 20, 2024
eddfe53
Improved JPEG end-of-file detection
devttys0 Nov 20, 2024
2b0eb60
Merge pull request #752 from ReFirmLabs/improved_jpeg_parser
devttys0 Nov 20, 2024
a8e0459
Added JPEG test
devttys0 Nov 21, 2024
1cb781f
Added JPEG test input file
devttys0 Nov 21, 2024
1674a3a
Added --carve command line option
devttys0 Nov 21, 2024
11df2c6
Changed carved file naming convention; added carving of unknown data …
devttys0 Nov 21, 2024
bd55cfd
Merge pull request #753 from ReFirmLabs/keep_carved_files
devttys0 Nov 21, 2024
485101e
Fixed code formatting in tests
devttys0 Nov 21, 2024
75fc1b2
Merge pull request #754 from ReFirmLabs/fix_tests_code_fmt
devttys0 Nov 21, 2024
f96488a
Move --carve code out of binwalk.rs and into main.rs; support carving…
devttys0 Nov 21, 2024
6d35f01
Merge pull request #755 from ReFirmLabs/mv_carve_to_main
devttys0 Nov 21, 2024
66b2d83
Added support for identifying and validationg D-Link TLV formatted fi…
devttys0 Nov 21, 2024
222ecad
Merge pull request #756 from ReFirmLabs/dlink_tlv_firmware
devttys0 Nov 21, 2024
8d61b23
Added dlink_tlv file carver; updated signature to report encrypted fi…
devttys0 Nov 22, 2024
7251f36
Merge pull request #758 from ReFirmLabs/dlink_tlv_extractor
devttys0 Nov 22, 2024
daccc33
Added DLKE firmware signature and file carver
devttys0 Nov 22, 2024
ec26b0a
Removed debug print
devttys0 Nov 22, 2024
0aee6ce
Fixed jboot signature magic
devttys0 Nov 22, 2024
7aa2ad6
Fixed code formatting
devttys0 Nov 22, 2024
b37cc9b
Merge pull request #759 from ReFirmLabs/dlke_firmware
devttys0 Nov 22, 2024
20da629
Added alternate OKLI uImage signature
devttys0 Nov 22, 2024
0a9472c
Merge pull request #760 from ReFirmLabs/uimage_okli
devttys0 Nov 22, 2024
3df80aa
Added carve.png for wiki entry
devttys0 Nov 22, 2024
9059ab6
Added checksum validation check to zlib
devttys0 Nov 22, 2024
ab742de
Merge pull request #761 from ReFirmLabs/zlib_checksum
devttys0 Nov 22, 2024
7936630
Fixed bug in how many magic patterns were reported to screen; fixed b…
devttys0 Nov 22, 2024
e43c70c
Added support for concatenated XZ streams in a single XZ compressed file
devttys0 Nov 24, 2024
5cb227b
Merge pull request #763 from ReFirmLabs/xz_concat_streams
devttys0 Nov 24, 2024
f784dcb
s/http/https/ for srec downloads
devttys0 Nov 25, 2024
b7944ef
Replaced srec2bin dependency with srec_cat
devttys0 Nov 25, 2024
6f102d2
Merge pull request #765 from ReFirmLabs/srec_cat
devttys0 Nov 25, 2024
085df57
Added common false positive check to openssl signature
devttys0 Nov 25, 2024
75c32b8
Merge pull request #766 from ReFirmLabs/openssl_false_positive
devttys0 Nov 25, 2024
88639a5
Added SHRS firmware signature
devttys0 Nov 26, 2024
97bb6ef
Merge pull request #767 from ReFirmLabs/dlink_shrs
devttys0 Nov 26, 2024
7b63f88
Added ability to stream JSON to stdout
devttys0 Nov 26, 2024
d31f336
Code cleanup
devttys0 Nov 26, 2024
24ccbc4
Merge pull request #768 from ReFirmLabs/json_stdout
devttys0 Nov 26, 2024
f10e5a4
Updated JSON code to use crate::display for writing to stdout
devttys0 Nov 27, 2024
3230d5c
Merge pull request #769 from ReFirmLabs/json_use_display
devttys0 Nov 27, 2024
97c0a2f
Removed panic calls from all but main.rs and doctests
devttys0 Nov 27, 2024
5b49ed3
Merge pull request #770 from ReFirmLabs/remove_panic
devttys0 Nov 27, 2024
f558c86
Added version number details to ZIP file output
devttys0 Nov 27, 2024
d5c1959
Merge pull request #771 from ReFirmLabs/zip_details
devttys0 Nov 27, 2024
dc41a2e
Added more JPEG magics
devttys0 Nov 27, 2024
2c395b3
Merge pull request #772 from ReFirmLabs/more_jpeg_signatures
devttys0 Nov 27, 2024
4ee7831
Disable interactive prompt for password protected archives
devttys0 Nov 27, 2024
18ddb54
Merge pull request #773 from ReFirmLabs/encrypted_zip
devttys0 Nov 27, 2024
e49c68a
Added PKCS DER hash signatures
devttys0 Nov 27, 2024
dda7b83
Merge pull request #774 from ReFirmLabs/pkcs_der_hashes
devttys0 Nov 27, 2024
1716f2f
Added logfs signature
devttys0 Nov 27, 2024
2df9a00
Merge pull request #775 from ReFirmLabs/logfs
devttys0 Nov 28, 2024
1503e53
Some dlink_tlv firmware do not include the checksum in the firmware h…
devttys0 Nov 28, 2024
2645c23
Merge pull request #776 from ReFirmLabs/dlink_tlv_no_checksum
devttys0 Nov 28, 2024
3032340
Added encrpted_img signature
devttys0 Nov 28, 2024
5f923f8
Merge pull request #777 from ReFirmLabs/encrpted_img
devttys0 Nov 28, 2024
0cdaf1a
Added android boot image signature
devttys0 Nov 29, 2024
95cd870
Merge pull request #779 from ReFirmLabs/android_bootimg
devttys0 Nov 29, 2024
298d802
Added Linux ARM zImage signature
devttys0 Nov 29, 2024
e99250e
Merge pull request #780 from ReFirmLabs/linux_arm_zimage
devttys0 Nov 29, 2024
1449472
Fix clippy errors in display.rs
devttys0 Nov 29, 2024
9bc9ccf
Merge pull request #781 from ReFirmLabs/clippy_fix
devttys0 Nov 29, 2024
d73658d
Added U-Boot version signature, fixed openssl signature validation
devttys0 Nov 29, 2024
7fe81a3
Fixed code formatting
devttys0 Nov 29, 2024
f4716ef
Merge pull request #782 from ReFirmLabs/uboot_version
devttys0 Nov 29, 2024
2ca5361
Minor changes to binwalk error handling
P1tt1cus Nov 30, 2024
d5598a0
Reverting changes to src/main.rs
P1tt1cus Nov 30, 2024
20dbd10
Merge pull request #784 from P1tt1cus/master
devttys0 Nov 30, 2024
58c3dc3
Fixed format and clippy warnings
devttys0 Nov 30, 2024
a609599
Added --stdin option
devttys0 Nov 30, 2024
27eb641
Updated tests
devttys0 Nov 30, 2024
052c318
Removed API breakage
devttys0 Nov 30, 2024
a47c0df
Merge pull request #785 from ReFirmLabs/stdin
devttys0 Nov 30, 2024
940aa70
Added DMS firmware signature; added byte-swap extractor
devttys0 Nov 30, 2024
c5b53a3
Merge pull request #786 from ReFirmLabs/dms_short_swapped
devttys0 Nov 30, 2024
6109dd2
Replaced external DTB extractor with an internal one
devttys0 Dec 1, 2024
4bd2697
Merge pull request #787 from ReFirmLabs/dts
devttys0 Dec 1, 2024
703d03d
Added DKBS firmware header signature
devttys0 Dec 2, 2024
487c34d
Merge pull request #788 from ReFirmLabs/dkbs
devttys0 Dec 2, 2024
7b4355f
Added endianness detection for dkbs signatures
devttys0 Dec 2, 2024
ef2c3de
Code formatting
devttys0 Dec 2, 2024
240478a
Merge pull request #789 from ReFirmLabs/dkbs_le
devttys0 Dec 2, 2024
0388cba
Fixed trailing data carve bug
devttys0 Dec 2, 2024
eb51707
Merge pull request #790 from ReFirmLabs/carve_end
devttys0 Dec 2, 2024
cace1bc
Truncate u-boot version string if too long
devttys0 Dec 2, 2024
3e0743b
Merge pull request #791 from ReFirmLabs/uboot_str_limit
devttys0 Dec 2, 2024
1572592
Adds signatures for some known encrypted firmware types
devttys0 Dec 3, 2024
6988c06
Merge pull request #793 from ReFirmLabs/enc_fw_sigs
devttys0 Dec 3, 2024
d751375
Added ability to specify an output file name for entropy plots
devttys0 Dec 6, 2024
b7a2c74
Merge pull request #794 from ReFirmLabs/entropy_output_file
devttys0 Dec 6, 2024
74cf768
Added --png argument; some entropy code clean up
devttys0 Dec 6, 2024
671457f
Merge pull request #795 from ReFirmLabs/entropy_stdout
devttys0 Dec 6, 2024
c96544a
Fixed bug in validating/extracting GPG signed files
devttys0 Dec 6, 2024
fc55626
Code formatting
devttys0 Dec 6, 2024
9e7887b
Merge pull request #796 from ReFirmLabs/gpg_decompress
devttys0 Dec 6, 2024
cd6eebd
Changed -C argument to -d
devttys0 Dec 7, 2024
ff02dc7
Merge pull request #798 from ReFirmLabs/dir_arg_change
devttys0 Dec 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
* text eol=lf
*.md text eol=lf
*.png binary
*.png binary
*.bin binary
25 changes: 25 additions & 0 deletions .github/workflows/quality.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,28 @@ jobs:

- name: Formatting (rustfmt)
run: cargo fmt -- --check

lint:
name: Lint (clippy)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- target: x86_64-unknown-linux-gnu

steps:
- name: Code checkout
uses: actions/checkout@v4

- name: Install Rust toolchain (stable)
uses: dtolnay/rust-toolchain@stable
with:
target: ${{ matrix.platform.target }}
components: clippy

- name: Clippy (all crates)
run: cargo clippy --locked --target=${{ matrix.platform.target }} --workspace --all-targets -- -D warnings

- name: Check build did not modify any files
run: test -z "$(git status --porcelain)"
28 changes: 28 additions & 0 deletions CARGO_README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# binwalk

A Rust implementation of the Binwalk firmware analysis tool.

## System Requirements

Building requires the following system packages:

```
build-essential libfontconfig1-dev liblzma-dev
```

## Example

```
use binwalk::Binwalk;

// Create a new Binwalk instance
let binwalker = Binwalk::new();

// Read in the data to analyze
let file_data = std::fs::read("/tmp/firmware.bin").expect("Failed to read from file");

// Scan the file data and print the results
for result in binwalker.scan(&file_data) {
println!("{:#?}", result);
}
```
34 changes: 33 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 13 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
[package]
name = "binwalk"
version = "3.1.0"
version = "3.1.1"
edition = "2021"
authors = ["Craig Heffner <[email protected]>"]
license = "MIT"
readme = "CARGO_README.md"
repository = "https://github.com/ReFirmLabs/binwalk"
description = "Analyzes data for embedded file types"
keywords = ["binwalk", "firmware", "analysis"]

[dependencies]
log = "0.4.22"
Expand All @@ -13,17 +18,22 @@ entropy = "0.4.2"
colored = "2.1.0"
termsize = "0.1"
crc32-v2 = "0.0.4"
crc32c = "0.6.8"
plotters = "0.3.6"
xz2 = "0.1.7"
bzip2 = "0.4.4"
threadpool = "1.8.1"
serde_json = "1.0"
env_logger = "0.11.5"
flate2 = "1.0.34"
adler32 = "1.2.0"
md5 = "0.7.0"
miniz_oxide = "0.8.0"
aho-corasick = "1.1.3"
serde = { version = "1.0", features = ["derive"]}
clap = { version = "4.5.16", features = ["derive"] }
xxhash-rust = { version = "0.8.12", features = ["xxh32"] }
hex = "0.4.3"

[dependencies.uuid]
version = "1.10.0"
Expand All @@ -33,3 +43,5 @@ features = [
"macro-diagnostics", # Enable better diagnostics for compile-time UUIDs
]

[profile.release]
lto = true
29 changes: 19 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,32 +1,41 @@
FROM ubuntu:24.04

ARG BINWALK_INSTALL_DIR="/tmp/binwalk"
ARG DEFAULT_WORKING_DIR="/analysis"

WORKDIR /tmp

# Update apt and install git
RUN apt-get update && apt-get upgrade -y && apt-get install -y git
# Update apt
RUN apt-get update && apt-get upgrade -y

# Pull down latest Binwalk code
RUN git clone https://github.com/ReFirmLabs/binwalk.git
# Copy over the Binwalk build directory
RUN mkdir -p ${BINWALK_INSTALL_DIR}
COPY . ${BINWALK_INSTALL_DIR}

# Allow pip to install packages system-wide
RUN mkdir -p $HOME/.config/pip && echo "[global]" > $HOME/.config/pip/pip.conf && echo "break-system-packages = true" >> $HOME/.config/pip/pip.conf

# Install all system dependencies
RUN /tmp/binwalk/dependencies/ubuntu.sh
RUN ${BINWALK_INSTALL_DIR}/dependencies/ubuntu.sh

# Install Rust
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y

# Build and install Binwalk
RUN cd /tmp/binwalk && /root/.cargo/bin/cargo build --release && cp ./target/release/binwalk /usr/local/bin/binwalk
RUN cd ${BINWALK_INSTALL_DIR} && /root/.cargo/bin/cargo build --release && cp ./target/release/binwalk /usr/local/bin/binwalk

# Clean up binwalk build directory
RUN rm -rf /tmp/binwalk
RUN rm -rf ${BINWALK_INSTALL_DIR}

RUN useradd -m -u 1337 -s /sbin/nologin appuser
# Create the working directory
RUN mkdir -p ${DEFAULT_WORKING_DIR} && chmod 777 ${DEFAULT_WORKING_DIR}
WORKDIR ${DEFAULT_WORKING_DIR}

WORKDIR /home/appuser
# Run as the default ubuntu user
USER ubuntu

USER appuser
# Enable this environment variable to remove extractor top-level symlink,
# as the symlink target path in the docker environment will not match that of the host.
ENV BINWALK_RM_EXTRACTION_SYMLINK=1

ENTRYPOINT [ "binwalk" ]
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# Binwalk v3

This is an updated version of the Binwalk firmware analysis tool.

It has been re-written in Rust, and is currently in the beta testing phase.
This is an updated version of the Binwalk firmware analysis tool, re-written in Rust for speed and accuracy.

![binwalk v3](images/binwalk_animated.svg)

Expand All @@ -20,6 +18,8 @@ Binwalk can be customized and [integrated](https://github.com/ReFirmLabs/binwalk

The easiest way to install Binwalk and all dependencies is to [build a Docker image](https://github.com/ReFirmLabs/binwalk/wiki/Building-A-Binwalk-Docker-Image).

Binwalk can also be [installed](https://github.com/ReFirmLabs/binwalk/wiki/Cargo-Installation) via the Rust package manager.

Or, you can [compile from source](https://github.com/ReFirmLabs/binwalk/wiki/Compile-From-Source)!

## How do I use it?
Expand Down
15 changes: 7 additions & 8 deletions dependencies/src.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,11 @@ make install
cd /tmp
rm -rf /tmp/dmg2img

# Install srec2bin
mkdir /tmp/srec
cd /tmp/srec
wget http://www.goffart.co.uk/s-record/download/srec_151_src.zip
unzip srec_151_src.zip
make
cp srec2bin /usr/local/bin/
# Install latest version of 7z (static) for APFS support
mkdir /tmp/7z
cd /tmp/7z
wget https://www.7-zip.org/a/7z2408-linux-x64.tar.xz
tar -xf 7z2408-linux-x64.tar.xz
cp 7zzs /usr/local/bin/
cd /tmp
rm -rf /tmp/srec
rm -rf /tmp/7z
6 changes: 3 additions & 3 deletions dependencies/ubuntu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ SCRIPT_DIRECTORY=$(dirname -- "$( readlink -f -- "$0"; )")

# Install dependencies from apt repository
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install \
p7zip-full \
7zip \
zstd \
unzip \
srecord \
tar \
unzip \
sleuthkit \
cabextract \
curl \
wget \
git \
lz4 \
lzop \
device-tree-compiler \
unrar \
unyaffs \
python3-pip \
Expand Down
10 changes: 10 additions & 0 deletions fuzzing/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added images/carve.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading