Stegoveritas integration with image transformation and GIF frame extraction#185
Stegoveritas integration with image transformation and GIF frame extraction#185aradhyacp wants to merge 7 commits intoZeecka:mainfrom
Conversation
|
fixes #159 |
|
@Zeecka any updates ? :) |
|
Sorry I missed that PR. I've got few comments:
|
I recommend merging the PR now (to restore functionality and fixes), then follow up in a small PR to implement the grouping of images of stegoveritas. |
|
Ok, go for Option B before merging please. Also can you please provide a time benchmark between stegoveritas VS decomposer on large images to ensure we're not loosing CPU power ? Thanks |
|
Need to be rebased since #186 MR has been merged |
|
sure i will look into it |
Summary
/image/...URLs).-extract_frameswhile still converting RGBA/LA/P static images to RGB to avoid Pillow filter errors.impshim for legacy binwalk imports.Why
Stegoveritas introduced two regressions:
imp, which binwalk’s Python module still imports (triggered by stegoveritas).-extract_frames.Implementation Details
/usr/local/bin/binwalkso apt binwalk is used instead of the pip wrapper.impcompatibility shim at/usr/local/lib/python3.14/imp.pyto satisfy binwalk’s legacy imports.is_animatedis true).results/folder, copy into the submission root, and emit URLs for UI rendering.stegoveritastoWORKER_FILESso archives are downloadable.Challenges & How We Solved Them
impremoval): Added a minimalimp.load_sourceshim so binwalk’s plugin loader works without downgrading Python./usr/local/bin/binwalkafter installing stegoveritas so the system binary is used consistently.-extract_framesreturning nothing on GIFs: Stopped converting animated GIFs to RGB so stegoveritas can access all frames./image/URLs.Testing
docker compose -f compose.dev.yml up --build -dScreenshots
Original GIF
The original GIF used for testing:
Extracted Frames
Frames extracted from the GIF:
JPG Used
The JPG image used for comparison/testing:
Image Transformation
Result after image transformation:
Binwalk Verification
binwalkoutput confirming expected behavior: