April 1998
"Using Smart Checker V5"
(An example of using it to crack a program)
Win'95 Code Reversing
by The Sandman 
Code Reversing For Beginners 
Program Details
Program Name: ReadyCode'98
Program Type: Visual Basic Code Library
Program Location:  Here
Program Size: 1.77 megs 
Other Tools Required:
Easy ( X )  Medium (    )  Hard (    )  Pro (    ) 
There is a crack, a crack in everything. That's how the light gets in.
Using Smart Checker V5
( An example of using it to crack a program )
Written by The Sandman
The target program we're going to crack is called ReadyCode'98 by ASHISH COMPUTER SYSTEMS .

Here's what they have to say about themselves:-

Get the Power of programming. by using the ReadyCode'98

ReadyCode '98 has been designed for Visual Basic programmers. As a programmer you will be writing hundreds of lines of code every day for you tuning your VB programs. Now ReadyCode '98 is available for you, It contains over 50 generic useful functions  You can just cut the code from ReadyCode'98 and paste it  in your program."
About this protection system
Registration is via selecting the Help drop-down menu then selecting the Register option.

On selecting the Register option your asked to provide:-
                User Code:
                Registration Key:

The User Code you would put in a your chosen name then for the Registration Key you would carefully type in a 19 Alpha-Numeric (a string containing both numbers and letters) key code.
The Essay 
Start up Smart Checker, make sure the following settings are set:-

Here are the steps:

Select the Program menu item then click on the 'Settings' option within Smart Checker.

Click on the "Reporting" tab and enable everything  except "Mouse movement from OCX".

Under the "File to check" tab, enable everything.

Under "Error detection"  in "Type of errors to check for" check everything

Check "Save settings" before exiting.

Now select the 'File' menu item and choose 'Load'. Locate the file 'READYCODE.EXE'

We're now ready to start our registration crack, don't blink or you'll miss what happens next!.

Start ReadyCode98 and click the 'OK' to any run time errors Smart Checker finds as it starts up ReadyCode'98.  When the main screen appears select the 'Help' menu item then the 'Register' option.

You should now see two white input boxes marked 'User Code' and 'Registration Key'.

Can you see in the bottom right hand corner of your screen that Smart Checker has already logged 1000's of actions performed by ReadyCode98!.

For the User Code type:  Sandman
For the Reg Key type:     7777777

Now press the 'OK' key to see what happens next.  You should get a small pop-up window on your screen informing you that you have entered an invalid keycode. (surprise, surprise)

Click the 'OK' button to close this window then 'EXIT' out of ReadyCode'98 completely so we're left with Smart Checker.  Click on the 'OK' button for any runtime errors Smart Check finds as ReadyCode98 closes down.

We are now left with a log file that contains around 16,000 - 20,000 events generated by ReadyCode'98 as we attempted to Register it..

From within Smart Checker select the 'Edit' menu option and then choose the 'Find' option.

For the string we want to find type: Sandman then click on the 'Find Next' button.

Smart Checker will now find the first occurrence of this string within this log file. Once found simply 'click' on the lines above and below to get an idea what is happening.

To help you a little I will explain a little further..  The first occurrence of the string 'Sandman' represents that ReadyCode'98 has calculated the Length of the User Name you have entered into it.

Len(String:"Sandman") returns LONG:7

Our entered text has been calculated as having seven letters in it.

READYCODE.EXE!00031803       <---Code Loc in ReadyCode'98.
String  00492A94                              <---Type of input used in ReadyCode'98.
String1 = "Sandman"                        <---Our entered text.

Before proceeding any further can you see the next line up, where it says:

Len(String:"R") returns LONG:1

This is the start of our 'Real' Registration Key being generated by ReadyCode'98!!.
Now press the F3 Once.

Notice that we have these two lines:-

Len(String:"RC") returns LONG:2
Len(String:"Sandman") returns LONG:7

ReadyCode'98 at this stage has now created the SECOND letter of our 19 characters long Registration Key!!.

OK, now press the F3 key 19 times and notice how our Registration Key is being built letter by letter.

By the 19th keypress our Registration Key should look something like: RC2A-40622-CC024E

Job Done.....
Crack Loader 
Final Notes 
Now wasn't that boring! we didn't really have to work on this crack at all and we didn't even have to see any of the source code or use any other tool to arrive here.
My thanks and gratitude goes to:

Fravia+ for providing possibly the greatest source of Reverse Engineering
knowledge on the Web.
+ORC for showing me the light at the end of the tunnel.

Ob Duh 
Do I really have to remind you all that by buying and NOT stealing the software you use will ensure that these software houses will continue to  produce even *better* software for us to use and more importantly, to continue offering even more challenges to breaking their often weak protection systems.
If your looking for cracks or serial numbers from these pages then your wasting your time, try searching elsewhere on the Web under Warze, Cracks etc.

 Next   Return to Essay Index   Previous 

Essay by:          The Sandman
Page Created: 2nd May 1998