Hello there,

since I can't create a giveaway for the racing game GRID (removed from Steam shop due to some expired license, but the key should still work), I decided to put it behind a puzzle. Since I didn't want to create any accounts on puzzle sites, I just shuffled it in a reversible way. If you can write C++ you are certainly at an advantage, but I kept it simple so that any language will do. If you are determined even a spreadsheet calculator should work, but you probably won't be the first to solve then.

I put the key into a char array:

char key[] = "...";

And then shuffled it through this function:

void ShuffleKey(char* key)
{
    int len  = (int) strlen(key);
    int seed = 0;

    for (int i = 0; i < len; ++i)
    {
        seed += (int) key[i];
    }

    while (len > 0)
    {
        seed = (unsigned int) (seed * 87623 + 765214) % 234679661;

        int i = seed % len;
        int j = len - 1;

        char ki = key[i];
        char kj = key[j];

        key[i] = kj;
        key[j] = ki;

        len--;
    }
}

The resulting shuffled key is "-H3X-HAC3CMQ8KJMQ" without the quotes. The first one to successfully reverse the shuffle (I verified that it is possible with the given information) can activate the key. It would be nice if you drop an info if you activated it for others to know it's gone.

Edit: the key has been activated (thank you @ederlobo for the information), but of course you can solve for the challenge itself.

6 years ago*

Comment has been collapsed.

I already have GRID but that was fun to solve :)

6 years ago
Permalink

Comment has been collapsed.

... can barely read some children html so yeah... wish i wasn't this stupid :( anyway nice one :)

6 years ago
Permalink

Comment has been collapsed.

Bump. Already own GRID but i solved it for fun ;)

6 years ago
Permalink

Comment has been collapsed.

Key has been activated on another steam account .... :(

6 years ago
Permalink

Comment has been collapsed.

Sorry for that. Well, congratulations to the anonymous winner then. Would have been nice of him to let others know the key is now gone, but thank you very much for telling me.

Also, thanks to everyone for solving (or trying) the puzzle for the challenge itself.

6 years ago
Permalink

Comment has been collapsed.

Was the solution JQ33M-A8CMX-KCHQH?

6 years ago
Permalink

Comment has been collapsed.

Yes, that's it. Easiest way to verify is to put the unshuffled key through the shuffle function again and check it against the shuffled input.

6 years ago
Permalink

Comment has been collapsed.

no problem guy ... xD

6 years ago
Permalink

Comment has been collapsed.

Hello, I have just read your topic. (thanks to the bump)

Actually, you can instantly solve it ;-)
I hope i am not spoiling the fun of reversing your program for people who wanted to !.... (don't read spoilers anyway!) :P

6 years ago
Permalink

Comment has been collapsed.

Like in almost any (solvable) programming problem, it's easy if you know how to approach it. Finding the easy/clever/efficient way is the hard part most of the time. Finding it instantly means you have great problem solving skills and most likely experience in that field. ;)

6 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.