![]() 3D 3D Photo Gallery (Part 1) 3D Photo Gallery (Part 2) Audio Poor Man's MIDI Make A Metronome iPod Tricks (Part 1) iPod Tricks (Part 2) iPod Tricks (Part 3) Laugh Track Machine Audio Player with Reverb Shepard Melody RB Phone Home Build a Drum Machine Custom Controls and Windows Double Click Listbox Draggable Metal Window Double Click Canvas Custom Buttons Custom Buttons Part II iTunes-style Listboxes Custom Controls General RB Scrolling Windows Using Mesage Dialogs Case-Sensitive Word Finder Introduction to Stacks Wiggle Window JPEG in PDF Listbox Checkboxes Background Applications Listbox Auto-Find Virtual Volumes Time Tracker Software Distribution (Part 1) Software Distribution (Part 2) Software Distribution (Part 3) Software Distribution (Part 4) Exceptions Tips and Tricks Text Clippings Made Easy Graphics Drawing a Simple Gradient The SpriteSurface: Space Game Image Spinner Cropping Graphics (Part 1) Cropping Graphics (Part 2) Cropping Graphics (Part 3) Cropping Graphics (Part 4) Shimmer Graphics Lissajous Figures Simple Screen Capture Vector Graphics Kaleidoscope Images Stegonography Spirals! Image Table RB Magnifying Lens Screen Capture Color Picker Tutorial Hacks Ghost Grab Speedy Mouse Extension iTunes Plugins iTunes Skinner Mac OS X Global Hot Key Event (Carbon Events) Login Welcomer (Carbon Events) Add/Remove Buttons Resizable Sheets Mac OS X Preferences Window Using Sheets in REALbasic Build a Bundle (Part 1) Build a Bundle (Part 2) Dock Your Passwords Mac OS X Debugging REALbasic Mac OS X Icon Tutorial Animate Your Dock RB and the Command Line Menus Window Menu Templates Menu Listbox Menu Novelty Guessing Game Calendar Trivia Tile Mixer Zip Code Finder Happy Valentine's Day Merlin Simulator (Part 1) Merlin Simulator (Part 2) Merlin Simulator (Part 3) Buzzword Machine AppleSoft BASIC Printing Print to PDF Registration Registration Code Validation Network Registration Codes Resources Picture Extractor (Part 1) Picture Extractor (Part 2) Serial Caller ID (Part 1) Caller ID (Part 2) Caller ID (Part 3) Speech Speech Recognition Socket Communication Easy Peer-to-Peer File Sharing MacPAD Version Checking Display Web Image In Canvas HTML IMG Tags Version Tracking Even Smarter Instant Messaging Web Tiler JavaScript and REALbasic Stock Ticker (Part I) Stock Ticker (Part 2) AIM Mate XML Manipulation Simple XML Introduction Video Big Brother Video Capture Note: All articles without a byline were written by Erick Tejkowski. When cleaning the site I removed them because the code differed from page to page, and I have yet to put them back in.
Tell us about a bad link. |
Introduction As I mentioned last week, there are many possible ways for you to "protect" your software. I put "protect" in quotation marks, because in reality, your best efforts in software protection will be thwarted. Don't fret, though. With a little creativity, you can stop casual pirates (i.e. keep the honest folks honest) and slow down the pirates. Code Examples Last week we looked as some possible tools you can use to protect your software. Some of these include:
Registration Key Perhaps the most common prevention tool is the registration key. In this scheme you issue some sort of key to clients and customers. The user enters the key when prompted and the software is registered for use. As you might imagine, there are many ways to approach this problem. The main idea is to make a registration key algorithm that produces keys that are difficult to reproduce from thin air. Usually this means a string containing letters and numbers, often combined into groups of 4 or 5 characters at a time. For example, you might construct a registration key like this: dim name,s as string This is a rudimentary example for creating registration keys, but it illustrates an important point or two. First off, there are many ways you can combine characters and digits to form a registration key. Be creative here. Any little twist you can add will throw the casual software pirate. Secondly, the final segment being a checksum is important. Checksums lower the probability that a pirate can randomly produce valid keys. This stems from the fact that information in the checksum is dependent on information elsewhere in the key. This makes it harder for the crackers that are trying to defeat your protection by automatically generating random registration keys in search of a valid one. Some other things to consider about registration keys:
The above code showed you how to create a registration key. To use the key, simply test it in reverse. dim key,name,s as string Conclusion We've looked at some of the issues you are up against when trying to sell software, but when it comes down to it creativity, fortitude, and good code are your best weapons. You can download the code used in this tutorial to help you get started. Have fun and see you next week! |
|||||
|
Please support ResExcellence by Visiting our Sponsors. One click makes a difference. |
||||||
|
|