-
Notifications
You must be signed in to change notification settings - Fork 22
Secrets
Secrets are represented using a combination of 64 different symbols, listed below:
B | D | F | G | H | J | L | M | ♠ | ♥ | ♦ | ♣ | # |
N | Q | R | S | T | W | Y | ! | ● | ▲ | ■ | + | - |
b | d | f | g | h | j | m | $ | * | / | : | ~ | |
n | q | r | s | t | w | y | ? | % | & | ( | = | ) |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ↑ | ↓ | ← | → | @ |
Each character represents a 6-bit integer, ranging from 0 to 63. The values of each symbol are as follows:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | |
38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
These 3 bits calculate where to start decoding the code. These 3 bits are not encoded, the rest of the code (not confirmed if it includes the checksum or not), including the other 3 bits of character 1 are encoded
To decode the sequence, first multiply the Cipher start byte by 4 to locate the correct start position to decode the password. The cipher starts at 4bytes multipled by the cipher start byte ID
Example of decoding a linked game code As an example I'll demonstrate decoding the first few characters of the following code:
mG52B 5g7rY 3)G♣# 4QjW:
m is 32, or 100000 in 6 bit binary, only the first 3 bits are needed to determine the start position, which is 100, 100 in decimal is 4, so multiply 4 by 4=16. The 16th character in the cipher string is 9. Once the start position has been located, the code can be decoded by XORing each character with it's counterpart in the cipher string.
m is 32 XORed with 9 = 41 G is 3 XORed with 41 = 42 5 is 54 XORed with 59 = 13 2 is 51 XORed with 49 = 2 B is 0 XORed with 2 = 2
and so on
cipher string is zero-based and is as follows:
21, 35, 46, 4, 13, 63, 26, 16,
58, 47, 30, 32, 15, 62, 54, 55,
9, 41, 59, 49, 2, 22, 61, 56,
40, 19, 52, 50, 1, 11, 10, 53,
14, 27, 18, 44, 33, 45, 37, 48,
25, 42, 6, 57, 60, 23, 51, 24