Game Development Community

Researching Software Copy Protection

by Chaim Krause · in Torque Game Builder · 09/23/2007 (5:34 am) · 15 replies

Please Please Please don't turn this into a flame war on how copy protection is evil and destroys the world. I am trying to do some very basic beginner research into an area that I haven't had to work with yet as a developer. What options are available on the market that are compatible with games built using TGB? Preferably one that is both inexpensive and compatible with other things I build that don't use TGB, so I don't have to buy/learn/use multiple products.

I am also interested in links to places where I can RTFM and learn more about this whole area.

thanx,
Chaim

#1
09/23/2007 (10:34 am)
Most people use Armadillo/Software passport. It's very hard to crack and I think most big game portals use that as well.
#2
09/23/2007 (11:17 am)
Thank you Joe. I have done a lot of reading today and it looks like my choices are to sell via RegNow and get Armadillo/Software Passport as part of the package or go with Plimus and get their Plimloc as part of the package. From what I can tell, DRM has become necessary and has thus started to become yet another commodity tacked onto software registration sites' offerings.

I still have questions about all this including some that may be specific to TGB. For example, the art assets, the raw BMPs, PNGs, etc. don't seem to be covered by things like Armadillo. I admit to only having read the most basic info on them, but they seem centered on the EXE and not the auxiliary files. My guess is that I would need to modify the TGB source to handle the latter.

Back to RTFMing for me. :)
#3
09/23/2007 (1:17 pm)
The thing to keep in mind with any off the shelf copy protection is that in general, once the bad guys have broken it once, they don't need to keep breaking it for every game that uses it. In many cases off the shelf systems lead to standard apps to remove them, reducing breaking it to simply running an application and clicking a few buttons.

Statements like "It's very hard to crack and I think most big game portals use that as well" are not useful without hard facts to back them up. For example SafeDisc is used by many of the big publishers, is very hard to crack by hand, but can be removed automatically in under a second by use of an easily found application.

Of course, there's nothing you can do about that and if you're unfamiliar with copy protection from both an implementing and attacking it point of view, anything you come up with will be nowhere near as secure as an off the shelf system.

One thing that you should do in any case though, is research anything you are considering using thoroughly. This means you have to look at it from both a developer's point of view and a pirate's point of view. Use as many search engines (and search terms) as possible and generally poke around the shadier side of the internet. Never, ever take anyone at their word without doing the research to verify it, especially those selling the package.

You will never find something that's completely secure, because such a thing does not exist. It's a balance between "good enough in the time i have to spend on this" and "secure." In general, as an indie, it's not worth the effort worrying about more than casual copying. For that, there are many systems that are "good enough." Which, of course, makes the rest of this post rather superfluous and pointless ;-)

T.

Edit: Re: asset encryption. If you're using TGB 1.5 and have the pro version, just use encrypted zips with a long and stupid password with a high quantity of non-alphanumeric chars. There's a forums thread about it somewhere.
#4
09/23/2007 (2:43 pm)
Many companies now have software "call home" when loaded. But from a user point of view, unless it's something I want (IE connection to the master server in quake wars) I use my firewall to block it. I try demos before I purchase something & ask around so I don't get "tricked" in to things like the security with Bioshock. My solution around BS's security was to not by it. And I've done that with inday games too.

But the way I've seen modern companies do it is by calling home. DEFCON does this, it works well.
#5
09/23/2007 (3:25 pm)
@Tom Bampton
Of course, some protections are stupidly simple to defeat. In my hacker days (more of an educational period) I explored cracking Armadillo. I searched vigorously for any successful cracks to that protection. One group had been close to cracking a (now ancient) version of it, but it wasn't a trivial task, and it didn't work in every case. I forget their name, but I remember they wrote most of their crackmes in spanish. If you search for it look for "crackme Armadillo" and see what turns up. These days they also offer more advanced source level customization that makes things extra difficult for those thinking they can crack once and be done with it. You could change up the protection with every patch or affiliate you upload to, if you really want to. So I think it's very good protection, and affordable to boot. They also have some great forums and customer service. You could do a lot worse than Software Passport.
#6
09/23/2007 (3:50 pm)
I have downloaded the Trial Version of SoftwarePassport and am getting nothing but errors running it, let alone my game. I abandoned that UI and went to the "Classic" interface and *think* I wrapped my game, but I get an error when I try to run it. (Microsoft Visual C++ Runtime Library - Runtime Error! - Program: C:\Documents and Settings\Chaim\My Documents\MyGame... - R6002 - floating point support not loaded).

I know this isn't the proper support forum for supporting Armadillo, I am searching there as well, but I would like to know a few things from this crowd.:

1) I am attempting to wrap a "stock" TGB 1.5.1 game exe. I believe those are compressed and may be causing conflicts. 1a) Can I unpack the standard EXE so I can test this or 1b) do I need to compile my own exe that isn't compressed and then wrap that?

2) Has anybody successfully used SoftwarePassport "out of the box" with TGB 1.5.1?

3) Is there some other thread/resource/wiki page that I am overlooking because the search features of garagegames.com are less than stellar?
#7
09/23/2007 (4:19 pm)
@Joe,

I have no experience with Armadillo so I wasn't really singling it or you out, was just using what you said as an example of the kind statement to not take at face value. I did have a look into Armadillo after posting and it seemed pretty good. But as far as I could see it's Windows only, so no good for me.

May the 0x90 be with you ;-)

T.
#8
09/23/2007 (4:24 pm)
Yeah AFAIK there is no cross platform protection package available.. I have no idea what Mac games are using, if anything. Perhaps a roll your own system to "phone home" is the only cross platform solution.
#9
09/23/2007 (4:30 pm)
If you're publishing with GG, AFAIK ignition runs on all 3 main platforms. I dont know about other off the shelf things though, I usually end up rolling my own when the need arises.

T.
#10
09/23/2007 (5:41 pm)
Update on my testing with SoftwarePassport/Armadillo.

I could not find any Quick Start Guide or any kind of documentation on how to use the Trial Version. After getting the errors I made some assumptions. 1) I should try to use as many default settings in the trial version as possible and 2) I needed to build my own EXE so the UPX compression of the default EXE wasn't involved.

I reinstalled SoftwarePassport, made a fresh default build of my EXE and used the defaults in the Trial Version. That seemed to do the trick. The EXE was wrapped and all seemed to work properly.

It wasn't the smoothest of first impressions, but it wasn't all that difficult to figure things out.

At this point Armadillo seems to be the leader. Every forum I have searched mentions it. Every online distributer supports it. Several people have claimed to have it working with TGB. The cost is reasonable at $300 USD. At this point I think we will probably choose to use it for our first game and see how it goes.

Now I think I need to look into the aforementioned procedure of using a password protected zip file for the media assets. (Thanks for the tip Tom.)

To anybody who is interested, post a reply to this thread and if I get enough of them to warrant the time needed to do it, I will right something up for the TDN wiki.

Any other hints or tips to this DRM newbie?
#11
09/25/2007 (9:06 am)
Software Passport/Armadillo doesn't work with TGB. The after game splash screen doesn't show up if Armadillo closes the game. The way I got around it was read environment variables set by armadillo and call quit() at the right time. If you quit() the screen works. Aladdin HASP also does not work with TGB.
#12
09/25/2007 (9:45 am)
Dan,

Thank you for the heads-up. I assume by saying, "Software Passport/Armadillo doesn't work with TGB.", you mean it in the manner you described and not to mean that it won't work at all and is not even an option. I am also under the assumption that if I purchase A/SP they would work with me to find a more eloquent solution to the problem. But I may be wrong on both counts. :)

As I am not yet a paying customer, I cannot look into the private/owner forums to see if there is any posts about using TGB with A/SP. Can anybody confirm that there are active users posting and that I can find help there if need be, after purchasing? I guess I should make a posting in the public forum mentioning that I am interested and ask them for their comments.

thanx
#13
09/26/2007 (10:02 pm)
Chaim,

Like I said it works and I'm finding it easy to use but if you want an after game screen when Armadillo kills your game after your time limit you will have to find a way around the problem. When I emailed support told me to fix the problem I should make a my own wrapper exe that wraps my game. I'm sure they will tell you about it if you want info on how to do it. There are a few posts about Torque in the private forums but they're just people asking about the issue I mentioned.

Reading environment variables and quitting with quit at the right time was pretty easy to do. It makes it harder to send to portals however.
#14
09/01/2010 (5:34 am)
@Chaim: We're having the exact same problems. i.e.R6002. Distributor tried it and it wouldn't wrap, I tried it with the trial version of Software Passport and it gave me the same error.

Could you elaborate on how you built the EXE without the compression?
#15
09/01/2010 (7:28 am)
Finally figured it out.