mirror of
https://github.com/MnlPhlp/nimagehide
synced 2026-01-07 05:31:05 +00:00
No description
| docs | ||
| src | ||
| tests | ||
| .gitignore | ||
| .travis.yml | ||
| mountains.jpg | ||
| mountains.png | ||
| nimagehide.nimble | ||
| README.md | ||
nimagehide 
This provides a library and cli for hiding messages or other files in images.
For loading the images the library stb_image is used. The cli is generated by with cligen.
All image types supported by stb_image can be used as starting image.
Currently only png is supported for storing but all loseless encodings supported by stb_image could easily be added.
Installation
>> nimble install nimagehide
Library usage
Hiding
import nimagehide
let img = loadImage("baseImage.png") # loading the image
let secret = "Hello World".toBytes() # prepare the secret data as a byte sequence
img.hideData(data) # hide the data
img.storeImagePng("imageWithSecret.png") # store the image with the secret
hideAndStore("baseImage.png", "imageWithSecret.png", "Hello World") # can be done with one function
Discovering
import nimagehide
let img = loadImage("imageWithSecret.png") # loading the image
let secret = img.discoverData # extract the data
echo secret # echo outputs 'Hello World'
discoverAndStore("imageWithSecret.png", "secret.txt") # discovers te data and stores it in 'secret.txt'
CLI usage
Hiding
>> nimagehide hide -i 'image.png' -o 'imageSecret.png' -s 'Hello World !!' #hiding a string
>> nimagehide hide -i 'image.png' -o 'imageSecret.png' -f 'secret.txt' #hiding a file
-i source image
-o output image with secret
-s secret string to hide
-f secret file to hide
Use either -f or -s. Both at the same time does not work.
Discovering
>> nimagehide discover 'imageSecret.png'
>> Hello World !!
Multiple files can be specified and all the hidden strings will be shown.