Skip to content

Read raw images through the shared raw_image module - #206

Merged
abrignoni merged 1 commit into
mainfrom
feat/raw-image-input
Sep 12, 2026
Merged

abrignoni merged 1 commit into
mainfrom
feat/raw-image-input

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Moves VLEAPP's raw image reading onto the shared raw_image module, so all five LEAPP cores read images through one seeker.

  • -t raw and -t iva now use scripts/raw_image.py's FileSeekerRaw, byte-identical to the other cores. -t iva unwraps an image or a file set and answers the Vehicle.json request from the data folder.
  • Same filesystems as before: NTFS, FAT32, exFAT, ext2/3/4, HFS+, APFS, QNX6, QNX4, ETFS, EFS and QNX IFS, read in place with no mounting and no admin rights.
  • The reader (qnxprobe and ewfprobe) is vendored under scripts/vendor/ and guarded by a manifest check in CI.

Live files only; deleted records are not staged. A bare partition image is not re-rooted. F2FS is not read. Encrypted volumes read as ciphertext.

🤖 Generated with Claude Code

-t raw used to run the vendored reader as a subprocess, extract every file of
every volume into a temporary zip, and read that zip. It now uses
scripts/raw_image.py, the module the other LEAPP cores carry byte for byte: the
image is opened in place, its volumes are walked once for their names, and only
the files an artifact's pattern selects leave the image. That removes the
temporary copy, which for a computer acquisition could run to a hundred
gigabytes, and it works in a frozen build, where the subprocess route could not
since sys.executable is the tool itself.

FileSeekerIva keeps unwrapping the Berla export and now reads the image inside
it through FileSeekerRaw, or the extracted file set through FileSeekerZip, with
Vehicle.json staged as a member either way. qnxprobe is re-vendored at 1.26 for
its volumes() call. The seeker tests that pinned the old staging directory and
the volumes.json warnings are replaced by the shared raw image tests and an iVa
test that builds both shapes of export from the NTFS fixture.
admin/scripts/check_vendored.py is the shared manifest checker and fetches each
upstream file at its recorded commit in CI.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@abrignoni
abrignoni merged commit 3d677ed into main Sep 12, 2026
8 checks passed
@abrignoni
abrignoni deleted the feat/raw-image-input branch September 12, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant