Multi-byte XOR Decoding with a known key
Just before New Years I created a small challenge for my co-workers. I won't share the exact challenge here, but the details were as follows: 1. A JPG of a snowy scene where the person pictured is saying "Rar!", a clue to look for the header of a RAR file. 2. Text in the picture saying to remove the [SNOW] 3. EXIF data on the JPG which has the letters S N O W scattered throughout to create a minor obfuscation. So, extract the appended RAR file from the JPG, use something like the Linux command "tr -d [SNOW]" to remove the characters from the exif data, which reveals the password to extract the RAR file. Here's where I kind of made it a bit harder, the PNG file inside the RAR is XOR encoded with the key "FireWorks". In an attempt to make this somewhat obvious, or to provide some sort of clue, I appended a bunch of NULL bytes to the end of the PNG prior to encoding the whole file. As you can see from the image above, this is what the end o...