Live data from Hacker News

The Awful Anti-Pirate System That Will Probably Work

jeff-vogel.blogspot.com

31–40 of 123 posts

Re: The Awful Anti-Pirate System That Will Probably Work

#31
post #29
post #27

Earlier quoted context omitted.

This is assuming the game is complete, what if the server is sending back parts of the game in response to state saving. For instance, perhaps some of the AI is running remotely. This could explain dropping out of the game: the game is unable to continue.

They could do that. Run some portions of the game on the server, which would remove some of the game logic from the client, making any sort of crack to require adding back in instead of simply stripping out logic. They probably will not do anything non-trivial for this. It costs money to run servers, and they would have to run much more powerful servers in order to be running game logic for each player. That would ea…

They don't actually have to run portions of the game on the servers. They can just serve bits of logic code back to the client as certain milestones are met. You can easily cause 1000's of halting points in a program at the price of just a few kilobytes of data this way.

The point is not to make a game hack-proof. Just to make the time to crack long enough for your purposes. (In this case, it just has to last a few more weeks than ususal.) Safes are rated like this, partly by the worst-case time it takes to break into them. http://en.wikipedia.org/wiki/Safe

EDIT: I see from other posts that AC2 has been cracked since 2 weeks before release. In the case of safes, the laws of physics are on your side. In the case of general purpose Von Neumann architecture computers, the mathematical laws are on the side of the crackers.

In short, if you can execute it, you can read it, therefore you can crack it. To work perfectly, which is equivalent to working at all, DRM needs a "trusted" execution environment supported by hardware. Even a server environment is not going to cut it.

Re: The Awful Anti-Pirate System That Will Probably Work

#32
Jeez guys, have none of you ever played a ROM on an emulator? You know how they save and resume? By taking a snapshot of the RAM and restoring it later on. Sure, its not great to have to take a snapshot of the 2gb+ of memory being used at runtime by a modern AAA game, but it wouldn't be hard to work out what is just content (textures, geometry, sound), and what are the variables (player location, progress, etc) and just save/load that. And that's only if its too much work to emulate the back-and-forth with the DRM server. And even that is only if its too hard to patch those functions out.

All these people talking about 'significant portions of the game running on the server'... are you serious? Do you realise how fast game engines run? People have enough trouble putting up with the lag on multiplayer games with relatively few actors/entities, running on dedicated servers. If this were truly the case, single player games would also be susceptible to lag, not to mention the amount of load of millions of players' AI routines running on Ubisoft's servers. Damn.

No, this will be cracked, patched or emulated, and the only people negatively effected will be legitimate customers. I'd say that would be the exact opposite of the system 'working'.

Re: The Awful Anti-Pirate System That Will Probably Work

#33
post #7

1. Make your own, free saved game server and alter the application code to use it. This means a lot of work and expense, both to duplicate Ubisoft's game saving code and to set up and maintain the servers. Won't happen. I'm not even a very good game hacker, and I've done much more dramatic things. It's really not a huge deal. People have reverse-engineered entire online game protocols in order to have their own unoff…

the original binary doesn't need to be modified in any way It's easy for Ubisoft to also force the binary to be cracked: have the client request the server sign a random token with its private key, and verify it with a public key embedded into the client. This way a third party server could only be written if the client was also cracked to either change the key or remove the check.

Isn't this the type of "check at startup" that the article mentions hackers can easily null out?

Re: The Awful Anti-Pirate System That Will Probably Work

#35
"Probably work"?

It was already cracked two weeks before release! From a few days ago on Buzz:

Just saw a post on the Steam Forum for Assassin's Creed 2 that the impossible to beat, always online, can't save your game or even play the stupid thing without being connected to the internet DRM for it has already been cracked 2 weeks before its release. sigh Did Ubisoft really expect this to work any better than previous attempts to crack down on piracy? Now what they're left with is a piece of software which is being pirated just as much as any other game, except that it treats its legitimate buyers like they're suddenly going to turn into pirates after they've already bought the game.

Re: The Awful Anti-Pirate System That Will Probably Work

#36

Jeez guys, have none of you ever played a ROM on an emulator? You know how they save and resume? By taking a snapshot of the RAM and restoring it later on. Sure, its not great to have to take a snapshot of the 2gb+ of memory being used at runtime by a modern AAA game, but it wouldn't be hard to work out what is just content (textures, geometry, sound), and what are the variables (player location, progress, etc) and j…

> it wouldn't be hard to work out what is just content (textures, geometry, sound), and what are the variables (player location, progress, etc) and just save/load that

As the saying goes - I'd love to see you try it!

In order to capture the state of a running application in such a way that it can later be restored, you need, not only the memory contents, but also the processor state. Imagine that the app is in the middle of modifying an in-memory data structure: the variables used while doing that (e.g. loop counters) will likely be stored on the stack and/or in processor registers. Just as an example!

Even assuming you could accurately pause an application and capture its state completely, how do you propose restarting it? You'd need to reinitialise all the external stuff (graphics device, sound, file handles, etc.), then start the application code at exactly the right instruction.

Maybe installing some sort of hypervisor underneath the OS would allow these things? Good luck :-)

Emulators can do all this with impunity because they're virtual machines - a computer running within a computer. The emulator always has complete control over the memory and (virtual) processor state, display, sound devices, etc., and saving/loading that state is therefore much easier.

Re: The Awful Anti-Pirate System That Will Probably Work

#37

Jeez guys, have none of you ever played a ROM on an emulator? You know how they save and resume? By taking a snapshot of the RAM and restoring it later on. Sure, its not great to have to take a snapshot of the 2gb+ of memory being used at runtime by a modern AAA game, but it wouldn't be hard to work out what is just content (textures, geometry, sound), and what are the variables (player location, progress, etc) and j…

RAM snapshots will only work if all of game state is local, and the remote server is being used as a glorified backup system. However, if only a portion of the game state is local to the client, a snapshot of RAM will not be sufficient to progress through the game.

Re: The Awful Anti-Pirate System That Will Probably Work

#38
In Assassin's 2 save games aren't exclusively online. They're synced to Ubisoft's servers but they're not exclusively online. You can even opt out of syncing them so that they're always local to your PC. The net connection is still required though.

However Jeff vogel's conclusion is still valid:

"But they are engaged in a grand experiment. They are seeing if an adequately pirate-proof game can make money. Will keeping cracked copies off the Torrents for a month make extra sales? And enough extra sales to make writing PC games worthwhile?"

Re: The Awful Anti-Pirate System That Will Probably Work

#40
post #2

Honestly, I believe people shouldn't be pirating videogames at all. And most gamers actually don't. So nobody's going to hate them. On the other hand, I think no one's planning to do the same thing for MS Office in the nearest future, that would be insane.

Do you have anything to back up that statement? The article says that 90% of all copies of popular games are pirated, but he also doesn't back it up. However, it's important to always remember that a pirated copy doesn't equal a lost sale. Many people download a game, but never install it or play it. Others download and play it, but if they couldn't have downloaded it, they would never have played it. And finally, th…

The 90% figure is based on the scant amount of information released by a few indie studios.

http://www.joystiq.com/2008/11/13/world-of-goo-has-90-piracy...

Post reply on HN