这个软件(包)是属于比较简单的那一类。先用RegMon、FileMon找一下,看见几个可疑的注册表键:Start、State、CheckNum等。以Animator为例,用bpx
RegQueryValueExA do "d *(esp+8)"设断点,看见它读Start键的时候就改按F12或F10,会看见它检查注册表中的这几个键。可见,只要DS:[0042BD60]为非零值,它就不会检查时间了。于是用BPM
0042BD60 W设个断点,发现它把LoadLibraryA("MUCOM.DLL",...)的返回值放在这个变量中,这说明只要存在一个有效的mucom.dll就是注册版,因为注册版不用检查日期,且不会在窗口的标题栏中显示“Evaluation
day 1 of 30”之类的鬼话,而且它还会调用这个dll中的GetCopyRight( )显示注册用户的信息。由于无法构造一个有效的mucom.dll,故只需要把下面的第一个JNZ改为JMP即可。注意:不要朝[0042BD60]中写入非零值,因为它是DLL的句柄,弄不好会出非法操作。其它的几个EXE与此类似。
015F:0040C3ED MOV EAX,[0042BD60]
015F:0040C3F2 TEST EAX,EAX
015F:0040C3F4 JNZ 0040C40C
015F:0040C3F6 CALL 004184C0 //这里头检查时间。
015F:0040C3FB TEST EAX,EAX
015F:0040C3FD JNZ 0040C40C
015F:0040C3FF POP EDI
015F:0040C400 POP ESI
015F:0040C401 POP EBP
015F:0040C402 POP EBX
015F:0040C403 ADD ESP,000001E4
015F:0040C409 RET 0008
015F:0040C40C MOV EAX,[0042BE8C]
至于muapp.dll的CRC校验,用bpx CreateFileA容易搞定。只要是CRC校验,一定要使用文件读写或内存映射文件的API,用这些API作断点即可。共两处CRC校验,第一处是检查自己,第二处是检查EXE。似乎在DllMain(
)中干的,因为说无法启动该DLL。
015F:6400135A 89442414 MOV
[ESP+14],EAX
015F:6400135E 85DB
TEST EBX,EBX
015F:64001360 7FCB
JG 6400132D
015F:64001362 56
PUSH ESI
015F:64001363 FF157C700064 CALL
[KERNEL32!CloseHandle]
015F:64001369 A130900064 MOV
EAX,[64009030]
015F:6400136E 8B542414 MOV
EDX,[ESP+14]
015F:64001372 3BD0
CMP EDX,EAX //第一处
015F:64001374 0F85BDFCFFFF JNZ
64001037
.................
015F:6400156B 85C0
TEST EAX,EAX
015F:6400156D 7507
JNZ 64001576
015F:6400156F B803000000 MOV
EAX,00000003
015F:64001574 EB19
JMP 6400158F
015F:64001576 8D542430 LEA
EDX,[ESP+30]
015F:6400157A 681C910064 PUSH
6400911C
015F:6400157F 52
PUSH EDX
015F:64001580 FFD6
CALL ESI
015F:64001582 85C0
TEST EAX,EAX
015F:64001584 0F85ADFAFFFF JNZ
64001037
015F:6400158A B801000000 MOV
EAX,00000001
015F:6400158F 8B4C2414 MOV
ECX,[ESP+14]
015F:64001593 8B148534900064 MOV
EDX,[EAX*4+64009034]
015F:6400159A 3BCA
CMP ECX,EDX //第二处
015F:6400159C 0F8595FAFFFF JNZ
64001037
015F:640015A2 5F
POP EDI
015F:640015A3 5E
POP ESI
015F:640015A4 5D
POP EBP
015F:640015A5 B801000000 MOV
EAX,00000001 //good guy
015F:640015AA 5B
POP EBX
015F:640015AB 81C4B8020000 ADD
ESP,000002B8
015F:640015B1 C20C00 RET
000C