Microsoft vs. the System Clock (Winner: System Clock)

Saturday, June 28, 2008

Show of hands. How many of you remember the Dark Age of Software Licensing, when you could defeat time-based software trials... setting back your system clock?

Well. Sooner or later the software licensing people caught on, and started employing other mechanisms—such as file timestamping or online verification—so as not to be fooled by so simple an exploit. And if you download a fully-functional evaluation of (for example) Adobe Flash CS3, you'll find that setting the system clock back doesn't help. Once your trial has expired, it has expired.

Stick a fork in it, it's done.

So the question I have for you is this:

Why am I able, in the year 2008, to download a fully-functional 90-day trial of what is (arguably) the world's foremost software development suite (and an $800 dollar piece of software): Visual Studio 2008 Professional, use it for 90 days, set my system clock back, and continue to use the (fully-functional) product in perpetuity?

The full Professional version of the product, with all the bells and whistles, and who knows how many other Microsoft products besides.

Provided I set the clock back every time I run the program, or download a tool to do the same, the pyramids of Egypt will be worn to down to anthills by the chance scraping of the wings of errant desert birds before my "90 day" trial expires. That's a long time.  And hey, don't get me wrong! I'm a big fan of fully-functional trialware. If you want users to evaluate and potentially purchase your software, don't clutter their experience with pesky "Reminder: this is a trial edition" dialogs. Limit them to a 90-day or a 30-day trial if you must; but don't restrict what they can do with the product.

So hat's off to Microsoft for getting this one (sort of) right.

But Dear Microsoft: I feel like I have to say: it's okay to protect your products against piracy. And for you banks out there? It's okay to protect your money against criminals.

It's okay!

Otherwise you might as well rewrite the above trial expiration dialog to look more like this: 

I'm a self-acknowledged Microsoft fanboy in so many ways. And I love Visual Studio, and unlike many of the die-hards, I like each version more than the last.

But in Round 1 of Microsoft vs. The System Clock (okay, it's actually like round 12, but whatever) the victory goes to the System Clock.

And the crowds roar!

Long live the System Clock!

Tags: piracy, software registration, Microsoft

21 comment(s)

Amusing- it was not so long ago that the software licensing people even figured out how to read the system clock, let alone check it for inconsistency. Software licensing has been a joke from day one. But in fairness, it's a tough problem, one which I think we're getting better at.

(and now off to download my free version of VS2008, assuming the software hasn't changed since you downloaded it... ;)

Pointing out the bleeding obvious; no matter how hard Microsoft try, [b]someone[/b] will crack VS and share it. Most of Microsoft's profits from VS come from business purchases, and there is just no way a serious business can afford the risk of being sued for copyright infringement - thus, they'll buy the product.

From Microsoft's point of view, they can put an extra $1,000 into making this more secure, for no gain, or they can leave it insecure, rely on the honest being honest, and hope to convert the dishonest into paying customers once they make money out of it.

Simon- There's a big difference between "someone will crack it" and "anybody who knows how to use the System Clock can crack it". You can crack any registration scheme if you try hard enough; but most people don't, because it's a pain in the butt. But they WILL try to set the system clock back, just for the fun of it.

The 20 lines of code MS would have to "invest" in fixing this - the $1000 figure you mention - pays for itself as soon as two persons are forced to buy the software, or get their employers to buy the software. Not to mention the rascal developers who use the licensed (employer-purchased) version at work and the hacked (system-clock-rewinded) version at home.

Like me for example :)

Sometimes it is fun to set the system clock forwards before you install, and then set it back at your leisure...

Ha ha don't you think Microsoft already know about this? They don't care about people pirating Visual Studio, they just want us programmers to use it and get used to it so we use it in the future. Don't forget - Microsoft has some of the brightest and best people in the world working for them, and many things they do have an ulterior motive.

If you qualify as a student you can get it for free from the Microsoft Dreamspark program.

Why you are able to use Visual Studio 2008 this way? Some ideas:

1) As someone commented before, I don't think Microsoft is not that much concerned about people pirating VS. Ms cash cow is Windows, not VS, and by using VS (even if you don't pay) you are creating value for the Windows platform. The reason they don't give VS free (the way Apple gives free XCode) is most likely monopoly lawsuits. But they do give you "VS Express" free, that has everything you need and more.

2)You can make a system as hard to crack as you want, but every check you add just makes things more annoying to paying customer. Where do you put the limit? I think VS has it right, not requiring you to check your time with an internet server (many of us develop in virtual machines with no internet connection). Just checking your computer time is not foolproof you say? Yep, but no method is. Is it too easy to crack? I don't think so. It makes you change back your clock every time you want to use VS. And even if you write an app to automate changing the clock (which would be more complex than just looking at a torrent site), setting back the time will mess with your makefiles, build process and version control systems. Once you lose a file because the "newer" one was actually older, or once you don't get the thing to compile because the newer .obj and .h files are older, you will go and pay the usd 800. And if you don't, you weren't a customer worth losing time anyway. ftr, in my own shareware apps I do the same. Just a simple clock check. If you are so cheap to go back every time and don't care about losing modifications because the time of the files is wrong, then it is ok with me. You are paying with your time, not your money.

Wow, I had no idea that this was possible? You could just change the date on your computer and it would mess with the software you're installing? This is some great advice, I'll be trying it out soon enough.

The 90 day trial isn't supposed to stop the determined from using VS after 90 days. The "adversary" that this anti-piracy scheme is trying to stop is the casual user who will now purchase it. It is well known

Saying "Microsoft shouldn't use anti-piracy measures because someone who wants to break them will break them" is like saying "Door locks are useless because people can pick them". MS's anti-piracy measures aren't supposed to stop people who want to get around them. They're supposed to stop the casual compromise.

James, there are several other MS programs which AREN'T given away to students which suffer from the same vulnerabilities. I assume you know about these and have chosen not to mention them since this post is obviously a little tongue in cheek.

Why even bother to use VS? Since the framework is free all you need is an editor, and the SharpDevelop editor is free and quite good.

I agree, MS doesn't care if people pirate VS. They want as many people developing for Windows as possible, and letting everyone have VS is a good way to do it.

Now, if you are successful, I bet they have a way to ask you for money then ^^

Microsoft Exec: If You're Going To Steal Software, Steal From Us

Look at Vista: the original entered lock-down mode if it expired or the activations was found to be not genuine. Vista SP1 just nags you from time to time and makes the desktop black (removes wallpaper).

Could you set the system clock to the year 4000 before the install so that you wouldn't have to change it before everytime you start it?

It's just sloppy sloppy sloppy on the part of the devs. Who frikkin' cares whether people can pirate the software; if a registration mechanism is in place at all, it should be good enough not to be defeated by rolling back the system clock. It would be like encrypting sensitive data using 'password' as the password. Most developers would be surprised to learn how often MS software is actually pirated even amongst "responsible" businesses.

There's never organizational thrust to pirate software (penalties being so severe) but users will do so whether the company is willing to pay or not. How many people have still-working "eval" copies of WinZip lying around? No different here. I know 3 professional devs who all run cracked copies of VS and other MS tools. One way or another. All of whom are capable of purchasing it and would do so if they were forced.

So if MS wants to make the software free, they should make it free, and if not, they should put in effective safeguards for the script kiddy system clock haxors ;-) The fact that VS2008 (ostensibly) costs $800 has made more than one young programmer turn to something like Java which is truly free.

How do I get a copy of moneyforge?

I was skirting through your old posts, beer in hand, and came across this one. Downloaded it. Set the system clock FORWARD. "Your Visual Studio 2008 trial has expired." Set the clock BACKWARD. Everything works.

I have a copy of VS2005 at work, nice to know that MS encourages devs to use VS2008 in this way.

What about a system restore?

The 20 lines of code MS would have to "invest" in fixing this - the $1000 figure you mention - pays for itself as soon as two persons are forced to buy the software, or get their employers to buy the software. Not to mention the rascal developers who use the licensed (employer-purchased) version at work and the hacked (system-clock-rewinded) version at home.

Your blog provided us with valuable information to work with. Each & every tips of your post are awesome. Thanks a lot for sharing. Keep blogging.police gear store

Use the form below to leave a comment.

Coding the Wheel has appeared on the New York Time's Freakonomics blog, Jeff Atwood's Coding Horror, and the front page of Reddit, Slashdot, Digg.

On Twitter

Thanks for reading!

If you enjoyed this post, consider subscribing to Coding the Wheel by RSS or email. You can also follow us on Twitter and Facebook. And even if you didn't enjoy this post, better subscribe anyway. Keep an eye on us.

Question? Ask us.



All in all you're just another spoke in the Wheel.


You've read our technical articles, you've tolerated our rants and raves. Now you can hire us anytime, day or night, for any project large or small.

Learn more

We Like

Speculation, by Edmund Jorgensen.