No description
Find a file
Manuel Philipp 1beb596830
fixed typo
2020-01-14 18:07:26 +01:00
docs began adding interactive menu 2019-11-05 13:55:01 +01:00
src check imagePath impemented 2019-11-10 21:45:26 +01:00
tests added size check 2019-10-30 11:01:34 +01:00
.gitignore updated test 2019-10-25 16:48:44 +02:00
.travis.yml Update .travis.yml 2019-10-30 10:01:16 +01:00
mountains.jpg function to show space for hidden data in an image 2019-10-30 16:05:49 +01:00
mountains.png finished menu 2019-11-06 15:54:01 +01:00
nimagehide.nimble use getUserInput function from cli_menu 2019-11-10 19:25:27 +01:00
README.md fixed typo 2020-01-14 18:07:26 +01:00

nimagehide Build Status

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.