DeCoding Tutorial – Guest Writer Jake Smith

As many of you know, each day Niantic Project posts a picture that relates to the storyline of the game. In these pictures, they hide passcodes which are redeemed for items in the game. Most think it is difficult to figure out these passcodes; however, it is not that hard. In this article I will demonstrate several examples of what to look for in the documents/pictures so you can figure out some codes for yourself.

The first step is the download the picture, so you can open it and zoom in more. On the desktop, mouse over to More and click on Download. On mobile, press the three dots to pull up the menu (or press menu key if available) and press Download. Open the image and zoom in around 400%.

After zooming in the goal is to just look around at the entire picture looking for seemingly random numbers or letters or dots. In this picture there happens to be 3 fairly obvious codes very easily found.

After zooming in on a picture to make sure nothing is missed, I usually go left to right starting at the top of the picture as to not miss anything. The first code I see doing this is the letters and numbers found in the Hulong logo. You may have to adjust the brightness/contrast in an image editor/viewer to see it. It contains OC7AXZ2W324PED. Also, another handy little trick to see text like this is to tilt your screen/look at it from another angle. The regular passcode format is [2-9][p-z][p-z][a-h][2-9]keyword[p-z][2-9][2-9][2-9][p-z].

When you first look at this you see just a jumble of seemingly random letters and text. Looking at it, you can see 3 numbers in a row (or 5 total numbers), which is a part of the passcode format. Seeing that gives you a clue that you might need to just shift the letters around or that the passcode is almost in its correct format. At this point, try moving the text backwards/forwards trying to get it to the passcode format. In this one, if you start at the number 2 and go backwards, you get 2zxa7co. Then going backwards from the back, you get dep423w. When you put the pieces together it looks like this: 2zxa7codep423w. This matches the passcode format. Now, test this in your scanner and verify if you are correct. It should say ‘Passcode Fully Redeemed’ because this is an old code. THERE IS NO PENALTY FOR WRONG ATTEMPTS, so don’t be afraid about getting locked out. Most images contain one plaintext simple code like the one above.

The next code you come across is the file ID on the document.

It is: 5578380715977896870955350588.

Here’s some more info and practice on decimal encoding here. Basically what you need to know is 65-90 (A-Z) 97-122 (a-z) and finally 48-57 (0-9). Those are the numbers that will help you realize when its decimal encoding.

Usually when there are long strings of numbers they need to be broken apart usually in 2s. So doing this here we get: 55 78 38 07 15 97 78 96 87 09 55 35 05 88. You might ask how you know to not reverse the numbers or anything, and the truth is you don’t usually know. Code breaking is lots of guess and check/trial and error. These remind me of decimal encoding. One good site to do decoding like this is http://www.asciitohex.com/. Looking at the ranges (see above paragraph), not all of these numbers fit. For example the 07 or 15 don’t work. This is a clue that you should try flipping them. (Initially if you plugged them in you would have gotten: 7N&aN`W 7#X.)

A few of these work, so for now lets only flip ones that don’t fit the system/or the passcode format. The first N is wrong (it should be [p-z] there), yet flipping 78 to 87 makes a W that fits. Same for the next number 38. Flip you get 83 which is S. Also, flip to 70 which is F. Next 15 can be made 51. Continue flipping when needed. Try to make it look like the passcode format. Remember you can always try it when you think you’ve got it right.

The correct flipped numbers look like this: 55 87 83 70 51 79 87 69 78 90 55 53 50 88. Which translates to 7WSF3OWENZ752X. Below is a link to all possible known keywords. I suggest NOT trying to brute force ~250 words, you can check if you got the right keyword against this list. Also, if you have to resort to brute force, figuring out the length of the keyword (not always possible) is helpful. The doc makes this easy as it sorts by length.

Finally onto the third code on this document, hiding near the bottom of the page. These dots are easily recognizable as braille. Niantic often uses braille and morse code, so if you are not familiar with them it might be worth checking them out. You can easily search online to find a key to assist in decoding this one.

This translates to bztebrubeustbfcv. This looks pretty similar to the passcode format (the letters look to be in the correct format, but we are missing numbers). To add some numbers, convert some letters into numbers (refer to the passcode format for which ones to convert). Letters a-i could also represent the numbers 1-9. Replacing them looks like this. 2zte2rubeust263v. It looks right, and you can try it, but this returns invalid. We need to try to fix that keyword.

Consulting our keyword list, we see that “rubeus” is not on the list. However we can take some guesses here by using the first few letters “rub.” Searching “rub” comes up with one result which is rubicon. Replacing that where the keyword should be results in 2zte2rubicont263v. This is the solution. In this instance it is not correct, but with letters like this you can could also try rearranging them to see if they make a word.

In all, decoding is just like a puzzle and it really is not as hard as one might think. Also, when Ingress posts the Ingress Report each week, somewhere in the description of the video below there lies a passcode almost always in plaintext.

This is the start of a new set of decoding lessons that will hopefully give people wanting to learn a good place to start. Stay tuned for more lessons! Get out there and start decoding Agents!

8 Comments

Just to add a little bit to this, for those that might not know, the passcode format being [2-9][p-z][p-z][a-h][2-9]keyword[p-z][2-9][2-9][2-9][p-z]. In programming terms, the square brackets([]) are called ranges. So [2-9] is any digit between 2 and 9, thus excluding 0 and 1. In each case, only one letter/number matches. So [2-9] would not allow anything higher than 9. In the case of [2-9][2-9][2-9], this indicates 3 successive digits, no more and no less. So the end results would be somewhere between 222 and 999(again excluding any 0 and 1’s).

Good write-up, but you need to brush up on your Braille. The letters a-j only use the top two rows. One way of representing digits is to use a number sign followed by the letters, but another (Nemeth) is simply to drop those letters down one row, and that is what has been done here. So you should just have read the digits off as digits, not as letters that needed converting to digits.
e.g. See http://fontmeme.com/braille/

Hi!! This post helps a lot, really.
However I noticed it kind of, unable to be applied to the recent photos by niantic project.
Would like it if you can post a few solutions to the recent documents.
I tried all the above methods but somehow something went wrong somewhere, and I’m really confused as to what really went wrong.