# Aperi'Solve ![CI](https://github.com/Zeecka/AperiSolve/actions/workflows/releases.yml/badge.svg) ![Lint](https://github.com/Zeecka/AperiSolve/actions/workflows/lint.yml/badge.svg) ![Black Code Style](https://img.shields.io/badge/code%20style-black-000000.svg) [![Website](https://img.shields.io/website?url=https%3A%2F%2Faperisolve.com)](https://aperisolve.com/) [![Rawsec's CyberSecurity Inventory](https://inventory.raw.pm/img/badges/Rawsec-inventoried-FF5050_flat.svg)](https://inventory.raw.pm/tools.html#Aperi'Solve)

Aperi'Solve screenshot

Try it now: **https://www.aperisolve.com** Support Aperi'Solve: --- Aperi'Solve is an open-source steganalysis web platform that performs automated analysis on images to detect and extract hidden data using common steganography tools and techniques. Table of contents - [Key features](#key-features) - [Quick start (Docker)](#quick-start-docker) - [Architecture](#architecture) - [Roadmap](#roadmap) - [Contributing](#contributing) ## Key features - Visualize each bit layer (LSB and other layers) per image channel (R/G/B/Alpha). - Browse and download each bit-layer image. - Integrates and displays outputs from: - [binwalk](https://github.com/ReFirmLabs/binwalk) (embedded archives) - [exiftool](https://exiftool.org/) (metadata and geolocation) - [foremost](https://foremost.sourceforge.net/) (carved files) - [openstego](https://www.openstego.com/) (extraction with password) - [outguess](https://www.rbcafe.com/software/outguess/) (extraction with password) - [pngcheck](https://www.libpng.org/pub/png/apps/pngcheck.html) - [steghide](https://steghide.sourceforge.net/) (extraction with password) - [strings](https://pubs.opengroup.org/onlinepubs/9799919799/utilities/strings.html) - [zsteg](https://github.com/zed-0xff/zsteg) (LSB text/data extraction) - Worker queue architecture for offloading heavy/slow analyzers (Redis + background workers). - Results stored for later browsing and download. ## Quick start (Docker) In case you want to host your own version of https://www.aperisolve.com/. > Required: Docker + Docker Compose. ```bash git clone https://github.com/Zeecka/AperiSolve.git cd AperiSolve cp .env.example .env docker compose up -d ``` Then browse url: http://localhost:5000/ ## Architecture - Flask web framework - Background workers that run analyzers (queue via Redis) - PostgreSQL stores image metadata and job statuses - Docker-based deployment for isolation of analyzers and services This separation keeps heavy tools (binwalk, foremost, zsteg, etc.) isolated and avoids blocking the web worker. ## Roadmap See [Issues](../../issues). ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md). ## Security > [!WARNING] > If you discover a security issue, please report it privately to the repository owner instead of opening a public issue. ## Credits Thanks to donors: - [Philip Zimmermann](https://github.com/Philip-Zimmermann) Thanks to contributors: - [Zeecka](https://www.zeecka.fr/) - **(author)** - [aradhyacp](https://github.com/aradhyacp) - [Philip Zimmermann](https://github.com/Philip-Zimmermann) Thanks to the open-source community - [binwalk](https://github.com/ReFirmLabs/binwalk) - [exiftool](https://exiftool.org/) - [foremost](https://foremost.sourceforge.net/) - [openstego](https://www.openstego.com/) - [outguess](https://www.rbcafe.com/software/outguess/) - [pngcheck](https://www.libpng.org/pub/png/apps/pngcheck.html) - [steghide](https://steghide.sourceforge.net/) - [strings](https://pubs.opengroup.org/onlinepubs/9799919799/utilities/strings.html) - [zsteg](https://github.com/zed-0xff/zsteg)