Posted by ChiquititaIL on January 15, 2000, 5:30 pm
192.117.152.56
--->
Task 1: first-half of full solution, by ChiquititaIL(email: chiktita@newmail.net)
=================================================================================
First I want to say a lot of tx to Sandman & LaZaRuS for their great project :));
and now for the solution:Task 1.1:
---------
First I ran acoustica as is, in order to understand her protection system.
Those are the conclusions:
1. Every time I load the utility, I got nag screen asking me purchase acoustica and also
inform me on my 30 days evaluation period.
That nag screen include 3 buttons as follow:
- You start using acoustica as sharware.
- Acoustica will operate the help execution file(HHserver.exe acoustica.chm).
It explain how to get the register version of acoustica; simple, send money
with your details, you will get Email with serial number, type the number in
acoustica registration dialog and end to the evaluation period.
Note that you should send only your name detail(no company), it mean acoustica
generate key code number only by your name field of the registration window.
- You will get registration dialog which expect for 3 details: Name, Company &
key code (** surprising **).
After typing dummy serial, you will see messagebox(maybe not) with very
interesting information "The key does not match license owner"(wohoo !!! I didn't know it ;-))
You can search for that string reference with your DiAsm` utility(I use IDApro).
Clickingbutton bring you back to the nag screen. 2. In the programme:
* You can't register yourself when the acoustica already running.
You must restart acoustica to get the register dialog.
* The "About" dialog inform me on unrigstered version.
You can catch that dialog with SoftICE , in order to find the register flag.
* If you set the timer before the day you installed it, you will get an expired message.
Press, you should be given the register window. If you click the programme
will exit and the helpfile will be shown.Task 1.2:
---------
I first opened acoustica.exe file with EXEscope utility (This utility can show you all the best first needed information
on your exe file: strings,icons,dialogs,DLLs imported fucntions. Also you can edit the resources easily & fastly).
Those are the conclusions:
1. Global information:
-------------------
* 32bit utility.
* The exe file isn't packed, because you can see reveal strings with simple editor.
2. Good imported DLL functions(for breakpoints):
---------------------------------------------
lstrcmpa(KERNEL32)
GetDlgItemTextA(USER32)
GetDlgItemInt(USER32) - maybe acoustica transfer your dummy serial string to a number variable.
GetWinsowTextA(USER32)
GetWindowTextLengthA(USER32)
GetLocalTime(KERNEL32)
{----------------------------------------------------------------------------------------}
{ BIG HINT: If you plan to use one of those functions as breakpoints, I recommend you to}
{ start with lstrcmpa. Why? you will understand when SoftICE break 8) }
{----------------------------------------------------------------------------------------}
3. Good string references:
-----------------------
"The key does not match license owner"
"The evaluation period has expired."
"Your license is registered. Thank you for your purchase of Acoustica 2"
"Day 0 on your 30 days trial period."
"Day %d of your 30 days trail period."4. Good dialog references:
-----------------------
DIALOGID_3E8(1000dec in EXEscope) --> "Unregistered" ID=C7(199dec)
DIALOGID_3E9(1001dec in EXEscope) --> "This is sharware version of acoustica 2" ID=FFFF(65535)
Task 1.3:
---------
About "The key does not match license owner" message window:
Messagebox? it isn't. Why?
A. It isn't include icon.
B. If you set breakpoint with SoftICE on messageboxa calling(bpx MessageBoxA) no break will be happened.
So it can be a self-made(not include in resource section) dialogbox or self-made simple window that include
two child windows: static window(The wrong serial text) & button window().
Next.... full solutions for task 1.4,1.5.