Skip to content

soumyasen1809/PNGme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PNGme

Implementation of the PNGme challenge in Rust

What are we making?

We're making a command line program that lets you hide secret messages in PNG file. The program will have four commands:

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

The part of the PNG spec used is here.

Installation

  1. Clone the repository:
git clone [email protected]:soumyasen1809/PNGme.git
  1. Change to the project directory:
cd png_me
  1. Build the project using Cargo
cargo build --release
  1. You can find the compiled binary in the target/release directory

Usage

  • To encode a message into a PNG image and save the result:
cargo run --release -- encode --in-file-path <input.png> --chunk-type <chunk_type> --message <message> --out-file-path <output.png>
  • To decode a hidden message from a PNG image and print the message if one is found:
cargo run --release -- decode --in-file-path <input.png> --chunk-type <chunk_type>
  • To remove a chunk from a PNG file and save the result:
cargo run --release -- remove --in-file-path <input.png> --chunk-type <chunk_type>
  • To print all of the chunks in a PNG file:
cargo run --release -- print --in-file-path <input.png>

License

This project is licensed under the GNU GENERAL PUBLIC LICENSE. See the LICENSE file for details.