Pages Menu
Categories Menu

Most recent articles

Where to Find Codes to Solve

Posted by on Sep 12, 2014 in Code Breaking 101 | 0 comments

Historically, codes were found on the Niantic Investigation Board. Unfortunately, on October 1 2013, Henry Richard Loeb posted this message to the board:

This Investigation Board contains the evidence of a conspiracy so vast it cannot be contained by this dimension.

We are under attack. We are at the brink of being shaped into a new species. We are wrapped in symbiotic harmony with another intelligence, somewhere, that enhances our minds when we visit The Portals.

Any or All of these statements may be true.

To those who discover this website, dive deeper. The Investigations List will lead you to the truth.

Once your eyes are open, join us at +NianticProject where the investigation continues, growing in strength and scale each passing day.

Be warned. The safety of ignorance, once shed, can never be found again.

Henry Richard Loeb
aka P. A. Chapeau

Codes are now generally found on Google+, YouTube, Twitter, Facebook, and IRC.

The majority of codes will be found in images released on various Google+ accounts. The posts will be reshared through +Niantic Project eventually but here’s a circle of all known accounts which will have codes in images.

JoJo Stratton has been posting the Word of the Day on Google+ as well.

The Verum Inveniri Console is also a source for many passcodes with a wide range of difficulty levels.

On YouTube, the Ingress account will have weekly Ingress Report and Obsessed videos. There hasn’t been any codes discovered in Season 2 of Obsessed but Season 1 had videos embedded in the videos and in the comments.

Frame in Obsessed Episode 1 with passcode highlighted in yellow.

Frame in Obsessed Episode 1 with passcode highlighted in yellow.

A comment left in Obsessed Episode 3

A comment left in Obsessed Episode 3

In the Ingress Report, codes can sometimes be embedded in the video, in the description, in the annotations, or in the keywords. There are also videos that relate to the storyline that are posted to the Ingress YouTube channel.


On Twitter, codes will be tweeted shortly before or after the “main” Niantic Project post.


On Facebook, codes will sometimes be posted within a link’s summary.


As mentioned in Passcode Decoding Walkthrough #011.3 the IRC channel is also a place to find passcodes. As of September 9, there is a code on the #niantic channel on by typing !help in the channel.

I hope that helps some of the newer decoders get familiar with the various locataions where codes hide.

What’s Next?

We’re finally going back to our passcode walkthroughs in the next article!

This Week in Niantic History, Sept. 8th-12th, 2014

Posted by on Sep 12, 2014 in Stories | 0 comments

Good afternoon, Agents and Investigators! My name is Mustafa Said and welcome back, as always, to This Week in Niantic History.

So let’s begin with what was revealed on September 8th, 2013:


Shortly after Cassandra, Carrie Campbell was confirmed dead in Chicago. Shortly afterwards, H. Richard Loeb compiled a massive memorial of those who honored her. How it ties into the story-Carrie’s death struck a huge blow to the research of the Shaper Glyphs.


On September 9th, 2013, the first of three videos was released:


In it, Hank Johnson and Devra Bogdanovich, who met up in NYC during the Cassandra Anomaly, had something to discuss….

On September 10th, 2013, the second Hank and Devra video was released:


And on September 11th, 2013, the final video was released:


How they all tie into the story: Devra makes some startling revelations about her involvement with Visur and of the Shapers.



And finally, on September 12th, 2013, the twenty-fifth installment of the Ingress Report was released:  

In this episode, Susanna Moyer talks about the disappearance of Oliver Lynton-Wolfe and Klue after Cassandra and the new Agent Achievement System coming to the Ingress Scanner.


Tune into DeCode Ingress next week to find out what happened next in Niantic History!


Ingress Apk / Scanner Teardown [1.60.0]

Posted by on Sep 10, 2014 in Game, Updates | 0 comments

Welcome back to our 10th teardown. This version is currently on its 1% rollout via the Google Play Store. Some of you are lucky enough to have this version now, while others will be receiving it soon. However, the official description states “bug-fixes”, while we know there is a lot more under the hood. So lets take a look.



In APK since 1.55.0

Mission layouts continue to be fleshed out / slightly changed. From a purely technical standpoint, the amount of server to client code changes are little to none. All the final tweaks seem to be related to language abstraction, layout development and Field Trip.

Field Trip

A possible mission requirement is “View Field Trip card“. This has been a vague reference since the Field Trip classes were blank. Now they are fleshed out and we know exactly how they work. After visiting a portal (not sure if isolated to just missions), you will have an option to view the Field Trip card associated with that portal (assuming one exists). An internal web browser will open up and load that Field Trip card.

For those who don’t know. Field Trip is basically the portals of Ingress with more history and background. Take for example this Field Trip card and respective portal.

Field Trip card

Field Trip card

Ingress portal view for that Field Trip card

Ingress portal view for that Field Trip card

Mission Details

A few new fields snuck into the Mission detail view called “authorNickname” and “authorTeam“. It appears the majority of Missions will be agent created with the carefully thought out and interesting ones being placed on the top of your regional mission list via good ratings. The agent name / team will be visible on the list to show who created each mission.

At the end of the day, you can’t expect Niantic to make missions for all ~25,000 regional zones, so its good to have agent created content to populate mission lists.

Missions – A Recap

Since it has been 6 versions since Missions were discovered. I thought I would do a quick overview of what we know now.

Missions will be a new tab much like “Training” in which you can launch and complete a set amount of way points for a specific mission. Missions may require you to do any of the following

  • Hack a Portal
  • Capture a Portal
  • Create a Link
  • Create a Field
  • Install a Mod
  • Take a Photo
  • View Field Trip card
  • Enter Passphrase (via clues)

You will be able to view

  • Number of agents who completed a mission
  • Percent who liked it
  • Average time to complete mission

After completing the mission you will be

  • granted a badge (not medal) for that mission to show completion
  • allowed to rate the mission if you liked it or not

You might have a Mission that works like this (state park based)

  • Visit this _________ State Park
  • Hack ______ Portal
  • View the Field Trip card for __________ Portal
  • Enter the Passphrase via the hints from _____________ Portal


First seen on the intel map, handshake and 1.59.1 apk. We were given clues that certain portals could stand out from the rest via the below images.

Renamed images via the original Ornaments

Renamed images via the original Ornaments

In addition to images above, model (.obj) files have been added for these ornaments. This ensures that these ornaments will be available to see via your scanner. On our next set of anomalies (after Helios), we will probably have an easier way to identify cluster and volatile portals.

APNS – Apple Push Notification Service?

We saw a group of new strings in this version.

  <string name="APNS_ATTACK_FULL">Your portal %1$s is under attack by %2$s.</string>
  <string name="APNS_ATTACK_NO_ATTACKER">Your portal %s is under attack.</string>
  <string name="APNS_ATTACK_ATTACKER_ONLY">One of your portals is under attack by %s.</string>
  <string name="APNS_ATTACK_GENERIC">One of your portals is under attack.</string>
  <string name="APNS_NEUTRALIZED_FULL">Your portal %1$s neutralized by %2$s.</string>
  <string name="APNS_NEUTRALIZED_NO_ATTACKER">Your portal %s neutralized.</string>
  <string name="APNS_NEUTRALIZED_ATTACKER_ONLY">One of your portals neutralized by %s.</string>
  <string name="APNS_NEUTRALIZED_GENERIC">One of your portals neutralized.</string>
  <string name="APNS_MULTIPLE_ATTACK_NOTIFICATION">%1$s is attacking your portals %2$s.</string>
  <string name="APNS_MULTIPLE_NEUTRALIZED_NOTIFICATION">%1$s neutralized your portals %2$s.</string>

The only strange part is that these strings were found in the strings.xml of the Android version of Ingress. I can understand some development overlap in the libGDX portion of the application (since libGDX is multi-platform) but string resources are different between Android and iOS. So maybe we labeled APNS incorrectly or are misunderstanding this feature.

Either way, it seems to have generic messages along with handling one attacker vs multiple. Maybe to stop the overwhelming spam of notifications when at an anomaly.

Nitty Gritty

What are these handshake things (knobs) ?
It’s how different version of scanners communicate with one server. Features are enabled/disabled depending on your scanner version. This allows us to see future changes coming, since they are already packed in the APK. Features that stay in knobs can be disabled / enabled at whim with a server update. So for example, removing a knob does not mean its gone from Ingress. It just means it no longer needs a configuration boolean so it’s here to stay. This is how missions are in the APK for everyone but only accessible by some.


  • [added] enableIOSRecruit
  • [added] enableMissionsConnectivityRecovery
  • [added] enableMissionsStatePolling
  • [removed] enableNewsOfTheDay
  • [added] missionsUpdateDistanceM
  • [added] missionsUpdateIntervalMs

Build Date

  • Build September 2
  • Leaked September 9


The two main features we are following are currently Missions and Ornaments. Both of these features are very close, if not already finished in their development cycle. So it sparks the question what will Niantic bring next? We will see what goodies are brought in 1.61.0. Until then, enjoy 1.60.0.

Anomaly Report for #Helios 07 & 08 – 08 September

Posted by on Sep 8, 2014 in Anomaly | 0 comments

Helios 07 and 08 ran simultaneously on Saturday and we saw the Resistance return to the form we saw back in Recursion, with them winning 20 of the 24 measurements across all 6 cities.





Across the 6 additional cities for Helios 07, the Resistance captured almost 40 million Mind Units compared to the Enlightened’s 4 million.


All Cities



Buenos Aires

All Cities

For the 6 additional cities for Helios 08, the Enlightened captured over 8 million Mind Units more than the Resistance but only managed to win in 2 cities.



This Week in Niantic History, Sept. 1st-5th, 2014

Posted by on Sep 5, 2014 in Stories | 0 comments

Good afternoon, Agents and Investigators! My name is Mustafa Said and welcome back, as always, to This Week in Niantic History!


So let’s begin with what was revealed on September 1st, 2013: 


One year ago today a document surfaced on the Niantic Project Investigator Board. 

It was another comic book page made by Tycho, showing us another glimpse into the events of Epiphany Night and the escape of Roland Jarvis and Devra Bogdanovich

How it ties into the story: More info of the Epiphany Night escape were revealed.


On September 2nd, 2013, a video was released:


Code Breaking 101: Keyword Guessing Part 2

Posted by on Sep 4, 2014 in Code Breaking 101 | 0 comments

In our last article, we mentioned how Regular Expressions can help us find keywords in codes and possibly help us turn it into passcodes.

Here’s a quick review of the special characters we’ll be using:

  • ^ means to match the beginning of a string of text
  • $ means to match the end of a string of text
  • [ and ] are used to match a single character that is enclosed within it.
  • { and } are used to specify how many of the previous character (special or not) to match.
  • . means to match any character
  • + means to match the previous character (special or not special) at least once
  • ( and ) are used to group together characters to be recalled further in the search

Transposition Example



15 characters in the code, using the current pattern [2-9][a-z][a-z][a-z][2-9]keyword[a-z][2-9][a-z][2-9][a-z]:


Searching for the pattern in our keyword finder, we see 3 results:

  • elint
  • intel
  • stein

When given more than one result from the keyword search tool, do the first step of the transposition and find which one is the likeliest keyword.

Let’s see what we get when we break up the code into rectangles


The top one has elint in the 2nd column but the code does not fit the pattern reading down from the top-left corner.

Reversing the 1st, 3rd, and 5th rows:


Now when you read downwards from the top-left corner:


Non-Transposition Example

Transposition will not always be the method to use solve these.



16 characters with the same format


We have 0 results. If you look carefully, this code is already in the proper passcode format. It actually uses the substitution method:


We get 5 results:

  • covcom
  • evolve
  • follow
  • hannah
  • pursue

Pursue is the only word that does not have other matching letters:

o y e a y w
p u r s u e

On careful inspection, the letters are next to each other on a QWERTY keyword. Shifting each letter from the code to the right:


Another Substitution Example


The length of the code is 34, grouping the characters into twos gives us 17 pairs.

55 76 77 8b 53 6b 75 61 88 6d 61 83 6d 55 72 54 6c

Separating this into prefix, keyword, and suffix pieces:

Prefix: 55 76 77 8b 53
Keyword: 6b 75 61 88 6d 61 83
Suffix: 6d 55 72 54 6c

Tip: compare the position of numbers to where they are in the passcode format, if they share a characteristic (in this case, they all begin with 5 and nothing else does), it’s very likely substitution is the method to use.

We’ll need to figure out the keyword to figure out how to reverse engineer how the pairs correlate to letters and numbers used in the passcode

Keyword regex pattern


We are assuming each pair of characters match up to a particular letter so the 61 in the 3rd position matches the 61 in the 6th position.

  • chapeau
  • ezekiel
  • forward

Our assumption is that the only pairs that match are the 3rd and 6th character, so ezekiel is not a candidate.

chapeau and forward remain, looking at their ASCII values:

keyword: 6b 75 61 88 6d 61 83
chapeau: 67 72 65 80 69 65 85
forward: 70 79 82 87 65 82 68

chapeau’s first character matches the keyword’s first character in each of the pairs so it’s likely chapeau is the keyword and it’s a play on the ASCII values.

Looking at the pairs, we see that for some numbers, the keyword’s left character is subtracted from the right character and that matches chapeau:

75: 7 - 5 = 2
61: 6 - 1 = 5
88: 8 - 8 = 0

Incidentally, for the other ones, adding the two characters using hex values and taking the modulus 10 seem to work:

6b: 6 + b (11) = 17 % 10 = 7
6d: 6 + d (13) = 19 % 10 = 9

Applying this formula to the prefix and suffix:

Prefix: 55 76 77 8b 53
55: 5 - 5 = 0: 50
76: 7 - 6 = 1: 71
77: 7 - 7 = 0: 70
8b: 8 + b (11) = 19: 89
53: 5 - 3 = 2: 52
Suffix: 6d 55 72 54 6c
6d: 6 + d (13) = 19: 69
55: 5 - 5 = 0: 50
72: 7 - 2 = 5: 75
54: 5 - 4 = 1: 51
6c: 6 + c (12) = 18: 68

Image Substitution Example

Not all substitution codes will be text based:


Note: This is an older code with a different passcode format:


Transcribing what we see:

  • R = Red
  • Y = Yellow
  • B = Blue
  • M = Magenta
  • _ = background colour

The keyword can be looked up with a regex:


It will give us 5 results:

  • message
  • mystery
  • nagassa
  • pandora
  • samsara

We remove results which have other matching characters leaving us with:

  • mystery
  • pandora

Lining up the letters to the keyword part of the transcription:

BR____Y_ m/p
_M__Y___ y/a
_R___YB_ s/n
_R__G___ t/d
_R___Y_B e/o
_RB___Y_ r/r
_M__Y___ y/a

Looking at the 3rd and 5th letter of the keyword carefully:

_R___YB_ s/n
_R___Y_B e/o

It looks like the B has shifted only 1 position with everything else staying the same, n and o are next to each other in the alphabet. pandora seems to be the likely candidate for the keyword.

p is next to o in the alphabet and r is close to p, let’s examine their transcribed relationship:

_R___Y_B o
BR____Y_ p
_RB___Y_ r

The B was at the end of the line for o and shifted to the beginning for p. The R stayed in the same position but the Y moved one position to the right. Likewise, the B for r is two positions away from the B for p.

The two remaining characters are a and d:

_M__Y___ a
_R__G___ d

There aren’t any B’s here but there are only 2 colours in these lines compared to the 3 for n, o, p, and r.

Yellow and Blue make Green. Red and Blue make Magneta. That’s where the missing B’s went.

Noting the positions of R, Y, and B in pandora:

01234567    R Y B
BR____Y_ p  1 6 0
_M__Y___ a  1 4 1
_R___YB_ n  1 5 6
_R__G___ d  1 4 4
_R___Y_B o  1 5 7
_RB___Y_ r  1 6 2
_M__Y___ a  1 4 1

RYB matches the octal representation of the word pandora: (160 141 156 144 157 162 141):

Completing the prefix and suffix:

Prefix:    R Y B
R_____YB   0 6 7
_R_B__Y_   1 6 3
_RB___Y_   1 6 2
_R_BY___   1 4 3
R____BY_   0 6 5

067 163 162 143 065
Suffix:    R Y B
_R___BY_   1 6 5
R____BY_   0 6 5
M______Y   0 7 0
R__B__Y_   0 6 3
_M____Y_   1 6 1
165 065 070 063 161

We have shown that regular expressions can be used to help us look for keywords in codes. From there, it will help us get a better understanding of the steps needed to convert the code into a passcode.

Regular Expressions aren’t only useful for passcode solves. They are used in the real world for searching and replacing text in a document. Here’s a link to a XKCD comic that explores one such “real world” scenario.

What’s Next?

We’ll be going back to our regular decoding walkthroughs but we’ll take a quick look at which social media accounts to follow to be sure you won’t miss a code.