• Welcome to the Digiex Download Center, you are welcome to download anything you like here. No registration is required! Digiex offers direct download links with no captchas or wait times.
    The team do our best to ensure no content infringes copyrights and provide a DMCA Takedown request form to request the removal of content from Digiex.

    Notable sections: Pokemon Archives | Xbox Archives | Xbox 360 Archives

Red Alert 3 BETA [Download, Keys and Information]

ok, great news here. However there is good news, and bad news.

First of all, I got the unencrypted response from the server! Whoever mentioned to edit the paul.dll was spot on. I just had so many different installs on different drives I edited the wrong one. The best way to wipe RA3 off the computer is to use a restore point. So set a restore point before you install if you can.

So this is how it works. The client some how generates a challenge 'code' based off your serial i'm assuming. I can be for sure when I do this again on a different computer.

Looks like this:
POST /drm/license?requestcode=S9KFY-6JSPE-W9J6T-8LJVB-9B8RT-H8VJJ-FQNLU-AF8FZ-T453&serial=XXXXXXXXXXXXXXXXXXXX HTTP/1.1\r\n

The x's are my beta key. If they wanted, they could find out what my key is and ban my beta key by reading the response i'm about to poost but.. hell... thats probably way too much work than its worth!

And the server replies with the following unlock response, all in XML:

<Unlock_code>
L4CZJ-K4HE5-M6V8G-N5JV3-CXL5L-NTTEC-2ADN8-3GTR5
</Unlock_code>

So there is some sort of generation algorithm to create that unlock code, which the client reads and will either accept or deny.

XXXX-XXXX-XXXX-XXXX-XXXX <-Serial
S9KFY-6JSPE-W9J6T-8LJVB-9B8RT-H8VJJ-FQNLU-AF8FZ-T453 <- Request challenge
L4CZJ-K4HE5-M6V8G-N5JV3-CXL5L-NTTEC-2ADN8-3GTR5 <- Unlock code

So whoever figures that out, wins. if the request code is based soley off the Serial number, than whoever is more generous than I could sacrifice their beta key for the cause. It would get banned due to distribution, but using a custom server(which I can do) you could still pass activation since I would also distribute the unlock code inside the private activation server. Chances are, RA3 doesn't allow more than one computer to play lan with the same serial, so unless the serial is changeable AFTER activation, ther will have to be at least 2 beta key's sacrificed to play 1 on 1 and even more keys for larger groups. I'm not sure yet how it all works, but if someone has another beta key they want let me use, I can make some more progress here. It costs 7 bucks for 1 month subscription to fileplanet.com. Anyway, i'm off to go drink and play some dominos :-)
 
Someone(I'll keep their name private for now) was generous enought to provide me with another key. This means, as long as the challenge code is based off the beta key, we should be able to get this working for at least two players on LAN.

There is once again good and bad news. The bad news is I just called Bmw assist to come tow my car since it has a flat at 11:30pm, and second I'm typing all this from my iPhone. The good news, is if bioshock uses the same challenge response validation, there is a very good chance the algorithm for generating the challenge is the same. I'm not sure if bioshock has a keygen or similar out there, but if someone knows more here about how that works, that would be the first place I'd start. This way we could generate a challenge off any fake beta key.
In the mean time, I'll install RA3 on a different computer, using the same beta key, and we'll see if the challenge and unlock codes are the same. If they are, then that's very good for us. The last part would be to code the winsock server, which I'm capable of. Thanks to everyone that's contributed so far.
 
I have a bad feeling that the challenge code isn't based off of the serial alone. I think its tied to the hardware of the computer somehow. We'll know in a minute once I get the next log sniffed.


Unfortunately, I was right. Using the same beta key, on a different computer yields a different challenge key that gets sent to the ea activation servers. And therefore, a different unlock key is sent back. The keys are created on a PC by PC basis and are all unique. So unless we can devise a way to make the game send the same challenge code every time(which probably wouldn't work) or crack the algorithm they use to generate the challenge key, we're in a tough spot. If bioshock was cracked by using a similar method, there is a chance that the algorithm is out there. If it is, then I could implement it. Until then, I'm stuck since i'm not a very good reverser.

Here was the new unlock request and unlock code:
YDPDJ-X3LPL-GVTMX-RK579-YKJLM-GRNHT-U5NUU-X8PAJ-YVP2
BUUEY-RZPL9-5BL32-M2EMG-RCF4C-4C2UZ-JQZXF-H4L3c

I'm now also under the assumption that this key will change, even if I stay on the same computer.

EDIT: I could try tinkering around and seeing what kind of data the EA game uses to create the challenge key. If the key changes after changing the Windows Serial number, or by using a different network card, or maybe removing some hardware, that would be a telltale sign. The OS serial number may be one thing, or perhaps the mac address to the network card, or something else that is unique like that. If anyone knows how they do this, please let me know!

EDIT2: I almost thought we had a streak of luck when I saw this. It also says that the unlock request code(challenge) will change every time you try to install. So its not only based on the serial and possibly your computer, but it has some sort of random number generator and or a salt thats added to make it unique. This means the private activation server would have to know the algorithm for the unlock code and generate it on the fly.

Check it out here: http://www.bioshockunlock.com/index.php#step1
 
Following your idea of making the game always send the same challenge code.

It may be possible to let the game generate its unique key as normal, but then right after it does change the value stored to a predefined one. If all went as planned the game would receive the unlock code from the fake server and do its checks between it and the challenge code it has stored. Thus activating the game client.

Now I highly doubt this will work the way that I wrote it there, but it is indeed something worth trying. If it was me coding the authentication I would also make it regenerate the unique system key a second time to compare with the unlock code received, making it useless to just change the code that is sent. You would instead have to change the code stored in both steps. Please note this is purely theory.

The best solution, in my opinion, would be to just find where it actually checks whether it received a valid unlock code and patch the game's code to always allow any response from the server.

That sounds simple, but I personally have never touched any type of copy protection software before. I am thinking that they would have made it as difficult as possible to locate the check by coding it in a very obfuscated way.

I will open up paul.dll in a disassembler and mess with it a bit myself, but don't get your hopes up and any further help would be greatly appreciated.
 
Unfortunately, I was right. Using the same beta key, on a different computer yields a different challenge key that gets sent to the ea activation servers.
i used a packet sender to send two exactly same requests and got two different unlock codes on the same machine!
 
You need to understand, that faking a server is easy. But generating a VALID key from a unlock request is not as easy as it sounds. You can't just type in anything. The unlock algorithm is stored somewhere inside red alert 3 as well as on that website I posted as well as EA's authentication servers. Either way, it needs to be cracked. The Bioshock site I posted is what we need, but for RA3 instead. Which of course there isn't anything like that yet. Someone is going to have to get IDA out and just sit down for a couple days and figure it out. Unless someone has a contact with Darkcoder, or someone else who cracked bioshock(very dificult) and ask them how the unlock request algorithm works.

I think if we figure the activation server we might be able to bypass it ,,
but where would it be??
The problem here, is the activation server MUST return a valid unlock code. If you don't, then the game won't unlock. There may be more than one unlock code per unlock request, but there is something that makes it 'valid'. Just like how credit card numbers have certain restrictions on being a 'valid' number as well.

EDIT:

Ok, here is the modified paul.dll that you can copy into your installation folder AFTER you've installed red alert 3 beta, and BEFORE you've launched the game for the first time. Make sure you have a packet sniffer turned on such as Wireshark aka Ethereal or Iris.
 
Hey, so I was thinking about the same computer different activation issue, and my best theory as to the changes is not something in the registry, but the easiest way to force it to change a value regardless of other settings is based on time, (also there is an error for the unlocker if your time is not set properly),,, so i believe the random generation will come from the clock,,,

Edit: so really it might not be hardware at all (it's alot more complicated to find hardware settings on computers than it is to check the posted time against the real time in the world)
 
Last edited:
Hey, so I was thinking about the same computer different activation issue, and my best theory as to the changes is not something in the registry, but the easiest way to force it to change a value regardless of other settings is based on time, (also there is an error for the unlocker if your time is not set properly),,, so i believe the random generation will come from the clock,,,

Edit: so really it might not be hardware at all (it's alot more complicated to find hardware settings on computers than it is to check the posted time against the real time in the world)
assuming its the time that generates different codes, you would need to crack the game to not react to time changes or even to think its the same time all the time, and set the time to the same as the one where the key got unlocked, then the unlock key would work..
 
Hey, so I was thinking about the same computer different activation issue, and my best theory as to the changes is not something in the registry, but the easiest way to force it to change a value regardless of other settings is based on time, (also there is an error for the unlocker if your time is not set properly),,, so i believe the random generation will come from the clock,,,

Edit: so really it might not be hardware at all (it's alot more complicated to find hardware settings on computers than it is to check the posted time against the real time in the world)


Thats a very good idea! If that is true, the chances are it goes by the date/time in the timestamp of the SSL certificate or somewhere around there. If we use a hacked server, sending a hacked cert with same time, its possible...

EDIT: I forgot. there is no Https done at all in the validation, since i removed that from the paul.dll.. But http packets still have time stamps, all packets do I believe.
 
I can confirm that paul.dll checks for a full date and time, as in day month year and hours minutes and seconds. I don't know how it implements it though...
 
I can confirm that paul.dll checks for a full date and time, as in day month year and hours minutes and seconds. I don't know how it implements it though...


how many times? more importantly, when? and where did you do that? did u see a call in the decompiler for that?
 
ha ha i feel all special for figuring something out, albeit it may be completely wrong,,, but seemed logical,,, i wish i knew more about the actual coding of this stuff so i could help out with the actual work of it,,, but i have been following this for a while now and will do whatever i can to help it out
 
@chemdude8, had that idea a few pages ago. ;)
Maybe it's correct, maybe it's wrong.
But either way it would be (almost) impossible to generate the code, because there's telling how EA uses the taken date/time values (I said "almost", because a good hacker may be able to figure it out, but I doubt it...)
I don't have any experience in hacking/cracking games, so I haven't posted before, just following what everyone else is doing, but just wanted to tell you not to get your hopes up because of that discovery.

P.S.: we still can't exclude the usage of some hardware/software serials for generating those codes...
My guess is that unless someone with experience gets down to work on figuring out the way the code is generated (which, I repeat, will almost certainly prove to be impossible), this is a dead end...

EDIT : I can't test that, because I don't have RA3 installed right now, but you can try to log the codes, then set your clocks to the same time when you tested it (same minutes, you probably won't be able to get the seconds right...), and repeat. If we're on to something, and if the game doesn't take the seconds value of the clock (which, again, I doubt), the code should be the same.
(Honestly, I'm not sure what happens next :D , but there are some people here that should figure it out ;) )
 
If i had to guess what happens its this: paul.dll takes the date and time and converts it into a request code. The request code and your serial are then uploaded via port 80 to ea servers. The ea servers check both the codes for validation then send you an unlock code back. the unlock code then gets processed (still by paul.dll) into one of several error messages or is accepeted.

Just my 2cents for anyone still working on the unlock code idea
 
The question is, how are those codes generated?

P.S. : Could someone try my idea, please? I don't know if it's going to do us any good, but it's worth a try...
 
Im at work and cant test any edited code... could someone rename and test this new paul.dll file and let me know the results? It SHOULD ask to send a key and such but then pass the unlock no matter what key you send.

EDIT: thanks for tryin ltkerr0r... cmon 5pm hurry up an get here!
 
The question is, how are those codes generated?

P.S. : Could someone try my idea, please? I don't know if it's going to do us any good, but it's worth a try...
the game has time changing errors, meaning if you change time, it should give an error about time being changed.
 

About Digiex

Digiex is a technology and gaming forum, founded in 2004 by InsaneNutter and Nimrod. Digiex has served the internet community with breaking news, detailed guides, exclusive downloads and a popular discussion forum. A small, friendly community of like‑minded people has developed over the years. People are encouraged to register and participate in on‑going discussions.

Get Social

Top Bottom