The Artima Developer Community
Sponsored Link

Agile Buzz Forum
ElastoLab copy protection

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
ElastoLab copy protection Posted: Oct 5, 2006 6:57 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: ElastoLab copy protection
Feed Title: David Buck - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/buck-rss.xml
Feed Description: Smalltalk can do that
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From David Buck - Blog

Advertisement

One interesting aspect of ElastoLab is how I protected it (or at least tried to) from piracy. Now that ElastoLab is freeware, I don't mind sharing information on how I did this.

If you downloaded ElastoLab, you are given the option to get a 7 day free trial. Once you provide your name and an e-mail address, ElastoLab connects to the Simberon web site and sent the data in a "POST" HTTP message to a hidden web page. Along with the name, address, etc. is the timestamp of the "ElastoLab" directory in the "Program Files" directory. The CGI script used this timestamp along with the current time to create a key to send back to ElastoLab. This key would only work on a machine that had the right timestamp for the ElastoLab directory and within 7 days of the returned timestamp.

Every time someone launched ElastoLab, it would verify check the key, make sure that the time is within the limits, verify that the current time was after the last time ElastoLab was run, and write it back out (along with the current time). It would write to both the registry and to the file system. If anything went wrong (one or the other was deleted, different, or invalid), it would write garbage data into both that would cancel the 7 day trial period.

I wanted to make it easy for registered users to use ElastoLab. When you purchased ElastoLab, I would provide a CD Key. This key is a number that's divisible by a large prime number then byte swapped in a fixed order and converted into alphanumeric characters. A key would only work if ElastoLab could convert it back into the original number and verify that it was evenly divisible by the large prime. This gave me millions of keys I could generate but placed the odds of getting one at random in the millions.

In one case, I found that someone had purchased ElastoLab then placed their public key on a "Crack" web site for others to use. I was flattered. I then added a patch to explicitly disable that key and put up a new version.

Read: ElastoLab copy protection

Topic: Tiling in Pollock Previous Topic   Next Topic Topic: iPod, or Zune?

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use