png_data
encodes a file into a png image.
png_data -l rgb8 -e file.pdf -o output.png -c "(.pdf) documentation"
Where:
rgb8
is the RGB layout with 8 bits per pixelfile.pdf
is the file to store in the resulting imageoutput.png
the resulting png image
Available layouts
rgb[8|16]
RGB with 8 or 16 bits per channelrgba[8|16]
RGBA with 8 or 16 bits per channel (densest layout)g[1|2|4|8|16]
Grayscale with 1-16 bits per channelga[1|2|4|8|16]
Grayscale Alpha with 1-16 bits per channel
png_data -d output.png -o original.pdf
Where:
output.png
the encoded png imageoriginal.pdf
the resulting decoded file
png_data -z output.png
output.png
apng_data
encoded image This will display the header of the encoded file, as well as the comment.
png_embed
encodes a file into an existing png image making it possible to recover that file by passing the image around.
lo
Embeds data in the colors channels lowest bits.
See examples/test.sh for usage.
png_embed -l lo2 -e embed.tar original.png -o output.png -c "(.tar) archive"
Where:
lo2
is theLo
algorithm using the 2 lowest bitsembed.tar
the file to embed into the final imageoriginal.png
the original PNG fileoutput.png
the resulting PNG file"(.tar) archive"
an optional comment
Additional Options
-s|--seed TXT
Sets the random seed for determining the payload blocks. By default the random seed is "WIDTHxHEIGHT" where WIDTH and HEIGHT are the original image's dimensions.-n|--entropy
Fills unused payload blocks with random data that tries to match the payload's entropy. This feature is experimental and may not fully protect against entropy based steganography-detection. We highlihy recommend that the payload has maximal entropy, which can be achieved by compressing it.
png_embed -l lo2 -d image.png -o embed.tar
Where:
lo2
is theLo
algorithm using the 2 lowest bitsimage.png
the PNG containing an embedembed.tar
the extracted embedded file
Additional Options
-s|--seed TXT
Sets the random seed for determining the payload blocks. By default the random seed is "WIDTHxHEIGHT" where WIDTH and HEIGHT are the original image's dimensions.
png_embed -l lo2 -z output.png
lo2
is theLo
algorithm using the 2 lowest bitsoutput.png
apng_embed
encoded image This will display the header of the encoded file, as well as the comment.
Additional Options
-s|--seed TXT
Sets the random seed for determining the payload blocks. By default the random seed is "WIDTHxHEIGHT" where WIDTH and HEIGHT are the original image's dimensions.
png_data is licensed under the GNU AGPL version 3 or later. See LICENSE.md for more information.
License for third-party dependencies can be accessed via cargo license