You purchase a brand new pair of Levis Jeans. The next day, while boarding a crowded bus, you fall down and realize that the jeans is torn. What will you do? Will you throw that away? Not at all! You'll instead stitch a piece of fancy label covering the torn part. This piece of cloth is known as a 'Patch'.
That was a lay man's view of a patch. In the Software Industry, a patch is applied when a production software shows up a little bug. After determining a fix for the bug, a newer version of the software is not released until the pre-determined date. Instead, a small piece of code is released. This piece of code fixes only that particular bug on a pre-installed software of the Client's system. On a later date, all the patches and newer features are added to the original code and will be re-compiled and released as a newer version.
When it comes to the world of cracking, a 'Patch' takes a whole new meaning. Instead of fixing a bug, it produces a bug in the original software! Confused?
To understand it better, let's view it from the eyes of a Software cracker. For a cracker, the end result is a Software that works fully without any kind of interruption to the user. The obstruction that comes for him is when the manufacturer adds a 'Nag'. Let's look at an example.
When I first purchased my PC, I was interested in Wallpapers, screen savers etc. I used to visit a few web sites to download them. There were many kinds of screen savers available. One such screen saver that caught the attention of my eyes was a Bikini Girls screen saver! I immediately downloaded and installed it. After a few hot screens, it dampened the atmosphere by showing a screen... "This is a shareware. To continue using this, you need to purchase by paying $xx.xx...."
In the above example, the Software manufacturer's interest would be to sell the screen saver without spending much Advertising or Sales revenue. But from a Consumer point of view, it was an agony (please stop giggling).
Getting back to work, the Screen saver guys added a lock. The code starts up by uncompressing the cabbed file. Next it starts showing the the picture after picture. At a specific point, it starts showing the nag screen. Either to select the option to pay or select the option to enter the Serial number to unlock. When the option to pay is selected, the code opens up a web page and exits the program. However, when the option to enter the key is selected, a function call is generated that presents the screen to enter the code. If the key is invalid, the user will be intimated. Else, the code calls another function that congratulates the user for the payment and releases the nag screens. The flow then jumps back to where it was interrupted previously.
You might have got a clear picture of how it works. Now lets see how a patch makes ones life easy. The Crackers will use a Hex Editor to disassemble the Software and start following the flow of the program. This process is called Reverse Engineering where in the actual software is disassembled in a step by step fashion. When the program flow reaches the stage where in the Nag function is called, the patch will simply delete or comment the remaining function call till the regular code that continues to show the pictures arrive. Although it may seem very simple, that's not as easy!
Wednesday, March 14, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment