annkirpv/xt-snappy-fox

GitHub: annkirpv/xt-snappy-fox

Stars: 2 | Forks: 0

# xt-snappy-fox An X-Tension for [X-Ways Forensics](https://www.x-ways.net/forensics/) that automatically decompresses **Mozilla Firefox disk cache (`morgue`) files** during volume snapshot refinement (RVS) or from the directory browser context menu (DBC). Firefox stores cached HTTP bodies Snappy-compressed, so most forensic tools surface only the cache metadata, not the content. `xt-snappy-fox` decompresses each entry and adds the plaintext back into the volume snapshot as a child item (`_decompressed`) — previewable directly in the X-Ways viewer/gallery — and tags it in the **"Snappy decompressed"** report table. It wraps Davide Berardi's dependency-free decompressor [`snappy-fox`](https://github.com/berdav/snappy-fox), which can also reconstruct corrupted files. ## Background Inspired by a [BelkaSoft CTF](https://belkasoft.com/) challenge (documented in a [write-up](https://github.com/its5Q/writeups/blob/master/BelkaCTF%206/BelkaCTF%206%20Writeup.md#vacation) by **[Its5q](https://github.com/its5Q)**): the key evidence — which concert a suspect planned to attend — sat in the Firefox `morgue` cache of a Telegram Web session. The manual fix was to run snappy-fox over the cache files, bulk-rename the output to `.png`, and skim thumbnails in Explorer. `xt-snappy-fox` folds that whole detour into a single X-Ways run. ## Features - During **volume snapshot refinement (RVS)** it auto-detects Firefox cache entries by path pattern (`*morgue*final`); from the **directory browser** it runs on the items you select (any Snappy file, regardless of path). - Decompresses Snappy framed/unframed streams and can reconstruct corrupted files. - Adds each result as a child item and tags it in the **"Snappy decompressed"** report table. - Idempotent: re-running won't create duplicate child items. ## Building & requirements - Tested with **X-Ways Forensics 21.5 SR-5 (x64)**. Earlier versions of X-Ways have not been tested. - **Build from Source** Build the project yourself using Microsoft Visual Studio with the x64 toolchain. - **Precompiled Binary** Alternatively, download the precompiled x64 version of xt-snappy-fox.dll from the GitHub Releases section. ## Usage 1. Add the evidence object to your case. 2. Run via **Refine Volume Snapshot → Run X-Tensions**, or via the directory browser right-click menu. 3. The decompressed child items are created without a file type. Run X-Ways' **file type verification** (Refine Volume Snapshot → *Verify file types*, or the type-detection step shown in the file overview / directory browser) so each item is recognized by its content — e.g. as a PNG or JPEG image — and can then be displayed in the Viewer and gallery. 4. Review results in the **"Snappy decompressed"** report table. By default only CRC-verified output is accepted. Reconstruction of corrupted streams is offered as an opt-in prompt at startup; such output is flagged with a comment, since it may be partially reconstructed and is not CRC-verified. ## License GPL-3.0-or-later, matching upstream `snappy-fox`. See [`LICENSE`](LICENSE).