LenraV
Calculation Routine
Sun Dec 27 11:53:17 1998


Hi Sandman,
Hi jeff,

I think this how it calculates our serial no.
Breakpoint on hmemcpy to get into SI.

The program is computing the serial based from the handle
each char at a time even before you press the register button.

The program is not really computing the serials but extracting the
equal char of each char of our handle from a table at 440334 - 4404d8 in
memory. Each of the 26 chars of the alphabet and the 10 digit
decimal numbers has an equal character value.

Here it is.

For the 26 alphabets.

A = 9 L = k W = eP
B = o M = v X = 1
C = 3 N = h Y = x
D = u O = g Z = z
E = y P = f
F = t Q = d
G = r R = s
H = 6 S = a
I = w T = m
J = q U = 8
K = A V = b

for the 10 digits

1 = p 6 = -x
2 = tx 7 = F
3 = W 8 = T
4 = V 9 = 7b
5 = X 0 = oG

Your name must be greater than 6, therefore your serial is also greater
than 6.Other char not mention above is ignored.
Your name is converted to uppercase first.

At this location 43fb39 where handle get process.

Let's find the serial no for handle Pirate Copy.

From the table above...

P = f
I = w
R = s
A = 9
T = m
E = y

C = 3
O = g
P = f
Y = x

If there's a space in between the character, the equivalent
char preceeding the space gets deleted, therefore y is remove.

So that our final Serial no for handle Pirate Copy is fws9m3gfx.

Now, if i entered a name which has a space in between each of
the character like in P I R A T E C O P Y it generates only a single serial
which is x - the equivalent of the last character in our handle. Which is also invalid.
Since the program is requiring us to enter more than 6 in our serial.


thanks,

Kind Regards,

LenraV