Ubisoft's DRM Cracked — For Real This Time
therufus writes "A few days after the release of Assassin's Creed 2, naughty piracy sites were announcing they had cracked Ubisoft's Online Services Platform. Turns out, that wasn't entirely true. While it was possible to load into the game, players were unable to advance past a certain memory block. But now, it seems Ubisoft will need to draft a new response. A new crack has begun circulating that removes the DRM entirely."
I'm not a fan of 'Piracy' at all, but Ubisoft DRM tactics are draconian, ridiculous, and are just begging for the attention of those who break DRM for fun or profit.
Ubisoft has brought this upon themselves and now they'll use the fact that their "unbreakable" DRM has been broken to justify their further efforts. Asshats!
Skidrow put their own copy protection on the crack because they simply placed the values from the emulator into a dll. It's nice and convenient to have a dll return the values instead of a server however if they had actually cracked then they would have also cracked the other games for which the emulator doesn't currently exist.
So yes, Assassin's Creed 2 is playable but their copy protection is only broken in the sense that AC2 designers decided to make the server-client for this game return static responses that can be collected and eventually make the game playable for pirates.
The only ethical response to ubisoft is not to buy their product, not to use their product, not to infringe upon their product and then tell them you are doing it and tell your friends.
I'm irritated at the pro-piracy attitude, it hurts open source as well. Without respect for at least copyright-driven IP you can't have real opensource that allows the creator to specify how it is propagated (GPL). All you would have would be the BSD, and we saw what Apple did with that eh?
All Skidrow did was re-package the existing community-developed workaround.
The community created a values.db which contains the name/value pairs to defeat Ubi's server checks, and a server emulator, Skidrow's DLL embeds this file and replaces the server-checking with a local access.
Skidrow then takes full credit for the work (in a total douche move) and they also packed their DLL so no-one would detect their deception.
Here is how unbreakable DRM will eventually work:
When internet connections are high enough bandwidths and low enough latencies, you will only have video transferred to you, all game assets will be entirely stored and run on their hardware, never will anything be stored on YOUR end that you will can manipulate.
That is, you will play "unbreakable" games remotely.
For the record:
The actual hard work was done by a community of people who bought the game. They ran a proxy that logged all the "values" sent from the Ubisoft servers to the game. Each time the game progresses to another mission (or similar), it requires a different set of "values" to determine what game data to load (or a very similar method). The people who logged these values then submitted them to a community database, which collected them and sorted out any fake ones uploaded by Ubisoft employees or griefers.
This community also made a server emulator, which served the "values" to the game upon request. The server emulator, written in python, was a pretty simple HTTP server; the game connected to it by editing the system's "hosts" file and hardcoding DNS responses for ".ubisoft.com" to localhost (where the server emulator runs).
Thus, the game is only crackable once enough people have bought the game and logged all possible values for all possible missions states. It's not a total loss for Ubisoft in a sense -- it prevents "Pre" releases, wherein a release group distributes the game before the actual release date. It also ensures that a certain number of people must buy the game and contribute "values" to the community database; all in all this ends up lengthening the time from game release to full-working pirate release.
SkidRow's new crack is simply an IPC (inter-process communication) method of delivering the "values" to the game, bypassing the network connection to the game. Therefore SkidRow's version doesn't use a server emulator running on localhost, but rather patches the executables of the game and has the "values" hardcoded into the cracked DLLs.
The real issue here is that SkidRow took the "values" database from the community who initially logged them, and pretty much claimed it as their own work. The original cracking community inserted some fake "values" as trackers in order to determine when anyone stole their work and released it.
I work at Ubisoft as a programmer, which is why I'm posting as an AC. What the next step will be in the DRM, the ramp-up, is gameplay code that is run from the server. So in order to crack that one the pirates will have to fully emulate the server side code. Not the whole of the gameplay code mind you, just a small, but necessary and essential, portion. This should be in effect for the coming summer releases.
For the record I think Ubisoft are being asshat idiots in continuing to ramp up this obscenity of a slap in the face to paying consumers. And I'm not alone, you should see the in-house mailing list flamewars about this (which also means that other employees are freaking greedy douchebags, it's not just the suits.)
Do not use the crack and do not play the games with DRM if we want to really see an end to DRM. Even playing the game without buying it can be good publicity that generates sales for those who would complain they are not selling enough. Resisting the temptation to consume products instead of creating our own is the real problem. Instead of consuming things because we feel we need to, if we do not agree with the product we should instead work to create our own. We cannot let self-doubts and temporary failures prevent us from being creative if we are to bring about a new creative renaissance without DRM.