|
|
|
|
|
|
|
|
|
|
||
|
||
|
|
|
WS_FTP Pro complies
with the Windows sockets (Winsock) standard,
allowing you
to transfer files between a wide variety of systems,
including Windows,
OS/2, and UNIX systems.
|
create date=19990530
15:34
expire date=June
14, 1999
expiration=1999165
<<< 165 dayes from begining
of 1999.
Don't change this file before you make a backup !! (unless you want re-install it)
Ok, can we start our un-limited trip
now ?
|
We can see that the program clculated
the days left from the system date and
the expire date in the WS_FTP.key.
Now it's kept in add [ebp-0c] in memory, and we
jump to :
* Referenced by
a (U)nconditional or (C)onditional Jump at Addresses:
|:004113C4(U), :00411432(U),
:0041147E(U)
|
:0041149F 8B45F4
mov eax, dword ptr [ebp-0C] ;
eax=days left
:004114A2 E900000000
jmp 004114A7
;
jump to next line
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:004114A2(U)
|
:004114A7 5F
pop edi
;
we jump to here
:004114A8 5E
pop esi
:004114A9 5B
pop ebx
:004114AA C9
leave
:004114AB C3
ret
After we get back from the ret, we
are here :
:004118FA E8F4F3FFFF
call 004112AA
;
back from this call
:004118FF 83C408
add esp, 00000008 ; we
land here !
:00411902 8945FC
mov dword ptr [ebp-04], eax ;[ebp-68]=days
left
:00411905 E907000000
jmp 00411911
;
we jump here
* Referenced by
a (U)nconditional or (C)onditional Jump at Address:
|:00411905(U)
|
:00411911 837DFC01
cmp dword ptr [ebp-04], 00000001
:00411915 0F8DBC000000
jnl 004119D7 ;
jump if more then 0 days left
:0041191B 6A00
push 00000000
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00411915(C)
|
:004119D7 837DFC08
cmp dword ptr [ebp-04], 00000008 ;
we land here !
:004119DB 0F8D1C000000
jnl 004119FD ;
jump if more then 8 days left
:004119E1 8B45FC
mov eax, dword ptr [ebp-04]
:004119E4 50
push eax
* Possible Reference
to Dialog: DialogID_4E22
|
:004119E5 68224E0000
push 00004E22
:004119EA 8B4508
mov eax, dword ptr [ebp+08]
:004119ED 50
push eax
:004119EE 8B450C
mov eax, dword ptr [ebp+0C]
:004119F1 50
push eax
:004119F2 E883F5FFFF
call 00410F7A ;
call shows the days left screen
:004119F7 83C410
add esp, 00000010 ;
from here works normal !!!
:004119FA FF45A8
inc [ebp-58]
If no more days, it will keep on,
press 'F10' untill you get the screen, and press
"continue evaluation", this screen
is created at location 004119F2,
and from then, the
program keeps runing as normal,
at location 004119F7.
Can you see what is the code above
? We see how this protection routine is
calculating how many days left for
us to use. If we steel have more then 0 days
the program will jump to location
004119D7.
All the reverse done here is just to let you
see how a trial version can check
the days. Now we go to the actual part...
Ok, from location 004119F7
keep press 'F10' 18 times
this will lead us to where
all the checks were called from
:
:00423C6D 6A00
push 00000000
:00423C6F E8A6D9FEFF
call 0041161A ;
call for checks and nag screen
:00423C74 83C410
add esp, 00000010 ;
from here works normal !!!
:00423C77 E9D0000000
jmp 00423D4C
We can 'nop' this call, so we will
not get the last 7 days warning.
Now, for making this program to
work for ever, look at this :
:00423BCF E8D6DEFEFF
call 00411AAA
:00423BD4 83C410
add esp, 00000010
:00423BD7 85C0
test eax, eax
:00423BD9 0F849D000000
jz 00423C7C
:00423BDE 00837DE4000F
add byte ptr [ebx+0F00E47D], al
If we change the 'jz 00423c7c' to 'jmp 00423c74', this will make it...
job done.
|
SEARCH FOR THE FOLLOWING BYTES
: 85C00F849D0000
REPLACE WITH HIGHLIGHTED
BYTES : 85C0E996000000
REMEMBER, i'm
doing my cracks as a hobby and challenge, so please, if you like
this utility and
want to keep using it, support the author and pay for it.
|
My thanks and gratitude goes to:-
The Sandman for all what he is doing for
us, newbies.
Rhayader for helping me with Reverse Code
Engineering and useful tips