Skip to content

101jeffm/finalproject

Repository files navigation

finalproject

Code derived from Black Hat Go:Chapter 13

Usage: ./finalproject --User will be prompted for input throughout the program

Prompts:

FOR BOTH ENCODING AND DECODING

"Enter image location:"
Enter the location where the png image is located
Ex. apple.png

"Would you like to encode or decode this image(E/D)?:"
Enter E to encode and D to decode, can only do one at a time, defaults to encode if an invalid input is detected
Ex. D (capitalization does not matter)

"Xor or Aes Method(X/A)?:"
Enter X for Xor encryption method and A for Aes encryption method, defaults to Xor method (Aes only works on strings of 16 bits as of now)
Ex. X(capitalization does not matter)

"Please enter your message key:"
Enter any BUT the empty string, will default to "key" if you do not enter a string
Ex. UWYO

"Pick an offset from the list above:" --NOT FUNCTIONAL
Given a list of offsets, you can pick which one you would like to start at, defaults to the final critical chunk
Ex. 0x489a00

"Enter filename to save to:"
Defaults to encode.png when encoding and decode.png when decoding.
Ex. appleEncode.png

FOR ENCODING

"Please enter your message to encode:"
If Xor, message can be any length, if Aes, currently must be 16 bits or longer. Will only encode first 16 bits however.
Ex. I like apples!!!

FOR DECODING 0 "Please enter your offset:"
Enter the offset from encoding.
Ex. 0x489a00

Encoding Example:
image

Decoding Example:
image

Current Successes

-Replaces bits instead of just dumping extra bits into the file
-Partway implementation of Aes
-Scattering bits across chunks in png explored. Currently get incorrect offsets when using this option, exporing further.
-JPEF and PDF files researches, further implementation needed.

Future Iteration(s)

-Implement another image file type
-Determine issues/fix Aes implemntation (only taking 16 bits and encrypting) -Refine offset selection

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages