Task sounds pretty interesting. Represent files as a chart? Cool!
Let’s take a look at the chart we’re given!
lots of spikes, huh
Okay, so we see various spikes, some regularities… and… I am stuck. I’ve got no idea how to proceed here, I cannot give up just yet though. When I think of FS, for some reason, I immediately associate them with dotfiles and the regularities in certain chunks of the chart remind me of dot in front of files. So… how can one represent a .file name in a chart? The amount of spikes representing ascii values maybe? Let’s see if it’s plausible.
nope
The largest chunk seems to be 65px wide, which would result in ascii ‘A’, and somewhat regular gaps aren’t wide enough for them to represent anything meaningful, so it’s unlikely that amount of spikes would be the thing we’re looking for. What about their length? It’d be good if we had something to count the length of spikes for us, since there’s 693 of them. Let’s write a script to aid us. We’ll start by checking (r, g, b) values of colours present in the chart!
which results in [(255, 255, 255), (255, 0, 0), (0, 0, 255)] so white, red and blue respectively. We’re lucky! It’s only 3 colours so we won’t have to worry about shades and such. Now that we know what we’re looking for and what we’re dealing with, let’s modify our previous script a little.
which gives us a neat output of: (yes, I know my python is horrible ;)
It worked! While it isn’t the script file name I was looking for, it sure does look like script itself! So… what do we have here? We know the password we’re looking for is 25 characters long and it seems it got split into chunks of 5, which then got treated with md5. So… while trying to check md5 hash of 5 characters wouldn’t be too bad, we may as well try our luck with online databases and tools like this.
Ha, we’re home. Not only it found the hashes but also did it fairly fast, in less than 0.7s! What if we wanted to attempt finding them ourselves? Let’s see.
which after few minutes spews this little list out: