Try it now: https://aperisolve.fr
I . What is Aperi'Solve?
Aperi'Solve is a platform which performs layer analysis on image.
The platform also uses "zsteg", "steghide", "exiftool", "binwalk" and "strings" for deeper steganography analysis.
II . Why Aperi'Solve
Aperi'Solve has been created in order to have an "easy to use" platform which performs common steganalysis tests such as LSB or
steghide. The platform and Dockerfile are also a quick alternative for people who didn't manage to install
zsteg (ruby gem) properly.
III . Features
Aperi'Solve is based on Python3 with Flask and PIL module, the platform currently supports the following images format:
The platform allow you to:
- Visualise each bit layer of each channel for a given image (ie. LSB of Red channel).
- Browse and Download each bit layer image.
zsteginformations such as text encoded on LSB
zstegfiles such as mp3 encoded on LSB
steghidefiles using a defined password
exiftoolinformations such as geolocation or author
binwalkfiles such as zip in png headers
IV . Application
The Aperi'Solve platform is a Flask (python 3.7) application. The source code is located into the
/data folder. The platform has been split as follows:
- app.py : Contains web routes and main application variables
- stega.py : Contains steganography functions. Layer decomposition is performed with numpy.
- appfunct.py : Contains functions used in both app.py and stega.py.
- /templates : index.html (html view)
- /uploads : Uploaded images and working directory for steganography tools
V . Run with Docker
Simply run the following command:
docker run -p 80:80 zeecka/aperisolve
Then check your browser at http://localhost/.
If you already use port 80, feel free to run Aperi'Solve on an other port (ie. 1337):
docker run -p 1337:80 zeecka/aperisolve
Then check your browser at http://localhost:1337/.
VI . Manual Installation
As said in the beginning of this file, some of theses tools such as zsteg and exiftool may not be easy to install. Aperi'Solve has been created to package installation in docker container / provide a web access to the platform. If you still want to install the dependencies by yourself, here are the requirements:
- Install python and pip (version 3.7+)
apt install python3-dev
- Install python requirements (PIL, Numpy, ...):
cd build/flask/ pip3 install -r requirements
apt install ruby ruby-dev
gem install zsteg --no-ri --no-rdoc
apt install steghide
apt install perl libimage-exiftool-perl
apt install p7zip
cd data python3 app.py
- Implement Foremost ?
- Implement Outguess ?
- Implement "out of the box" png check (increase size of png)
- Implement PNGcheck ?
- Implement stegoVeritas ?