In this mission we are given the data from the hardware logger.

On the first look we see some printable characters but nothing obvious.

To solve this we need to get some knowledge about
scancodes.

The article on Wiki gives some clue that we might be on a right track as it is mentioning the F0 prefix that we see in the data:

58 f0 58 1b f0 1b...

but it lacks the scan codes (apart from few examples) so we need to search a bit more.

A few more searches and we find the right table.[1]

Since there are not so many keys used in the dumped data we can map them manually but when mapping only the first one we discovered that some special chars (like Caps Lock) are used. In order to get the correct casing for the password we will need to implement a bit more logic to handle that.

We need to handle Caps (press - 0x58 & release 0xF0 0x58), Left Shift (press - 0x12 & release 0xF0 0x12) and Right Shift (press - 0x59 & release 0xF0 0x59) and change the casing accordingly.

Full solution (not very efficient) is here:

After running the script we get the password: Sorry, I don't speak Keyboard.


  1. there are some typos in the document like using O instead of 0 here and there ↩︎