This code has a length of 19 characters, so that excludes rectangles from the start.
No explicit numbers or things that we could make numbers in all the right positions, so we’ll probably need some cipher first.
When running this code through the normal initial checks, there is something that draws our attention.
What do you see at the end?
Did you see the cow?
Running the code through the Multi-ROT, we see that with ROT 20 we have a good looking, albeit reversed, string.
Since the written numbers are in reverse order, turn around the string
Substitute out the numbers to see what we have left.
Now we know that
u is not a valid keyword, so a substitute will be needed.
It can resemble a few glyphs which are all valid keywords (
potential), but they all lead to invalid codes this time.
Think back to the days before Smartphones and Instant Messengers, back to when you only had 160 characters for a Short Text Message, back when abbreviations made sense to use.
From that we recall that
you can also be written as
This is also be called 1337-Speak (Leet-speak).
Substitute the u with you for the final solve.
We have a range of numbers, letters and symbols.
Since there were only two codes hidden in the sourcecode, it is safe to assume that this code might contain two different passcodes.
Part of the <span> tag where this code was hidden, we have a hint of
We also notice a lone HTML encoded character in the string:
& is the HTML encoding for
There are two rabbit holes down which you can tumble towards valid passcodes.
Look at the hint and what we see in the code.
Let us assume for now that the HTML encoded
& should be decoded first, replace that section with just an
We can always code back later if we do get stuck.
For the first code, separate the different types of characters that we have in the code to see the rabbit hole.
e f f e b b f e f g d f f f % % %%^ ^ % % %@ $ & $ ( %% %%% %@ $% $ 5554 7 5555 9515 5 5 5 535 5 5 51 55 457 53
Remember that the hint was
3, which fits nicely with our groups and what they show us.
See that there are never two letters next to each other and we have a good spread of the other two lines?
Also notice that when thinking of the passcode format that we are looking for, that the numbers parts of the format has 5 symbols between two letters?
There is one cipher that has 3 different “symbols” where numbers are 5 “symbols” long: Morse (
- and the separator)
Read numbers as
., symbols as
- and letters as separators
....- -. --- .... -.... .-. -.-- -... .- - -.-- ..--- --.. --... -..
Convert morse to text for the solve
For this second code, we’ll need to do something that you probably already thought of:
What happens when you convert those symbols to their QWERTY-Keyboard US layout equivalent?
In the original code (after the & replacement), substitute all the symbols with their QWERTY-US layout equivalent numbers and convert all the letters to their alphabet index where a=0 and z=25
Group the numbers into pairs of 2
55 54 54 57 55 56 55 55 54 69 51 51 55 51 55 52 54 53 54 57 54 69 55 53 51 55 55 52 55 54 54 57 54 53
Convert this from Decimal to Text
Interesting, another bunch of numbers with some
E in there, that might point to a Hex conversion now.
Pair up the characters again into pairs of 2
76 69 78 77 6E 33 73 74 65 69 6E 75 37 74 76 69 65
Convert from Hex to Text for what seems to be almost a finished passcode.
Substituting the roman numerals with numbers, we get a formatted, but invalid passcode
stein is a valid keyword in general, it is not the keyword that would make this a valid passcode.
From the Niantic Project Wiki we learned that Stein is the first name for Stein Lightman.
lightman for the final solution.