一個超容易破解的軟體! (5千字)

看雪資料發表於2001-01-21

對於第一次學習破解的朋友,這是一個很好的學習軟體。
對於高手來說,他們可以在2分鐘內就把它給幹掉了。^^

軟體名:MightyFax 


軟體簡介:  這是一個很簡單的傳真軟體,沒有華麗的外表,但是很實用。

你可以用列印檔案的功能從你的 Word 等軟體直接把檔案傳真出去。

另一方面你也可以接收外來的傳真。


下載地址:
          http://members.aol.com/rksrks2/mf32.exe    (win9x version)
          http://members.aol.com/rksfiles4/mfnt.exe  (NT version)


我這裡演示的是 win9x version



所用的工具:
            1.softICE 4.05.可在下列網址download
http://mud.sz.jsinfo.net/per/aaron/files/debuggers/win/si405w9x.zip

            2.HIEW 6.01
下載地址: http://go2.163.com/%7Etoye/tools/hiew640reg.zip

知識要求: 1。具備基本的彙編知識。
          2。懂得 softICE 的基本操作。

破解思路:
          執行 MightyFAX 時,它會跳出一個視窗,提示我們這個軟體還沒有註冊。並提示
          這個軟體還可以用多少天,然後要我們選擇註冊或是繼續試用。
             
          所以我就猜想程式的流程可能是這樣的。

        1>  載入程式。

        2>  判斷這個程式註冊沒有
            如果註冊了,就跳到主程式。
            如果沒有註冊, 就繼續。

        3>  判斷軟體有沒有過期。
            如果沒有過期,就跳到註冊視窗,要求註冊。
            如果過期了, 就進行一些處理,(比如使程式不能繼續使用等)
            然後就跳到註冊視窗,要求註冊。



從上面可看到,我們只要找到程式在那裡判斷有沒有註冊,就很容易破了這個軟體的。


讓我們開始吧!講了那麼多費話,我雞蛋也中了不少。555555


I. 找出判斷關鍵!

1)  用 SoftICE 的 Symbol Loader 載入MightyFAX,
    如何載入?到看雪大哥的網頁看看吧!http://www.kanxue.com/
    那裡有詳細的教材。

2) 被 SoftICE 攔下來後,下 wc (這個命令是否使人聯想到什麼地方了?^^)

3)  然後,就是狂按 F10 啦!一直到跳出那個要求註冊的視窗為止。

4)  回到 SoftICE 的 Symbol Loader ,選 File---> Save SoftICE History As...
    吧剛才我們所看到的東西都儲存下來。

5)  用隨便一個編輯工具開啟我們剛才儲存的檔案。

6) 現在讓我們來分析它,我把其中一部分貼在下面了。

  .......

0177:004DA4AE  XOR      EAX,EAX
0177:004DA4B0  PUSH      EBP
0177:004DA4B1  PUSH      004DA619
0177:004DA4B6  PUSH      DWORD PTR FS:[EAX]
0177:004DA4B9  MOV      FS:[EAX],ESP
0177:004DA4BC  MOV      EAX,004DE21C
0177:004DA4C1  MOV      EDX,[004DD4A0]
0177:004DA4C7  CALL      004037F8
0177:004DA4CC  PUSH      00
0177:004DA4CE  PUSH      01
0177:004DA4D0  PUSH      01
0177:004DA4D2  MOV      ECX,004DA634
0177:004DA4D7  MOV      EDX,004DA644
0177:004DA4DC  MOV      EAX,004DA650
0177:004DA4E1  CALL      004ADBF4
0177:004DA4E6  LEA      EAX,[EBP-10]
0177:004DA4E9  CALL      004938B8
0177:004DA4EE  MOV      EDX,[EBP-10]
0177:004DA4F1  MOV      EAX,004DE270
0177:004DA4F6  CALL      004037F8
0177:004DA4FB  LEA      EAX,[EBP-10]
0177:004DA4FE  CALL      004938B8
0177:004DA503  MOV      EAX,[EBP-10]
0177:004DA506  MOV      EDX,[004DE258]
0177:004DA50C  CALL      004AF8F0
0177:004DA511  XOR      AL,01
0177:004DA513  MOV      [004DE1A2],AL
0177:004DA518  MOV      CX,001A
0177:004DA51C  MOV      DX,000A
0177:004DA520  MOV      AX,07D0
0177:004DA524  CALL      004ADCF4
0177:004DA529  MOV      EAX,004DE1A4
0177:004DA52E  MOV      EDX,004DA664
0177:004DA533  CALL      004037F8
0177:004DA538  XOR      EAX,EAX
0177:004DA53A  PUSH      EBP
0177:004DA53B  PUSH      004DA560
0177:004DA540  PUSH      DWORD PTR FS:[EAX]
0177:004DA543  MOV      FS:[EAX],ESP
0177:004DA546  PUSH      004DA66C
0177:004DA54B  CALL      0040583C
0177:004DA550  PUSH      EAX
0177:004DA551  CALL      004057BC
0177:004DA556  XOR      EAX,EAX
0177:004DA558  POP      EDX
0177:004DA559  POP      ECX
0177:004DA55A  POP      ECX
0177:004DA55B  MOV      FS:[EAX],EDX
0177:004DA55E  JMP      004DA56A  ----------> (JUMP )
0177:004DA56A  MOV      EAX,[004DD62C]
0177:004DA56F  CALL      00428D00
0177:004DA574  CALL      00493F1C
0177:004DA579  TEST      AL,AL    ----------->  判斷有沒有註冊
0177:004DA57B  JZ        004DA5B8 -----------> (NO JUMP)  (對比關鍵,跳則不用註冊!)
0177:004DA57D  MOV      EAX,004DE27C
0177:004DA582  MOV      EDX,004DA680
0177:004DA587  CALL      004037F8
0177:004DA58C  MOV      EAX,[004DE258]
0177:004DA591  CALL      004AE4C8
0177:004DA596  CALL      004AE1A4
0258:0070  JNZ      00A3  ------------------>  (JUMP)
:x

........

       
  在整個檔案當中,我只找到三個 jump,第一個是無條件的 jump ,所以不用管它。
 
  剩下兩個,從前面的程式流程我們可以很容易猜到第一個判斷是看註冊沒有,
 
  第二個是判斷有沒有過期。

7)  為了檢驗我們的判斷對不對,用 SoftICE 再載入程式。一直按 F10 直到這裡。

......
0177:004DA57B  JZ        004DA5B8
........

  下 rfl +z  將 no jump 改為 jump

然後繼續按一下 F10, 再按 F5 離開。

8)  這時,我們就可以發現程式直接進入主程式,而不再出現註冊視窗。


II.  修改程式。


9)  現在,就讓我們來修改它吧。執行 HIEW (同樣,看雪大哥的教材也有 HIEW的介紹

先去看看,再繼續下去。)



10)用 HIEW 載入 MF.exe

11)按 F4 選擇 Decode

12) 按 F5  , 輸入偏址: 004DA57B 然後回車。

13)  咦?!怎麼出現 “jump out of file” 的提示?

(為什麼會這樣,各位高手能給點提示嗎?)

14)  只好用另外一種方法啦。

15)  用 SoftICE 載入 MF.exe

16) 來到
....
0177:004DA57B  JZ        004DA5B8
.....

        下 d 0177:004da57b

可看到機器碼:

    74 3B B8 7C E2 4D 00

17)  用 HIEW 重新載入 mf.exe.

18) 按 F7, 輸入 74 3B B8 7C E2 4D 00

19) 按 F3, 將 74 改為 75.

20)  修改好後,F9存檔(按回車後到下一行,再按ESC讓對話方塊消失,然後按F9)。

相關文章