Implementation of the PNGme challenge in Rust
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.
- Clone the repository:
git clone [email protected]:soumyasen1809/PNGme.git
- Change to the project directory:
cd png_me
- Build the project using Cargo
cargo build --release
- You can find the compiled binary in the
target/release
directory
- 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>
This project is licensed under the GNU GENERAL PUBLIC LICENSE. See the LICENSE file for details.