破解Visual Zip Password Recovery Processor v3.2 初級 (3千字)

看雪資料發表於2000-02-27

破解Visual Zip Password Recovery Processor v3.2(轉載希望保持完整)
作者:丁丁蝦 又名:DDXia [CCG]
級別:初級

    昨晚,趕寫方案,第一次寫真是累壞我,左忙忙,右忙忙,耗到晚上11點,

,寫你不容易!今早又要陪領導去客戶處導遊,起得特別的早,去華軍處看看有什麼

好的軟體,真的發現一個好軟體。

最新版本:3.2(4.0 Beta 3)
檔案大小:528KB
軟體授權:共享軟體
使用平臺:Win95/98/NT
軟體簡介:
  ZIP 壓縮檔案密碼恢復軟體,最大的特點是支援多處理器和網路運算,使得其能

夠發揮更快的速度去尋找你丟失的密碼。使用圖形操作介面,可自定最小與最大密碼

長度及數字、字母、符號來'查'密碼。亦有中斷密碼查詢及儲存功能,下次要恢復前

次的查詢時,只需將儲存的檔案讀入即可繼續上次的查詢,亦提供多種不同暴力查詢

模式,請勿用於不法用途。
http://www.newhua.com/down/vzprp32.zip

    安裝後,發現它只有315KB,一想功能可以支援多處理器和網路運算,功能如此

強大,為何這麼小呢??肯定是PACK過的,CHECK一下,果然是用ASPack 1.02b壓縮

,UNPACK IT(功力還沒有到這一層,只好藉助一下解壓羅^_^),依然用W32DASM--
破解中的精品。
    老方法,查詢出錯資訊-----"Password is invalid!";可以看到以下程式碼:
   
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0047B79C(C)
|^^^^^^^^^^^-------->這個是追查的關鍵。發現REG錯誤後,跳到這裡。

:0047B930 6A00                    push 00000000
:0047B932 668B0D70B94700          mov cx, word ptr [0047B970]
:0047B939 B201                    mov dl, 01

* Possible StringData Ref from Code Obj ->"Password is invalid!"
                                  |
:0047B93B B89CB94700              mov eax, 0047B99C
:0047B940 E89742FDFF              call 0044FBDC

  看一看0047B79C處的程式碼:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0047B796(C)
|
:0047B78F 8A10                    mov dl, byte ptr [eax]
:0047B791 0055D8                  add byte ptr [ebp-28], dl
:0047B794 40                      inc eax
:0047B795 4B                      dec ebx
:0047B796 75F7                    jne 0047B78F
:0047B798 807DD800                cmp byte ptr [ebp-28], 00
:0047B79C 0F858E010000            jne 0047B930
                                  ^^^^^^^^^^^^----->試一試把它nop掉
:0047B7A2 BB40000000              mov ebx, 00000040
:0047B7A7 8B35E0EC4700            mov esi, dword ptr [0047ECE0]

  哈哈。。。一註冊就THANK YOU!
  別急,它還有一個資訊提示:"Unregistered version!" 再把它給去掉吧!

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0047B0AB(C)
|
:0047B0A4 8A10                    mov dl, byte ptr [eax]
:0047B0A6 0055D8                  add byte ptr [ebp-28], dl
:0047B0A9 40                      inc eax
:0047B0AA 4B                      dec ebx
:0047B0AB 75F7                    jne 0047B0A4
:0047B0AD 807DD800                cmp byte ptr [ebp-28], 00
:0047B0B1 7473                    je 0047B126
                                  ^^^^^^^^^^^----->改為JMP 0047B126
                        如何找到它呢?----查詢"Unregistered version!"

:0047B0B3 8B45EC                  mov eax, dword ptr [ebp-14]
:0047B0B6 8B80DC020000            mov eax, dword ptr [eax+000002DC]

* Possible StringData Ref from Code Obj ->"Unregistered version!"
                                  |
:0047B0BC BAECB14700              mov edx, 0047B1EC
:0047B0C1 E87E24FBFF              call 0042D544
:0047B0C6 A100EF4700              mov eax, dword ptr [0047EF00]
:0047B0CB C60000                  mov byte ptr [eax], 00
:0047B0CE 8B45EC                  mov eax, dword ptr [ebp-14]
:0047B0D1 8B80DC020000            mov eax, dword ptr [eax+000002DC]
:0047B0D7 8B4058                  mov eax, dword ptr [eax+58]
:0047B0DA BAFF000000              mov edx, 000000FF
:0047B0DF E878AFF9FF              call 0041605C
 
  收工,我要上班了。
                                                完成時間
                                            2000.2.25 上午8:10
                                                耗時14分鐘

相關文章