Skip to content

MARS is a data extraction and recovery toolkit for macOS that salvages and recovers SQLite, plist, log, and cache data from a set of raw, carved files and matches them with artifacts of forensic interest from a reference system.

License

Notifications You must be signed in to change notification settings

WarpedWing/MARS

Repository files navigation

MARS
macOS Artifact Recovery Suite

MARS is a data extraction and recovery toolkit for macOS that salvages and recovers SQLite, plist, log, and cache data from a set of raw, carved files and matches them with artifacts of forensic interest from a reference system.

In some cases, MARS can recover thousands more database rows and hundreds of extra days of data beyond what exists in the original reference files alone.

Core MARS Definitions

Exemplar

The set of baseline target artifacts (databases, logs, etc.) from a reference system that forms the "ground truth" for data recovery.

Candidate

An unclassified file MARS will recover then attempt to match to exemplar artifacts.

Rubric

A JSON schema that contains per-column metadata used for matching candidate databases.

How It Works

Exemplar Scan

MARS uses a catalog of known artifacts to collect target files from an exemplar system. It can scan most disk image formats (EWF, etc.), folders, archives, and live macOS systems.

Artifacts with associated archives - like Powerlog's .gz backups - are automatically decompressed, deduplicated, and combined.

Databases are then "fingerprinted" column-by-column to create rubrics for matching candidates against.

Candidates Scan

The recovery and vetting process ensures that all candidate data that can be recovered is recovered.

MARS assesses and classifies the recovered data - including from within corrupt SQLite databases - then matches it against exemplar rubrics.

Truly unrepairable databases are byte-carved with protobuf extraction and timestamp detection for manual analysis.

Reports

Both Exemplar and Candidate reports provide quick links to artifact folders and module reports, such as WiFi history and Biome parsing.

Data Comparison Reports show exactly how much data you've gained beyond baseline, measured in rows and days, and include a comprehensive zoomable timeline.

Export Options

Export original Exemplar files, matched Candidates, or Both. The full-path option recreates the original file and folder structure, making the data easily parsable by external tools such as mac_apt, APOLLO, plaso, and others.

The combined export deduplicates and merges data while maintaining its integrity. Discrete user and profile account data is never mixed. An optional database source column marks each row's origin - so you can always trace the information back to its source.

Free Scan

If you just want to salvage corrupt SQLite databases, MARS can do that, too. Run the recovery pipeline on any set of files to automatically recover as much data as possible. Try it on the SQLite Forensic Corpus to see how it works.

Additional Features

v1.0 Report Modules

System Requirements

  • macOS: macOS 11+ (Big Sur or later)
  • Windows: Windows 10/11
  • Python: 3.13+

Quick Start

Installation

  1. Download the latest release for your platform
  2. Extract the archive and enter the directory
  3. Run the installer:

macOS:

chmod +x install.sh
./install.sh

Windows:

install.bat

Or double-click install.bat.

What Gets Installed

  • MARS application in an isolated virtual environment
  • mars launcher script in the installation directory
  • Optional: Kaleido for PDF/PNG export (prompted during install)
  • Optional: fuse-t for mounting forensic images (prompted during install, macOS only)

Installing Kaleido Later

macOS:

.venv/bin/pip install kaleido

Windows:

.venv\Scripts\pip install kaleido

Installing fuse-t Later (macOS only)

fuse-t allows MARS to mount forensic disk images directly for analysis without extracting them first. Install via Homebrew:

brew tap macos-fuse-t/homebrew-cask
brew install fuse-t fuse-t-sshfs

Note

Homebrew must be installed first. Get it from https://brew.sh

Developer Installation

See packaging/README.md

Running MARS

From installation directory

macOS:

./mars

Windows:

mars.bat

Or if added to PATH, from anywhere

mars

MARS uses a three-stage workflow:

  1. Create Project – Set up a new case
  2. Exemplar Scan – Collect baseline artifacts from known locations to establish "ground truth"
  3. Candidates Scan – Process carved/recovered files against the exemplar to recover additional data

The TUI guides you through each step.

Free Match Mode: Process any set of SQLite databases through the recovery pipeline without an exemplar baseline.

Tip

Press h in the MARS console for a comprehensive help guide.

Uninstallation

Simply delete the installation folder. MARS is fully self-contained.

# macOS
rm -rf /path/to/mars-installation

# Windows
rmdir /s /q C:\path\to\mars-installation

Troubleshooting

Python Not Found

Make sure Python 3.13+ is installed and in your PATH:

Permission Denied (macOS)

If you see permission errors when running bundled binaries:

chmod +x .venv/lib/python3.*/site-packages/resources/macos/bin/*

Gatekeeper Warning (macOS)

First time running MARS or its bundled tools may trigger Gatekeeper. Allow in System Preferences > Security & Privacy.

Windows Defender Warning

First run may trigger Windows Defender SmartScreen. Click "More info" > "Run anyway" if you trust the source.

License

MARS is licensed under the Apache License 2.0. See LICENSE for details.

Third-Party Licenses

This project includes bundled binaries and references third-party software. For complete license details, see THIRD-PARTY-NOTICES.md.

Key components:

  • libewf - Expert Witness Format library (LGPL v3)
  • gzrecover - Corrupted gzip recovery (GPL v2)
  • sqlite_dissect - SQLite forensic parser (DC3 License)
  • dfVFS - Virtual file system layer (Apache 2.0)
  • zlib - Compression library (zlib License)

Individual license files are in src/resources/licenses/.

Acknowledgments

MARS builds upon the work of several open-source projects:

Disclaimer

MARS is for informational purposes only. The data presented should be independently verified before being relied upon for any legal, regulatory, or evidentiary purpose.

About

MARS is a data extraction and recovery toolkit for macOS that salvages and recovers SQLite, plist, log, and cache data from a set of raw, carved files and matches them with artifacts of forensic interest from a reference system.

Resources

License

Stars

Watchers

Forks

Languages