
Nascondi 🕵️♂️ i tuoi file di qualsiasi tipo all'interno di un'immagine a tua scelta usando la steganografia
Nascondi qualsiasi tipo di file all'interno di un'immagine a tua scelta
| File da nascondere | Immagine di copertina | Copertina con file nascosto |
|---|---|---|
![]() | ![]() |
Le basi dell'archiviazione digitale
Tutto sul tuo computer, dai file .exe alle immagini .jpg, è archiviato in bit. I bit sono semplicemente 1 e 0. Per esempio:
A = 01000001B = 01000010Quindi, un file da 1 gigabyte è in realtà 8,5 miliardi di 1 e 0 tutti allineati in una fila. Questo viene chiamato codice binario ed è la base di tutta l'archiviazione digitale.
Pixel e colori
Le immagini sono composte da pixel. Il colore di ogni pixel deriva dal formato RGB (Rosso, Verde, Blu). Ogni canale RGB va da 0 a 255, consentendo 256 valori. Questo intervallo equivale a 8 bit (2^8 = 256), quindi ogni canale può essere rappresentato da 1 byte.
Esempio: un pixel rosso è (0xFF, 0x00, 0x00) oppure in bit 11111111 00000000 00000000.
Nascondere un file in un'immagine
Nascondere un file in un'immagine è in realtà più semplice di quanto sembri. Tutto ciò che dobbiamo fare è:
Ad esempio, se prendiamo i primi 2 bit di un file e li sostituiamo in un canale di un pixel, un pixel rosso (11111111 00000000 00000000) può diventare (11111111 00000000 00000011) senza una differenza visibile.
Ripeti questo processo per ogni pixel e per ogni bit del file, ed ecco fatto, il file è nascosto nell'immagine!
Prova tu stesso
Dai un'occhiata al repository Python fornito per un'implementazione facile da capire di questo processo.
# Clone the repository
git clone https://github.com/JoshuaKasa/van-gonography.git
# Change the working directory to van-gonography
cd van-gonography
# Install the required dependencies
pip install -r requirements.txt
Per eseguire il programma in modalità UI (più semplice e facile da usare, ma anche meno utile per gli sviluppatori) basta eseguire il seguente comando:
python vangonography.py
Per eseguire il programma in modalità CLI (più complicata ma con qualche funzionalità in più) basta eseguire il seguente comando:
python vangonography.py -cli
Puoi quindi utilizzare i seguenti argomenti insieme ad esso:
usage: vangonography.py [-h] [-ood] [-l] [-cli] [-o OUTPUT_DIR] [-v] [--encrypt] [--decrypt] [--key KEY] [--json JSON_FILE] [--stealth] [-s] [-e] [-d] [-c COVER_IMAGE]
[-f HIDDEN_FILE]
Van Gonography is a steganography tool that hides files in images.
options:
-h, --help show this help message and exit
Optional arguments:
-ood Open file after decoding from image (default: False)
-l, --log Log file for the program (default: False)
-cli Run the program in CLI mode, this means there's not gonna be any menu (default: False)
-o OUTPUT_DIR, --output OUTPUT_DIR
Output directory for the modified image or revealed file
-v, --version Show the version number and exit
--encrypt Encrypt the data before hiding it (default: False)
--decrypt Decrypt the data after revealing it (default: False)
--key KEY Key to decrypt the data (default: None)
--json JSON_FILE JSON file containing the arguments (default: None)
--stealth Hides the file in stealth mode (default: False)
Positional arguments (only used in CLI mode):
-s, --show Show the difference between two images (default: False)
-e, --encode Encode the file in the image (default: False)
-d, --decode Decode the file hidden in the image (default: False)
-c COVER_IMAGE, --cover COVER_IMAGE
Image to be used for hiding or revealing, positional only when using decoding, encoding or differentiate
-f HIDDEN_FILE, --file HIDDEN_FILE
File to be hidden
Ad esempio, se vuoi nascondere un file chiamato secret.txt all'interno di un'immagine chiamata image.png e vuoi salvare l'immagine modificata in una cartella chiamata output, esegui il seguente comando:
python vangonography.py -cli -e -c [Absolute path to your `image.png` cover image] -f [Absolute path to your `secret.txt` file] -o Output
Questo creerà una directory chiamata Output nella stessa directory del programma e al suo interno ci sarà un file chiamato Cover_txt.png, ovvero l'immagine modificata con il file nascosto al suo interno. Se vuoi decodificare il file dall'immagine, esegui il seguente comando:
python vangonography.py -cli -d -c [Absolute path (or not) to your `Cover_txt.png` cover image] -o Output
Se vuoi anche creare un file log.log con tutte le informazioni sul programma, puoi eseguire il seguente comando:
python vangonography.py -cli -d -c [Absolute path (or not) to your `Cover_txt.png` cover image] -o Output -l
MIT © Van Gonography MIT
Le pull request sono più che benvenute, adoro vedere persone che contribuiscono ai miei progetti e mi assicurerò di esaminare ognuna di esse. Sentiti libero di contribuire con traduzioni, funzionalità, correzioni di bug o qualsiasi altra cosa ritieni necessaria, anche documentazione e file README! se riscontri errori, apri una issue e cercherò di sistemarla il prima possibile :)
Accogliamo con piacere i contributi della community! Che tu sia uno sviluppatore, un designer o semplicemente un utente entusiasta, ci sono molti modi per partecipare.
Pronto a contribuire? Inizia facendo il fork del repository e apporta il tuo primo contributo oggi. Ogni contributo, per quanto piccolo, fa la differenza!
![]() |
| Questo è il file che vogliamo nascondere nell'immagine | Questa è l'immagine in cui vogliamo nascondere il file | Questa è l'immagine di copertina con il file all'interno |