Crate pngchat

Crate pngchat 

Source
Expand description

Hide messages in the PNG file.

The intent of this little project is to learn how to encode PNG file and add some messages inside it

Idea come from PNGme: An Intermediate Rust Project

§Goal

Making a command line program that lets you hide secret messages in PNG files.

The main tasks of pngchat are:

  • Encode a message into a PNG file
  • Decode a message stored in a PNG file
  • Remove a message from a PNG file
  • Print a list of PNG chunks that can be searched for messages

§Uasge

# Encodes a message into a PNG file and saves the result
pngchat encode ./test.png ruSt "This is a hidden message"

# Searches for a message hidden in a PNG file and prints the message if one is found
pngchat decode ./test.png ruSt

# Removes a chunk from a PNG file and saves the result
pngchat remove ./test.png ruSt

# Prints all of the chunks in a PNG file
pngchat print ./test.png

See the PNG file structure spec for more details about how PNG file structured

Modules§

args
Parse command line arguments
chunk 🔒
Chunks of PNG file data
chunk_type 🔒
A 4-byte chunk type code of png chunk.
commands
Functions for command line usage
error 🔒
Custom error type using in pngme
png 🔒
Implementation a full PNG file
utils 🔒
Some utility functions

Structs§

Png
PNG file structure

Enums§

Error
Enum error type for pngme

Constants§

CHUNK_SIZE
4 bytes size

Functions§

checksum_32
Compute CRC32 using certian algorithm
u8_4_from_slice
Slice to Array(u8) of 4 elements

Type Aliases§

Result
Result<T, Error>