Since I'm a technical guy the first part will describe the technical implementation, then followed by the benefits this has for legit customers and the drawbacks for non-legit customers. Although this is aimed at MicroSoft Windows and PC Gaming in particular, the principle applies to Apple Mac and Linux as well as other platforms.
(Originally posted on my website EmSai.)
Roger Hågensen considers himself an Absurdist and a Mentat, hence believing in Absurdism and Logic. Has done volunteer support in Anarchy Online for Funcom. Been a Internet Radio DJ with GridStream. Currently works as a Freelancer, Windows applications programmer, web site development, making music, writing, and just about anything computer related really. Runs the website EmSai where he writes a Journal and publishes his music, ideas, concepts, source code and various other projects.A few basic things first.First of all there is no perfect solution, anything that is executable or stored on end-user hardware can be cracked in some way no matter how elaborated it is, and all it takes is for one individual to be able to do that, once that has happen that person gives a copy to others who in turn give it to others, none of those people need to worry about the protection as the cracker already have. This is true for disc checks, online checks, save games stored online, regardless of implementation it can be circumvented, disabled, emulated, replaced and so on.
Meanwhile the legit owners get annoyed, or end up with various issues some real and some philosophical while others are consumer rights related, and in some cases law conflicting. So what is the goal of DRM? It is to prevent copying, period. What is the best case scenario? Delay cracking for a few months and prevent casual copying, and lately DRM is becoming less and less effective, DRM seems to only be able to limit pre-launch leaks, and in some cases failing that. Pre-launch leaks is not DRM related at all, it's more an issue of trust and not keeping tabs on your own merchandise while not looking.
So, back to DRM (Digital Rights Management), or copy protection, scratch that, copy prevention, no not that either... I'm not sure what to call it, but whatever it is, it's not prevention/protection/right management nor anything close to that, it's more like product lock-in and product expiration and greed all wrapped into one, I guess you can tell I'm no fan of DRM or Copy protection systems, at least not any of the past or current ones I've seen out there.
The answer is simple, The Ideal Copy Protection is "Value Added".
What the heck does that mean? It means that the value of a legit copy should outweigh that of a non-legit copy so much so, that a pirate would seriously consider buying it, whether they actually do or not is another case, but if the product is good and they can afford it then they most likely will. Think of digital pirates as the client group of your fiercest competitor, then try to think of ways to lure them from your competitor to you company and your products. This is the unwritten law of the Free Market. A pirated product is no longer your product, it's a competing product, but it's also a lesser product, or at least it should be, but most methods used today actually allow the pirated copy to add value by simply reducing or eliminating any and all inconveniences for the consumer.
What would you choose (ignoring the social morality issue for now) if you had the choice between a free and hassle free software and a non-free software with an overly annoying hassled procedure to get it running and use it? I know what my answer would be, and I think I know what your answer would be too.
So what can you do as a developer/publisher? Ignore the pirates, and make potential customers realize that by getting a legit copy/becoming a legit owner that they get some value added, something that no pirate can give them.
But before detailing legit owner benefits, let me just do a quick technical outline of how the Ideal Copy protection should be implemented, and don't worry it's not overly technical, but be prepared to maybe look some terms up in Wikipedia if you are unfamiliar with them.
If a CD/DVD distribution then the following steps should occur:
1. Autorun or Manual start of Installer.2. The Installer does not require Elevated Privileges, but if the user chooses "All Users" then elevation must be performed, you could do a RunAs but Mictosoft advises to run a executable which has a administrator elevation manifest instead.
3. The Game/Program is installed, any updates of support files like DirectX and so on should use the official runtime redistributable, these will prompt elevation if necessary, or the OS will auto elevate them in some cases, not really your concern, you just need to execute the installer and check for success or failure.
4. At some stage during installation preferably at the end when completed, ask the user for the product serial. For a non-elevated install aka normal user this would be the current user, but for a elevated install this would be an administrator while you actually want the user that initiated the install, if possible try to add support for an unattended install with a way to provide a serial and target user. Do simple serial validity check to ensure the user actually typed it correctly, so that if it's a HEX or numeric or alphanumeric that it only contains expected characters, is the right length, maybe add a checksum to it for self checking, inform the user if it seems wrong, if they keep messing up again and again, offer a link to a support page or phone number or something like that as it's likely there is either a bug or the issued serial is wrong.
5. If the user choose to enter the serial then store the serial under the users roaming preferences folder, on Windows 7 for example this defaults to C:
Comments
Post a Comment