Skip to content

Commit 8a787ec

Browse files
committed
Document GME packet operation flow
1 parent 03e0ae8 commit 8a787ec

File tree

3 files changed

+84
-27
lines changed

3 files changed

+84
-27
lines changed

extra/arch.drawio

Lines changed: 57 additions & 27 deletions
Large diffs are not rendered by default.

source/images/gme_flow.png

418 KB
Loading

source/pages/Network/gme/index.rst

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,33 @@ each key of the JSON are not written in plaintext, rather they seems to be an ha
88
this is presumably done to complex the analysis of the packets.
99

1010

11+
The flow of a gme packet works this file: (apply the opposite for reading one)
12+
13+
.. info::
14+
15+
The AES cryptation key changes based from the Game request.
16+
17+
.. image::
18+
../../../images/gme_flow.png
19+
20+
1. The actual JSON packet gets created by the client
21+
2. The packet is crypted with AES/ECB and encoded in Base-64 with a key that changes for every request type
22+
3. The crypted JSON is then embedded in a GME JSON
23+
24+
25+
This is what a completed GME packet looks like:
26+
27+
.. code::
28+
29+
{
30+
"F4q6i9xe": {
31+
"aV6cLn3v": "Client ID that send the request",
32+
"Hhgi79M1": "Game request"
33+
},
34+
"a3vSYuq2": {
35+
"Kn51uR4Y": "Crypted JSON body"
36+
}
37+
}
1138
1239
.. toctree::
1340
:caption: Game Server

0 commit comments

Comments
 (0)