破解Advanced Find and Replace V1.2.2 (6千字)

看雪資料發表於2000-03-31

破解Advanced Find and Replace V1.2.2(轉載希望保持完整)

級別:原始社會-----前輩們請指點。
作者:丁丁蝦 又名:DDXia [CCG]
目的:非常的天真無‘牙’------別無所求(不以任何商業用途為目的)

軟體名稱:Advanced Find and Replace
整理日期:2000.3.30
最新版本:1.2.2
檔案大小:959KB
軟體授權:共享軟體
使用平臺:Win95/98/NT
釋出公司:Home Page
軟體簡介:
  文件內容查詢工具,支援萬用字元,支援普通文字、HTML 和 RTF 檔案,您可以插入、替換、移除整個段落。

http://www.newhua.com.cn/down/c_afr121.zip

      好久沒有出來混,不知道現在哪位是道上的大哥,知道的告訴我一聲哦!呵 。。 呵。。^_^
      終於有時間定下心來,寫篇破解文了。  (最近工作比較煩,煩、煩阿、還是覺
得寫破文比較開心,有福同享嘛!:))
      先執行程式,註冊,看一看出錯的資訊是什麼?"Sorry, registration code is not correct"
        啟動W32DASM載入主程式,可以去打一壺涼白開(那可是景德鎮小茶壺哦)!查詢"sorry,registration." ok 發現目標-----方位在:00473C92


* Possible StringData Ref from Code Obj ->"Sorry, registration code is not "
                                        ->"correct"
                                  |
:00473C92 B8143D4700              mov eax, 00473D14
:00473C97 E838F3FDFF              call 00452FD4
:00473C9C C6831103000000          mov byte ptr [ebx+00000311], 00


      往上糗一糗:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00473C60(C)
^^^^^^^^^^^^^^-------->這個有問題。查詢它的程式碼!一定是出錯後的跳轉

|
:00473C87 6A00                    push 00000000
:00473C89 668B0DD83C4700          mov cx, word ptr [00473CD8]
:00473C90 B201                    mov dl, 01
                                             
* Possible StringData Ref from Code Obj ->"Sorry, registration code is not "
                                        ->"correct"
                                  |
:00473C92 B8143D4700              mov eax, 00473D14
:00473C97 E838F3FDFF              call 00452FD4
:00473C9C C6831103000000          mov byte ptr [ebx+00000311], 00

========================================================================

:00473C2D 8B83D0020000            mov eax, dword ptr [ebx+000002D0]
:00473C33 E870BCFBFF              call 0042F8A8-------->取你打入的公司名--DDXia
:00473C38 8B45FC                  mov eax, dword ptr [ebp-04]
:00473C3B 50                      push eax
:00473C3C 8D55F4                  lea edx, dword ptr [ebp-0C]
:00473C3F 8B83D4020000            mov eax, dword ptr [ebx+000002D4]
:00473C45 E85EBCFBFF              call 0042F8A8--------->取你打入的註冊碼---123456789
:00473C4A 8B55F4                  mov edx, dword ptr [ebp-0C]
:00473C4D 8D4DF8                  lea ecx, dword ptr [ebp-08]
:00473C50 8BC3                    mov eax, ebx
:00473C52 E8A9F4FFFF              call 00473100--------->透過註冊碼來計算你公司名
:00473C57 8B55F8                  mov edx, dword ptr [ebp-08]
:00473C5A 58                      pop eax
:00473C5B E81802F9FF              call 00403E78--------->計算結果和公司名比較
:00473C60 7525                    jne 00473C87 --------->如果不對,就跳到SORRY:(
:00473C62 8BC3                    mov eax, ebx
:00473C64 E853FAFFFF              call 004736BC
:00473C69 6A00                    push 00000000
:00473C6B 668B0DD83C4700          mov cx, word ptr [00473CD8]
:00473C72 B202                    mov dl, 02

* Possible StringData Ref from Code Obj ->"Thank you very much for registration"
                                  |
:00473C74 B8E43C4700              mov eax, 00473CE4
:00473C79 E856F3FDFF              call 00452FD4
:00473C7E C6831103000001          mov byte ptr [ebx+00000311], 01
:00473C85 EB1C                    jmp 00473CA3

  其中有一個問題是,我們鍵入的是亂碼,所以它產生的也是亂碼,而且有一些不是ASC碼,
不能得到正確的公司名。因此,只能是暴力解啦!!---不好意思*-*;
  把:00473C60 7525                    jne 00473C87 -------》改為 je 00473c87
 
  再執行程式,還是顯示沒有註冊。看來程式的開始也做了檢查(這種註冊方式時常有的哦)

:00473C5B E81802F9FF              call 00403E78--------->計算結果和公司名比較
  用W32DASM看一下其他地方有沒有  call 00403E78的。

* Referenced by a CALL at Addresses:
|:00411FEB  , :00416C2B  , :00417C2B  , :0041CDE9  , :0041DCD0 
|:00422617  , :00422635  , :004231D0  , :004281DE  , :0042E90A 
|:0042E995  , :0042F6C5  , :0042F900  , :0043140F  , :0043A607 
|:0043ABF1  , :0043AD61  , :0043AED5  , :0043DE6D  , :0043E293 
|:0043E352  , :0043E76E  , :0043E9BF  , :0043F23F  , :0043FC4D 
|:0043FE03  , :004409D1  , :00440B88  , :00440F63  , :0044D621 
|:0044E23F  , :0045B773  , :0045BBAE  , :0045D820  , :0045D928 
|:0045E953  , :0045F618  , :0046136F  , :0046F81E  , :00470155 
|:004701B5  , :0047124C  , :00472728  , :00472927  , :004729FF 
|:00472B54  , :00473586  , :004739E7  , :00473C5B  , :00476244 
|:004762E7  , :00476347  , :00476356  , :00476749  , :00476854 
|:00476960  , :0047747D  , :0047748F 
|
:00403E78 53                      push ebx
:00403E79 56                      push esi
:00403E7A 57                      push edi
:00403E7B 89C6                    mov esi, eax
 
    WHAT?????:-o  我好怕哦!!!不是跟我過不去嗎??看來作者還是挺逗的嘛!
哈哈哈:)) 今晚又是西雅圖不眠夜啦!!!
 
    Stop!!!!有新發現!     
:00473C52 E8A9F4FFFF              call 00473100--------->透過註冊碼來計算你公司名
  用W32DASM看一下其他地方有沒有  call 00403E78的
             
* Referenced by a CALL at Addresses:
|:0047357B  , :004739DE  , :00473C52 
|
:00473100 55                      push ebp
:00473101 8BEC                    mov ebp, esp
:00473103 83C4E0                  add esp, FFFFFFE0
:00473106 53                      push ebx
:00473107 33DB                    xor ebx, ebx
:00473109 895DF8                  mov dword ptr [ebp-08], ebx

  還好了,只有三個地方,而且 00473C52不用作斷點的(為什麼!看一看上面的程式,不是啟動中的判斷)
 
在 :0047357B, 中斷了,讓我們分析一下
:0047357B E880FBFFFF              call 00473100----->計算程式
:00473580 8B45E4                  mov eax, dword ptr [ebp-1C]
:00473583 8B55F8                  mov edx, dword ptr [ebp-08]
:00473586 E8ED08F9FF              call 00403E78--------->比較程式
:0047358B 7523                    jne 004735B0---------> 改 jne---->je.                         

再試一下,只改0047358B jne--------->je 可不可以呢???? 當然可以!
OK!收工!今夜沒有星星!!!                                         
                         
                                                                完成時間
                                                              2000.3.31 00:54

相關文章