Found 18K+ games on NVIDIA GeForce NOW

I, as well as may many of the NVIDIA GeForce NOW users, are waiting for Nvidia adding new games. Some of the preferred games were already available, like Mafia series, but were removed from GFN. Later on, while I was waiting for that game to be available again I attempted to recover deleted NVIDIA GeForceNOW games. But accidentally I’ve found out something I’ve never expected.

My story

Four months ago I decided to proceed with my research and inspect the GFN client application. I wanted to test if the old version of GFN downloaded the file whitelist.json can also download other stored information. I spent more time than expected, but it was worth it.

The research

In the log file I’ve noticed the app configurations which are used to fetch data from servers. Here is the most important line:

This is the main URL used for web requests: https://games.geforce.com/graphql.

If you open that up you will see a GraphQL editor:

GraphQL editor

This is an interface for GraphQL queries testing. I started to experiment and entered different structures. But it turned out easier than expected, once I pressed Ctrl+Space I’ve got an intelligent code completion popup.

Intelligent code completion

I started to fill up the parameters to get the valid answers.

As you can see I’ve got 1200 results. Thanks to intelligent code completion I added all of the missing fields.

Then I found a way to fetch more than 1000 results. I intuitively guessed the argument ‘After’ which led to the number of answers to skip. It is a base64 encoded integer number:

That way I finally fetched the list of all of the games from GFN servers. I was wondering about the amount of results, it was more than 18000 items. After that I was excited to get those results in the official GFN client application, so I started to develop a special proxy server which is capable of doing that.

18K+ games in the official GeForce NOW app

18476 games

Needless to say that it won’t let you start all of the games if you haven't bought them. Also many of them don’t work anyway. But I was curious to inspect which games the GFN developers play. On my way I discovered that there are not only games, but a lot of applications as well.

807 apps

Most likely, GFN developers use those apps for their own purposes. I stumbled upon 3D Max, Maya, Adobe Photoshop, Microsoft Office and lots of other apps. Also there was a Client Platforms section.

Client Platforms

Most likely they use it for third party games testing. Also I found games, which was never announced in GFN service, such as the Mafia: Definitive Edition.

After that I saw some games such as God of War which couldn't be added to the GeForce NOW even theoretically.

God of War

This game is the PlayStation exclusive and most likely not coming to other platforms any time soon. But why it’s here then? It says the game is located in the Steam store, but it's nowhere found in Steam. Maybe it's the leak of the game release which is coming soon? It may be, but the information I found out next made me think otherwise.

Dolphin Emulator

Yes, it is a Dolphin Emulator, the app which is intended to launch a copies of games from other platforms. Why is it here? Nintendo says there is no legal way to copy games. Even those you purchased personally and dumped are an illegal copies, Nintendo says. Do they have another emulators to run other games such as God of War? I haven’t found them, but maybe the emulators were bundled with those games. The information I discovered next shocked me even more.

This is the Nintendo Wii exclusive, Super Mario Bros. Wii. And yes, you can play a copy of that game via Dolphin Emulator. Is it coincidence? Who knows… But if you look closer, you can find a label “NVIDIA CONFIDENTIAL” which possibly means that Nvidia don’t want you to know they are playing those games. No one can add to the Nvidia servers own games for sure. I’m still confused what they need it for, any guesses?

Afterword

Four months ago, before I made this proxy, I attempted to send all of the information to Nvidia, but they were not interested whatsoever. I decided if they don’t care, I can publish it now. https://www.nvidia.com/en-us/geforce/forums/gfn-tech-support/46/452082/confidential

Links

Super Mario Bross. Wii + Dolphin Emulator (a backup copy on archive.org)

NVIDIA CONFIDENCIAL poster (a backup copy on archive.org)

Updates

Email from NVIDIA PSIRT

Track GeForce NOW supported games news and changes

I’m C++ developer from Ukraine. And I like to reverse engineer everything. julyighor@gmail.com