Add jzlzma (Ingenic LZ77) detection and extraction#957
Open
CapnRon wants to merge 2 commits into
Open
Conversation
Detects the mark_rootfs_lzma wrapper (magic 0x27051956) used by Ingenic T10/T20/T30/Zeratul/etc SoC firmware for kernel and rootfs images. - src/signatures/jzlzma.rs: magic + parser - src/structures/jzlzma.rs: header struct parsing - src/extractors/jzlzma.rs: internal extractor using embedded Python script - scripts/jzlzma/jzlzma_decompress.py: decompressor (supports wrapped, raw, and standard LZMA Alone formats) - cliparser.rs: fix num_args 1.. to 1 for -x/-y (was eating positional arg) Signed-off-by: CapnRon <capnron@users.noreply.github.com>
Previously the uImage extractor only carved the payload to disk when the data CRC matched. Some uImages have a valid header but a mismatched data CRC (e.g. when the payload uses a different compression than the header claims). This change warns on CRC mismatch but still carves the data.
Author
|
If you like a firmware to test, one is located here with a jzlzma kernel uimage. Another new firmware with a jzlzma rootfs should be added soon that I can link to then https://github.com/themactep/ipc-firmware/blob/master/wansview_a1-t23zn-atbm6461-stock.bin |
Author
|
here is a firmware with lzjzma rootfs https://github.com/themactep/ipc-firmware/blob/master/kiwibit_bc111-t23zn-unk-aiw4211l-virgin.bin |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds support for the Ingenic LZ77 variant used in T10/T20/T30/Zeratul SoC firmware for kernel and rootfs images.
Detects the
mark_rootfs_lzmawrapper header (magic0x27051956) and extracts using an embedded Python decompressor that handles wrapped, raw, and standard LZMA Alone formats.Fixes a minor clap bug in
-x/-yflags (num_args = 1..was eating the positional file argument).