Master Converter v1.81 - Tutorial

ftp://ftp://savard.com/pub/ (mc32.exe - 351k).

I'm back once again, this time highlighting an altogether rather strange implementation of a hard-coded in serial #. Lets take a look by starting Master Converter. After the irritating time delay has passed you can select register and be confronted with the screen below.

Master Converter Dialog

Obviously with the single dialog box this program probably has one universal acceptable code, on the positive side you won't actually find the code in the disassembler which at least makes this worthy of using SoftICE on, so enter some number and >bpx Hmemcpy. You'll need to do a fair amount of tracing to actually reach this code.

:00443DE8 MOV EDX,[EBP-04] <-- Number entered in EDX.
:00443DEB MOV EAX,0044FE1C
:00443DF0 CALL 00403390 <-- Was a number entered. A completely pointless check.
:00443DF5 MOV EAX,[0044FE1C] <-- Number entered moved into EAX.
:00443DFA CALL 004404A0 <-- Check the number routine.
:00443DFF MOV [0044FE18],AL <-- Set a Flag.
:00443E04 CMP BYTE PTR [0044FE18],00 <-- Compare.
:00443E0B JZ 00443E50 <-- Jump bad number.

Well, this should be easy to follow, the function at 00403390 is a very silly check, else how did you push the O.K. button without entering a number, the call 004404A0 will need tracing because of a critical string length check at this code.

:004404D0 CALL 004034B4 <-- Returns length of serial # entered in EAX.
:004404D5 CMP EAX,0D <-- Compare it to 13.
:004404D8 JZ 004404E1 <-- Serial was 13 in length, jump good buyer.

The calculation routine or should I say compare routine then proceeds, a set of 2 functions are called many times to verify each single digit of the code, this routine wouldn't be so bad if the program actually refused the code at each check, but instead it blindly checks each of the digits and then stores the correct digit for that location, on the final pass it dumps the good code for all to see before determining the flag.

In some respects this program isn't bad, just reversing the check won't permanently register the program and the registration information isn't that easy to locate, neither is the echo of the good code, once you've examined this application be sure to check out mconvert.ini and note that this program was written in Delphi.

Master Converter v1.81
Registration Code: 121684*624032


© 1998 CrackZ. 14th May 1998.