nimagehide

A library to hide data in images. Usable as library or cli tool.

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version Unknown
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-07-22 05:28

Installation

nimble install nimagehide
choosenim install nimagehide
git clone https://github.com/MnlPhlp/nimagehide

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
nimagehide - - - - - - -

Source

Repository https://github.com/MnlPhlp/nimagehide
Homepage https://github.com/MnlPhlp/nimagehide
Registry Source nimble_official

README

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.