破解 周公解夢2.11 實戰錄 (3千字)

看雪資料發表於2000-08-22

周公解夢2.11 試用18天,作者也太吝了,呵呵,破了它吧!

軟體下載:
http://202.102.231.158/software/download/system/other/zhou211.zip
前言:和上次的那個有聲有色3.10一樣,此軟體也是用aspack加殼,用
畢衛國先生的unaspack1.0.9.1或手動脫殼都很容易!。
步驟:
一、安裝後將時間向後調一個月,出現了過期提示框,這就是切入點,
我們可以從這裡入手,此時在trw中下
:pmodule
:g  (返回)
按一下“確定”,程式就被攔截下來:
015F:00459046 50              PUSH    EAX
015F:00459047 E838DAFAFF      CALL    `USER32!MessageBoxA`
015F:0045904C 8BF0            MOV      ESI,EAX  //程式停於此
由此可見,註冊提示框是由上面的CALL USER32!MessageBoxA出來的。

二、用W32dasm反彙編脫殼後的主程式,找到程式00459047處,看下面程式碼:

* Referenced by a CALL at Addresses:
|:004A3F38  , :004A4382  , :004A43F5  , :004A4426  , :004A4461 
//此處有五個地址值得懷疑!破解關鍵所在。
:00458FFC 55                      push ebp
:00458FFD 8BEC                    mov ebp, esp
:00458FFF 6A00                    push 00000000
:00459001 53                      push ebx
:00459002 56                      push esi
:00459003 8BD8                    mov ebx, eax
:00459005 33C0                    xor eax, eax
:00459007 55                      push ebp
:00459008 6873904500              push 00459073
:0045900D 64FF30                  push dword ptr fs:[eax]
:00459010 648920                  mov dword ptr fs:[eax], esp
:00459013 8D55FC                  lea edx, dword ptr [ebp-04]
:00459016 8B4338                  mov eax, dword ptr [ebx+38]
:00459019 8B08                    mov ecx, dword ptr [eax]
:0045901B FF511C                  call [ecx+1C]
:0045901E 66837B4200              cmp word ptr [ebx+42], 0000
:00459023 7408                    je 0045902D
:00459025 8BD3                    mov edx, ebx
:00459027 8B4344                  mov eax, dword ptr [ebx+44]
:0045902A FF5340                  call [ebx+40]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00459023(C)
|
:0045902D 8B4328                  mov eax, dword ptr [ebx+28]
:00459030 50                      push eax
:00459031 8B4330                  mov eax, dword ptr [ebx+30]
:00459034 E8C7ADFAFF              call 00403E00
:00459039 50                      push eax
:0045903A 8B45FC                  mov eax, dword ptr [ebp-04]
:0045903D E8BEADFAFF              call 00403E00
:00459042 50                      push eax
:00459043 8B432C                  mov eax, dword ptr [ebx+2C]
:00459046 50                      push eax
:00459047 E838DAFAFF              call 00406A84  //提示框的出處!向上看
:0045904C 8BF0                    mov esi, eax
:0045904E 66837B4A00              cmp word ptr [ebx+4A], 0000
:00459053 7408                    je 0045905D

三、可以下分別對我們懷疑的地址下中斷
:bpx 004A3F38 
:bpx 004A4382   
:bpx 004A43F5   
:bpx 004A4426 
:bpx 004A4461
重新執行程式,程式被攔中斷於004A4382,呵呵,看來有戲,接著看: 

015F:004A436A 8B8328030000    MOV      EAX,[EBX+0328]
015F:004A4370 8B10            MOV      EDX,[EAX]
015F:004A4372 FF92B4000000    CALL    NEAR [EDX+B4]
015F:004A4378 3C01            CMP      AL,01
015F:004A437A 750D            JNZ      004A4389  //此處跳走,則不會出錯:)
015F:004A437C 8B830C030000    MOV      EAX,[EBX+030C]
015F:004A4382 E8754CFBFF      CALL    00458FFC  //程式攔於此處!向上看2行
015F:004A4387 EB71            JMP      SHORT 004A43FA
015F:004A4389 8B8318030000    MOV      EAX,[EBX+0318]
015F:004A438F E8F014FBFF      CALL    00455884
015F:004A4394 DD1C24          FSTP    QWORD [ESP]
015F:004A4397 9B              WAIT   
此程式只要在004A437A處,改為JMP 004A4389就不會出現過期提示了。如何
修改程式,我就不想多說了。朱江(作者)兄,我可沒改你的程式呀~~O~~
  好久沒寫這麼多東西了,真是累呀:)

                十三少
        China Cracking Group
              2000.08.21

相關文章