Skip to content

GamestatsHTTP encryption methods

sepalani edited this page Jan 2, 2017 · 2 revisions

Encryption methods

According to the OpenSpy Core, requests can be encrypted using one of the following algorithms:

///////////////////////////////////////////////////////////////////////////////
// GHTTPEncryptionEngine
// Summary
//		Used to select a method of encryption for HTTP requests.
typedef enum
{
	GHTTPEncryptionEngine_None,			// 0: No encryption.
	GHTTPEncryptionEngine_GameSpy,		// 1: Use standard GameSpy encryption.
	GHTTPEncryptionEngine_MatrixSsl,	// 2: Use GameSpy Chat server encryption; must
										//    #define MATRIXSSL and include matrixssl 
										//    source files.
	GHTTPEncryptionEngine_RevoEx,		// 3: Use Nintendo encryption; must #define 
										//    REVOEXSSL and include RevoEX SSL source files.
    GHTTPEncryptionEngine_Twl,          // 4: #define TWLSSL and include Twl SSL source files

	GHTTPEncryptionEngine_Default		// 5: Use GameSpy unless another engine is defined
										//    with MATRIXSSL or REVOEXSSL.
} GHTTPEncryptionEngine;

GHTTPEncryptionEngine_None

No encryption.

Used by:

  • TODO

GHTTPEncryptionEngine_GameSpy

Use standard GameSpy encryption.

Used by:

  • TODO

GHTTPEncryptionEngine_MatrixSsl

Use GameSpy Chat server encryption

Used by:

  • TODO

GHTTPEncryptionEngine_RevoEx

RevoEx stands for Revolution (Nintendo Wii codename) SDK Extension.

Used by:

  • TODO

GHTTPEncryptionEngine_Twl

TWL stands for Twilight (Nintendo DSi codename).

Used by:

  • TODO

Pattern Matching

I currently use different regular expressions to match the GamestatsHTTP pieces of information.

Pattern 2

This is the most common one:

([\-_0-9a-zA-Z]{20})([0-9a-fA-F]{32})([^\x00]+)

Used by:

  • Most Nintendo Wii games
    • Super Smash Bros. Brawl (in main.dol)
      • SeBQcoBRMEYxbDhcvtAQ0001079d0000520f10000000069107d7smashbrosxwii
    • Mario Strikers Charged Football (in main.dol)
      • DbfBialvJznkQWYuOrRa0002282500000ef90000020042db60ecmschargedwii
  • Most Nintendo WiiWare games
    • Dr. Mario Online RX (in 00000001.app with LZ11 compression)
      • FRFCvNXiZGQgfbWudVoP0003362d0000645b0002000066e03974drmariowii
    • Onslaught (in 00000001.app with LZ11 compression)
      • umLAElYFUJQIIiIrtLpt0002473d00005bbf000000101df02aefassultwii
  • Most Nintendo DS(i) games
    • 100 Classic Book Collection (in arm9.bin)
      • pWdZhtdSJLlEtsymyOxm0003ea950000572b00020000535f0933otonazenshuds
    • Bomberman 2 (in overlay9_16 with BLZ compression)
      • EGPfnpYJkKEOHpbkfqNA000303dd000049eb000002001de15ea8bomberman20ds
  • Most Nintendo DSiWare games
    • Metal Torrent (in arm9.bin)
      • YdHEEIVqQMSEzoMEulMY00013005000010f70400000053ae1754gokuidsi
    • Uno (in arm9.bin with BLZ compression)
      • WOjOBLYqTMVBZAYQJtte0001c40d0000393108000000062f3f37unodsi

Pattern 1

An old one that only matches the salt:

\x00([\-_0-9a-zA-Z]{20})\x00

Used by:

  • Old Nintendo DS games
    • Animal Crossing: Wild World (in arm9.bin with LZ11 compression)
      • Salt: gOAkBaBav5XHlGyUKOOD

Clone this wiki locally