December 1998

"Solsuite 98 v3.5"

( A very easy hard(ly)-coded serial  )

Win '95/'98 PROGRAM

Win Code Reversing

 

by Punisher 

 

 

Cracking 4 Newbies 

 

 

Program Details

Program Name: Sol98.exe

Program Type: Solitaire Games Collection

Program Location: Softseek  

Program Size: 2.31MB 

   Tools Used:

Soft-Ice --- Debugger

Rating

Easy ( X )  Medium (   )  Hard (    )  Pro (    ) 

There is a crack, a crack in everything. That's how the light gets in.


SolSuite98 v3.5

( A hard(ly)-coded serial number )

Written by Punisher

  

Introduction

 

The author(s) of this program can be found at:  http://www.solsuite.com

 Solsuite is a collection of about 130 Solitaire games.

 

About this protection system

 

Registration is via the ? REgistration Code.. menu item. Here you will be asked to enter:-

Registration Code :

The registration is hardcoded into the program.
 

The Essay 

Install Solsuite 98 and run the program. You will be presented with a window which ask you to choose a game. Choose the cancel button and you will get into the main program window. Selection Registration code from the ? (help menu).

You are now presented with the registration dialogbox. You will notice that there is one one edit box to enter only serial number. This means that the serial number will most likely be hard-coded.

Enter a fake serial number I use 45454545. go into Soft-Ice using ctrl-d and set a breakpoint on hmemcpy. eg:-

>>> BPX HMEMCPY

We will use hmemcpy becasue using GetDlgItemTextA and GetWindowTextA does not work.

Leave Soft-Ice by pressing ctrl-d. We are back in the registration dialogbox. Click the OK button and soft-ice breaks in Kernel at hmemcpy.

Type X and Press the {ENTER} button. Sof-Ice will break in Kernel at hmemcpy again. Now Press F11 once and F12 6 times to get to Solsuite code.

Now Single step through solsuite code until you come to this piece of code.

0137:0046BA89     SUB   EAX, 0001E157
0137:0046BA8E     LEA   EDX, [EBP-0C]
0137:0046BA91     CALL  004075A4
0137:0046BA96     MOV   EDX, [EBP-0C] ; the real serial is loaded in edx
0137:0046BA99     POP   EAX
0137:0046BA9A     CALL  00403E00

Single step past MOV EDX, [EBP-0C] and dump the memory addres at EDX. eg:-

>>> d edx

There in the data window you will see your fake serial number and the real serial number. Write it down. Now clear all breakpoints. eg:-

>>> bc *

Type X and press the {ENTER} Key to let the program run. A messagebox box will come up telling you that your serial number is invalid. Clear that messagebox by clicking the OK button.

NOw enter the real Serial number and press the OK button. A meesagebox will inform you that the program is now registered and display a dialogbox for you to enter your name. The rest is up to you.


You should buy this program if you intend to use it longer than the evaluation period.


  Index