Posted by [Garbage] on 1/19/2000, 12:29 am
, in reply to "Re: Solution for Task 2"
195.226.127.205
Thanks for the hint. You're right, so i checked the code again and found the following:
This is the code, where the entered and the correct code are compared:
:00446B96 83C40C add esp, 0000000C
:00446B99 8D9510FFFFFF lea edx, dword ptr [ebp+FFFFFF10]
:00446B9F 52 push edx <---*
:00446BA0 8D8DA0FEFFFF lea ecx, dword ptr [ebp+FFFFFEA0]
:00446BA6 51 push ecx <---*
* Reference To: KERNEL32.lstrcmpA, Ord:0000h
|
:00446BA7 E8AE460400 Call 0048B25A
:00446BAC 85C0 test eax, eax
:00446BAE 0F94C0 sete al
:00446BB1 83E001 and eax, 00000001
:00446BB4 5F pop edi
:00446BB5 5E pop esi
:00446BB6 5B pop ebx
:00446BB7 8BE5 mov esp, ebp
:00446BB9 5D pop ebp
:00446BBA C3 ret
I found another 1-Byte solution:
The two pushes are the strings that are compared. It is possible to change the second push into PUSH EDX so that the two strings must always be the same. the program "thinks" the correct serial would have been entered and runs without poping up a nag-screen. Even the about-box shows the Name & Company which are saved in the registry.
The only problem is, that you have to enter the Name & company directly in the registry, because the register-box can only be opened with the nag-screen.
Is there a solution that pops up the nagscreen if there is no entry in the registry and doesn't pop up if there is any entry in the registry? this would be a perfect solution, but i am not so good in coding/cracking so i can't do.
cu [Garbage]