-----------------------------------------------------
【破解过程】
用peid查壳(习惯)无壳,Borland Delphi 写的。呵呵,我喜欢。主程序为Dfbox.exe,未注册时标题有No register字样。在安装目录下有Dfbox.ini配置文件,打开看看,有UserName和UserCode项,说明它是把注册信息放在了这里,启动时检验。用od载入,下断bpx getprivateprofilestringa大体跟了一下,由于不太懂汇编,所以也没看出什么眉目来。用W32d载入,查找No register,我们来到这里
* Referenced by a CALL at Address:
|:004EB277
|
:00491308 53 push ebx
:00491309 56 push esi
:0049130A 8BF2 mov esi, edx
:0049130C 8BD8 mov ebx, eax
* Possible StringData Ref from Code Obj ->"No register"
|
:0049130E 6830134900 push 00491330
:00491313 56 push esi
* Possible StringData Ref from Code Obj ->"UserCode"
|
:00491314 B944134900 mov ecx, 00491344
* Possible StringData Ref from Code Obj ->"UserInfo"
|
:00491319 BA58134900 mov edx, 00491358
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004912A9(C)
|
:0049131E 8B4304 mov eax, dword ptr [ebx+04]
:00491321 8B18 mov ebx, dword ptr [eax]
:00491323 FF13 call dword ptr [ebx]
:00491325 5E pop esi
:00491326 5B pop ebx
:00491327 C3 ret
和这儿
* Referenced by a CALL at Addresses:
|:004E8903 , :004EB289
|
:00491364 53 push ebx
:00491365 56 push esi
:00491366 8BF2 mov esi, edx
:00491368 8BD8 mov ebx, eax
* Possible StringData Ref from Code Obj ->"No register"
|
:0049136A 688C134900 push 0049138C
:0049136F 56 push esi
* Possible StringData Ref from Code Obj ->"UserName"
|
:00491370 B9A0134900 mov ecx, 004913A0