shyamjayakannan / png-manipulator

Home Page:https://shyamjayakannan.github.io/png-manipulator/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Png Manipulator

Use this tool to encode secret messages in png files and send them to your friends. Then, decode the images that they send you!


Live Tool

You can use the live tool here.


About

The tool works by converting the png into a byte array and adds a chunk of a specific type, containing the message to it. Then, the bytes are re-converted into a png file. No difference can be spotted by a visual inspection of the two pngs, which helps conceal the fact that there is hidden data.

While decoding, the tool looks for the same chunk type that it uses for encoding messages in the byte array after converting the png.

A very helpful source to learn about png files can be found here.


How It's made

The code is written partly in Rust and Vanilla Javascript. No frameworks were used.

The Rust code was converted to WebAssembly, which provides an API for Javascript to use Rust functions in the browser.

The project uses the create-wasm-app template, which uses Webpack to bundle the Rust-generated WebAssembly.


Dependencies

  • crc: Rust implementation of CRCs.


Contributing

Contributions are most welcome.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request.

Don't forget to give the project a star! Thanks again!

About

https://shyamjayakannan.github.io/png-manipulator/


Languages

Language:Rust 79.1%Language:JavaScript 12.7%Language:HTML 8.2%