All Projects → Heisenberk → StegX

Heisenberk / StegX

Licence: GPL-3.0 license
Steganography (BMP, PNG, WAV, MP3, AVI, FLV)

Programming Languages

c
50402 projects - #5 most used programming language
TeX
3793 projects
CMake
9771 projects

Projects that are alternatives of or similar to StegX

Format parser
file metadata parsing, done cheap
Stars: ✭ 46 (+109.09%)
Mutual labels:  png, mp3, wav
Audio Steganography Algorithms
A Library of Audio Steganography & Watermarking Algorithms
Stars: ✭ 146 (+563.64%)
Mutual labels:  mp3, wav, steganography
ICNS2ICO
ICNS2ICO lets you easily convert icons from the Apple's ICNS format to the Windows ICO format.
Stars: ✭ 17 (-22.73%)
Mutual labels:  png, bmp
sail
The missing small and fast image decoding library for humans (not for machines) ⛵ https://sail.software
Stars: ✭ 206 (+836.36%)
Mutual labels:  png, bmp
spectrogram
Taking an audio signal (wav) and converting it into a spectrogram. Written in Go programming language.
Stars: ✭ 34 (+54.55%)
Mutual labels:  png, wav
stegjs
Encrypt message to PNG image.
Stars: ✭ 18 (-18.18%)
Mutual labels:  png, steganography
gfxprim
Open-source modular 2D bitmap graphics library with emphasis on speed and correctness.
Stars: ✭ 32 (+45.45%)
Mutual labels:  png, bmp
ok-file-formats
Decoders for PNG, JPEG, WAV, and a few other file formats
Stars: ✭ 72 (+227.27%)
Mutual labels:  png, wav
Atldotnet
Fully managed, portable and easy-to-use C# library to read and edit audio data and metadata (tags) from various audio formats, playlists and CUE sheets
Stars: ✭ 180 (+718.18%)
Mutual labels:  mp3, wav
Imagesharp
📷 A modern, cross-platform, 2D Graphics library for .NET
Stars: ✭ 5,186 (+23472.73%)
Mutual labels:  png, bmp
zigimg
Zig library for reading and writing different image formats
Stars: ✭ 112 (+409.09%)
Mutual labels:  png, bmp
Stegify
🔍 Go tool for LSB steganography, capable of hiding any file within an image.
Stars: ✭ 927 (+4113.64%)
Mutual labels:  png, steganography
Flacon
Audio File Encoder. Extracts audio tracks from an audio CD image to separate tracks.
Stars: ✭ 252 (+1045.45%)
Mutual labels:  mp3, wav
Recorder
html5 js 录音 mp3 wav ogg webm amr 格式,支持pc和Android、ios部分浏览器、和Hybrid App(提供Android IOS App源码),微信也是支持的,提供H5版语音通话聊天示例 和DTMF编解码
Stars: ✭ 2,891 (+13040.91%)
Mutual labels:  mp3, wav
StbSharp
C# port of the famous C framework
Stars: ✭ 62 (+181.82%)
Mutual labels:  png, bmp
Symphonia
Pure Rust multimedia format demuxing, tag reading, and audio decoding library
Stars: ✭ 191 (+768.18%)
Mutual labels:  mp3, wav
stbi-sharp
C# wrapper around stb_image.h and qoi.h
Stars: ✭ 17 (-22.73%)
Mutual labels:  png, bmp
Ni Media
NI Media is a C++ library for reading and writing audio streams.
Stars: ✭ 158 (+618.18%)
Mutual labels:  mp3, wav
Audioplayer
Audio Player for Nextcloud and ownCloud
Stars: ✭ 179 (+713.64%)
Mutual labels:  mp3, wav
QuickImageFX
Simplifying image manipulation using GDI, Graphics32, OpenCV or Vampyre Imaging libraries
Stars: ✭ 41 (+86.36%)
Mutual labels:  png, bmp


Introduction

StegX est une application de stéganographie. Elle permet de dissimuler des données dans divers formats de fichier, de type image, son ou vidéo. Les données cachées peuvent ainsi être transmises par un canal non sécurisé sans être découverte, puis le receveur pourra les extraire. L'application se compose d'une interface graphique et d'une interface en ligne de commande, ainsi que d'une bibliothèque partagée intégrable dans d'autres projets de développement.

Fonctionnalités

  • Formats et algorithmes pris en charge par l'application :

    • BMP : LSB, EOF, Metadata.
    • PNG : EOF, Metadata.
    • AVI : Junk Chunk.
    • FLV : EOF, EOC.
    • WAVE : LSB, EOF.
    • MP3 : LSB, EOF.
  • Description, avantages et inconvénients des algorithmes :

    • LSB (Least Significant Bit) : Cet algorithme consiste à modifier les bits de poids faible des octets définissants les données du fichier. Étant un bit de moindre importance, les données ne sont quasimment pas affectées et la dissimulation est invisible pour l'homme (sur une image ou du son par exemple). De manière générale, cet algorithme consiste à modifier des bits de moindres importances (par exemple dans un header). Il a comme avantage d'être très discret et de ne pas augmenter la taille du fichier hôte. Cependant, pour cacher un fichier d'une grande taille, il faudra également un fichier hôte d'une taille conséquente.
    • EOF : Cet algorithme consiste à cacher les données du fichier à cacher à la fin du fichier hôte, de tel manière que les données cachées ne soient pas interprétées par les logiciels lisant le fichier hôte. L'algorithme à comme avantage d'être simple, rapide et de ne pas imposer de limite de taille. Cependant, cet algorithme n'est pas discret et augmente la taille du fichier hôte proportionnelement à la taille du fichier à cacher.
    • Metadata : Cet algorithme ajoute des métadonnées contenant les données à cacher au fichier hôte, en suivant les standards propre à chaque format de fichier. Cette méthode est plus discrète qu'EOF, mais augmente toujours la taille du fichier hôte proportionnellement à la taille du fichier à chacher.
    • EOC : Variante d'EOF, le fichier à cacher est découpé et cacher à la fin de certains chunks (blocs de base constituant les données du fichier hôte). Cette méthode est aussi plus discrète qu'EOF.
    • Junk Chunk : Algorithme ayant comme principe la création de chunk poubelle. Ce sont des morceaux de données non-interprétées par les logiciels lisant le fichier hôte car les données ne respecte pas le format intiale et sont invalides.

Installation

Unix (Debian-like)

- Installateur

  1. Dans la section Release, téléchargez le fichier StegX-xxx.deb.
  2. Installer le en utilisant une interface à APT (par exemple en double cliquant dessus), ou en utilisant la commande sudo apt-get install ./StegX-xxx.deb depuis le répertoire de téléchargement.

- Portable

  1. Dans la section Release, téléchargez le fichier StegX-xxx.tar.gz (archive tar) ou StegX-xxx.sh (exécutable auto extractible).
  2. Décompresser l'archive avec la commande tar xzvf StegX-xxx.tar.gz ou lancer l'extraction de l'exécutable avec la commande ./StegX-xxx.sh en fonction de votre choix de téléchargement.
  3. Vous trouverez un dossier contenant l'application.

Windows

- Installateur

  1. Dans la section Release, téléchargez le fichier StegX-xxx.exe.
  2. Installer le en double cliquant dessus.
  3. Si vous voulez pouvoir lancer l'interface en ligne de commande depuis le terminal avec la commande stegx, alors sélectionner Ajouter le répertoire d'installation au PATH lorsque cela vous sera demandé lors de l'installation.

- Portable

  1. Dans la section Release, téléchargez le fichier StegX-xxx.zip (archive compressée).
  2. Décompresser l'archive, ainsi vous trouverez un dossier contenant l'application.

Désinstallation

Unix (Debian-like)

Exécuter la commande sudo apt remove stegx pour supprimer le paquet de votre système.

Windows

Accéder au panneau de configuration, cliquer sur désinstaller un programme, sélectionner StegX et cliquer sur désinstaller.


Utilisation

Après une installation avec un installateur

Dans un terminal, utiliser la commande stegx pour utiliser l'interface en ligne de commande. Pour lancer l'interface graphique, taper stegx-gui dans votre terminal, ou utiliser le raccourci créer dans le menu démarrer ou sur le bureau.

Après décompression de la version portable

Placez vous dans le répertoire dans le répertoire bin contenu dans le répertoire racine de l'application, puis exécutez dans votre terminal ./stegx pour l'interface en ligne de commande ou ./stegx-gui pour l'interface graphique.

Aide

Pour afficher l'aide de l'interface en ligne de commande, taper la commande stegx -h. Pour avoir une aide sur l'interface graphique, consulter le manuel d'utilisation produit lors de la génération des rapports en PDF.


Bugs

  • L'application crash si on tente d'accéder à un fichier dont on n'a pas les droits.
  • L'application crash sur Windows si on tente d'accéder à un fichier avec un espace dans le nom.

Développement

Dépendances

- Requises

-- Unix

-- Windows

Au choix :

-- Unix & Windows

- Optionnelles

-- Unix & Windows

-- Unix

Commandes et cibles

La configuration de la compilation est à faire en première. Toutes les autres commandes sont à effectuer dans le dossier build. Lors de l'ajout d'un fichier source au projet ou lors de la rencontre d'un bug lors de la configuration/compilation, utilisez la commande de réinitialisation de l'arborescence, sinon, supprimez le dossier build et recommencez la configuration. Les commandes entre [ ] sont optionnelles.

Sur Windows, si une erreur survient, faites attention de placer le dossier dans un chemin qui ne contient pas d'espaces. Certains modules de CMake pour Windows gèrent mal les espaces. Les cibles (targets) exécutées par CMake peuvent aussi êtres générées directement par l'interface graphique de MSVC sous forme de solution.

Pour chaque commande avec Make, vous pouvez utiliser VERBOSE=1 pour afficher toutes les actions effectuées.

L'option -DVarName=VarValue de CMake permet de configurer une variable. Ci-dessous une liste des variables configurables avec leurs valeurs possibles :

  1. Description : VarName = VarValue1, VarValue2 etc...
  2. Chemin vers un dossier existant pour l'installation : CMAKE_INSTALL_PREFIX = /usr/local, /opt/stegx
  3. Mode de compilation : CMAKE_BUILD_TYPE = Release, Debug

- Unix

-- Configuration de la compilation

mkdir build
cd build
cmake .. [-G "Unix Makefiles"] [-DVarName=VarValue]

-- Compilation des modules principaux

make [all] [stegx-cli stegx-gui stegx-lib] [VERBOSE=1]

-- Génération de la documentation

make doc

-- Génération des rapports

make report

-- Lancement des tests unitaires

make check

-- Création des binaires de distribution

sudo make dist

-- Installation

sudo make install

-- Désinstallation

sudo make uninstall

-- Génération des tags

make tags

-- Formatage du code source

make indent

-- Nettoyage

make clean

-- Réinitialisation

make reinit

- Windows

-- Configuration de la compilation

mkdir build
cd build
MSYS :
    cmake .. -G "MSYS Makefiles" [-DVarName=VarValue]
MinGW :
    cmake .. -G "MinGW Makefiles" [-DVarName=VarValue]
MSVC :
    cmake .. [-G "Visual Studio 15 2017"] [-DVarName=VarValue]

-- Compilation des modules principaux

MSYS :
    make [all] [stegx-cli stegx-gui stegx-lib] [VERBOSE=1]
MinGW :
    cmake --build . --target all [stegx-cli stegx-gui stegx-lib]
MSVC : Interface graphique (GTK+) non disponible.
    cmake --build . --target ALL_BUILD [stegx-cli stegx-lib]

-- Génération de la documentation

MSYS :
    make doc
MinGW & MSVC:
    cmake --build . --target doc

-- Génération des rapports

MSYS :
    make report
MinGW & MSVC :
    cmake --build . --target report

-- Lancement des tests unitaires

MSYS & MinGW :
    Tests unitaires non disponibles.
MSVC :
    cmake --build . --target check

-- Création des binaires de distribution

MSYS :
    make dist
MinGW & MSVC : à lancer en tant qu'administrateur.
    cmake --build . --target dist

-- Installation

MSYS : à lancer en tant qu'administrateur.
    make install
MinGW & MSVC : à lancer en tant qu'administrateur.
    cmake --build . --target INSTALL

-- Désinstallation

MSYS : à lancer en tant qu'administrateur.
    make uninstall
MinGW & MSVC : à lancer en tant qu'administrateur.
    cmake --build . --target uninstall

-- Nettoyage

MSYS :
    make clean
MinGW & MSVC :
    cmake --build . --target clean

-- Réinitialisation

MSYS :
    make reinit
MinGW & MSVC :
    cmake --build . --target reinit
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].