2 Format Support
david edited this page 2026-06-23 12:59:20 -07:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Format Support

booba_recover.py applies format-aware reconstruction for 40+ file types. Each handler targets the specific binary structure of the format to maximise usability of the intact 95%.


Documents & Office

Extension(s) Handler What is recovered
.docx .docm .odt .rtf docx Fix ZIP central-directory offsets; synthesize [Content_Types].xml, _rels/.rels, word/_rels/document.xml.rels when encrypted; rebuild clean ZIP Word opens directly. Companion .txt with full extracted text.
.xlsx .xlsm .ods xlsx Same ZIP repair; synthesize workbook rels and content types. Companion .strings.txt with all shared strings; companion .sheetN.csv with cell data per sheet.
.pptx .pptm .odp zip/office Fix ZIP offsets; readable in PowerPoint/LibreOffice with repair prompt.
.doc .xls .ppt .pub ole OLE2/CFB reconstruction: rebuild FAT + directory sector around intact body data.
.msg ole OLE2 Outlook message reconstruction.
.mpp .one .onetoc2 .wps ole OLE2 reconstruction.
.vsd .vst .vss vsd Binary Visio OLE2: rebuild full OLE2 container with VisioDocument stream; extract UTF-16 shape text to companion .strings.txt; write companion .recovered.vsd openable in Visio.
.vsdx .vsdm .vstx .vstm vsdx Open XML Visio: fix ZIP offsets; recover all readable parts; synthesize all structural OOXML parts ([Content_Types].xml, _rels/.rels, visio/document.xml, page/master/windows XML); extract shape text from <Text> elements to companion .text.txt.
.pdf pdf Prepend %PDF-1.7 stub; xref/trailer at end intact; opens in Acrobat/Evince with repair prompt. Use reconstruct_pdf.py for deeper repair.

CAD / Engineering

Extension(s) Handler What is recovered
.dwg .dws .dwt dwg Prepend version-detected header stub (AC1015AC1032); run LibreDWG dwg2dxf --recover if available; write up to 9 companion .dxf files (body scan, entity extraction, deep reconstruction). Use reconstruct_dwg.py to merge all into one clean DXF.
.rvt .rfa .rte ole Revit OLE2 reconstruction.
.ifc ifc IFC-SPF text reconstruction; companion .entities.txt with entity list.
.step .stp .ste .p21 step STEP AP2xx text reconstruction.

Audio / Video

Extension(s) Handler What is recovered
.wav .wave wav Reconstruct RIFF/WAVE header (ChunkSize, fmt subchunk) from intact data chunk.
.mp3 mp3 Scan for MPEG sync word; strip any encrypted prefix frames.
.mp4 .mov .m4a .m4v .m4b .m4r mp4 Locate moov/ftyp atom in body; rebuild ISO Base Media container.
.flac flac Locate fLaC stream marker; output from first valid STREAMINFO block.
.ogg .oga .ogv .opus ogg Locate Ogg capture pattern (OggS); strip garbage prefix.
.aac .adts aac Locate ADTS sync word; strip encrypted prefix frames.
.aiff .aif .aifc aiff Locate FORM chunk with AIFF/AIFC tag.
.wma .wmv .asf wma Locate ASF header object GUID.
.webm webm Locate EBML header (0x1A 0x45 0xDF 0xA3).
.flv flv Locate FLV signature (FLV\x01).
.mts .m2ts .ts mts Locate MPEG-TS sync byte (0x47) with 188-byte packet alignment.

Archives

Extension(s) Handler What is recovered
.zip .jar .apk .epub zip/office Fix ZIP central-directory offsets; readable with unzip or zip -F.
.tar .tar.gz .tgz .tar.bz2 tar Locate 512-byte tar block boundaries; strip encrypted prefix.
.rar rar Locate RAR5/RAR4 signature; write end-of-archive marker if missing.
.7z 7z Locate 7-Zip signature (7z\xBC\xAF\x27\x1C).

Databases

Extension(s) Handler What is recovered
.db .sqlite .sqlite3 sqlite Reconstruct 100-byte SQLite3 header; auto-detect page size (1K64K); intact pages readable by SQLite.
.mdb .accdb .accde .accdt accdb JetDB/ACE signature reconstruction + OLE2 wrapper.

Email

Extension(s) Handler What is recovered
.eml .mbox eml RFC-2822 header scan; companion .subjects.txt with found subjects/senders.
.pst .ost pst PST NDB signature recovery (!BDN); companion .subjects.txt with extracted text.

Images

Extension(s) What is recovered
.jpg .jpeg Prepend \xFF\xD8\xFF\xE0 JFIF SOI + minimal APP0
.png Prepend 8-byte PNG signature + IHDR chunk
.gif Prepend GIF89a header
.bmp Prepend BITMAPFILEHEADER (computed from body size)
.tiff .tif Prepend TIFF little-endian header
.webp Prepend RIFF/WEBP container header

Pixel/scan data is always in the intact 95%.


3D / Geometry

Extension(s) Handler What is recovered
.stl stl Detect ASCII vs binary; ASCII: locate solid keyword; binary: reconstruct 80-byte header + triangle count

Text / Code / Config

All text-based formats (.sql, .txt, .csv, .xml, .json, .yaml, .config, .ini, .log, .py, .cs, .js, .ts, .html, .css, .sh, .bat, and many more) use the text handler:

  • Strip footer and encrypted header
  • Trim to the first complete clean line at the encryption boundary
  • Output is readable plain text from the first intact byte

.pem / .crt / .key / .p12: reconstruct the -----BEGIN …----- header from the intact -----END …----- marker.


Everything else

Any unrecognised extension falls back to the raw handler: strip footer, strip encrypted header, return the intact 95%. The file preserves all non-encrypted data for manual analysis.


Companion files reference

Suffix Contents Produced by
.txt Extracted plain text DOCX, Visio VSDX
.strings.txt Shared strings / text entities XLSX, VSD binary, DWG
.sheetN.csv Spreadsheet cell data XLSX
.recovered.vsd OLE2-wrapped VSD openable in Visio VSD binary
.text.txt Shape text from all pages VSDX
.pass1.dxf.pass9.dxf DXF output from each DWG recovery pass DWG
.entities.txt Entity list IFC, STEP
.subjects.txt Email subjects and senders EML, PST