DISKdata v3.2.0之暴力破解 (6千字)

看雪資料發表於2000-10-01

DISKdata v3.2.0暴力破解

    對不起大家了,先前發的那個貼子太疏忽了,沒有驗證便發了上去,我今天試了一下
結果不能用,%$&*$%%#・,結果貽笑大方,結果我的臉象個XX。

下面我把正確的破解方法寫出來。
  工具:TRW2K,UltraEdit
  步驟:
      1。用TRW2K載入DISKdata,按F10,一直到出現NAG窗。
      2。退出程式,被TRW攔截,看一下此時的eip,在其上的Call上設斷。
        :0049101F E838D6FBFF              call 0044E65C  **在此設斷**
        :00491024 A1643A4900              mov eax, dword ptr [00493A64]  **TRW將在此處中斷**
        :00491029 8B00                    mov eax, dword ptr [eax]
        :0049102B E8ACD6FBFF              call 0044E6DC
        :00491030 E8B32AF7FF              call 00403AE8
      3。再次載入程式,中斷後F8進入,再一直按F10,直到NAG窗出現。
      4。當NAG窗退出時,TRW中斷,按F4看看使用者螢幕有什麼變化,沒有。此時TRW螢幕顯示如下:
        :0048AB6C 8B0DF8394900            mov ecx, dword ptr [004939F8]
        :0048AB72 A1643A4900              mov eax, dword ptr [00493A64]
        :0048AB77 8B00                    mov eax, dword ptr [eax]
        :0048AB79 8B15644C4800            mov edx, dword ptr [00484C64]
        :0048AB7F E8D83AFCFF              call 0044E65C
        :0048AB84 A1F8394900              mov eax, dword ptr [004939F8]  **在此設斷**
        :0048AB89 8B00                    mov eax, dword ptr [eax]
        :0048AB8B 8B10                    mov edx, dword ptr [eax]
        :0048AB8D FF92D8000000            call dword ptr [edx+000000D8]  **出現NAG窗**
        :0048AB93 A1F8394900              mov eax, dword ptr [004939F8]  **TRW將在此中斷**
        :0048AB98 8B00                    mov eax, dword ptr [eax]
        :0048AB9A E8B983F7FF              call 00402F58
       
        可以看出48ab8d是呼叫NAG窗的模組,有興趣的同志可以進去看看,裡面便是判斷是否註冊的地方。
      5。把斷點設於48AB84,重新LOAD,中斷後,R eip 48ab93,按F5試試(CRACK就是要不斷的試)。
      6。結果程式正確執行。試試功能,沒問題。把48AB84到48AB8D的程式碼NOP掉,再把時間調後一年看看,
          依然沒問題。Cracked success?
      7。執行選單命令,%^&*...,我倒,NAG窗又出來了,只好繼續攔截。
      8。執行萬能攔窗斷點,bpx destroywindow,F5,攔住。
      9。pmodule後,再不斷的F12,直到:
          0167:0048F875 648920          MOV      [FS:EAX],ESP
          0167:0048F878 803D4049490000  CMP      BYTE [00494940],00
          0167:0048F87F 7533            JNZ      0048F8B4    (NO JUMP)**在此設斷 R EIP 48F8B4**
          0167:0048F881 8B0DF8394900    MOV      ECX,[004939F8]
          0167:0048F887 A1643A4900      MOV      EAX,[00493A64]
          0167:0048F88C 8B00            MOV      EAX,[EAX]
          0167:0048F88E 8B15644C4800    MOV      EDX,[00484C64]
          0167:0048F894 E8C3EDFBFF      CALL    0044E65C
          0167:0048F899 A1F8394900      MOV      EAX,[004939F8]  **在此設斷 R EIP 48F8A8**
          0167:0048F89E 8B00            MOV      EAX,[EAX]
          0167:0048F8A0 8B10            MOV      EDX,[EAX]
          0167:0048F8A2 FF92D8000000    CALL    NEAR [EDX+D8]  **出現NAG窗**
          0167:0048F8A8 A1F8394900      MOV      EAX,[004939F8]  **TRW將在此中斷**
          0167:0048F8AD 8B00            MOV      EAX,[EAX]
          0167:0048F8AF E8A436F7FF      CALL    00402F58
          0167:0048F8B4 A1C8484900      MOV      EAX,[004948C8]
          0167:0048F8B9 8B804C010000    MOV      EAX,[EAX+014C]
          0167:0048F8BF 8945DC          MOV      [EBP-24],EAX
          0167:0048F8C2 33C0            XOR      EAX,EAX
          0167:0048F8C4 8945E0          MOV      [EBP-20],EAX
          0167:0048F8C7 8D85DCFEFFFF    LEA      EAX,[EBP+FFFFFEDC]
          0167:0048F8CD 8945E4          MOV      [EBP-1C],EAX
          0167:0048F8D0 B898FA4800      MOV      EAX,0048FA98
          0167:0048F8D5 8945E8          MOV      [EBP-18],EAX
          0167:0048F8D8 C745EC01000000  MOV      DWORD [EBP-14],01
          0167:0048F8DF 33C0            XOR      EAX,EAX
          0167:0048F8E1 8945F0          MOV      [EBP-10],EAX
          0167:0048F8E4 8D45DC          LEA      EAX,[EBP-24]
          0167:0048F8E7 50              PUSH    EAX
          0167:0048F8E8 E8C300FCFF      CALL    `SHELL32!SHBrowseForFolderA`
          0167:0048F8ED 85C0            TEST    EAX,EAX
          0167:0048F8EF 0F847F010000    JZ      NEAR 0048FA74
          0167:0048F8F5 8D95DCFEFFFF    LEA      EDX,[EBP+FFFFFEDC]
          0167:0048F8FB 52              PUSH    EDX
          0167:0048F8FC 50              PUSH    EAX
          0167:0048F8FD E8B600FCFF      CALL    `SHELL32!SHGetPathFromIDListA`
          0167:0048F902 8D45FC          LEA      EAX,[EBP-04]
          0167:0048F905 8D95DCFEFFFF    LEA      EDX,[EBP+FFFFFEDC]
          0167:0048F90B B900010000      MOV      ECX,0100
          0167:0048F910 E83B45F7FF      CALL    00403E50
          0167:0048F915 8B45FC          MOV      EAX,[EBP-04]
          0167:0048F918 E88345F7FF      CALL    00403EA0
          0167:0048F91D 85C0            TEST    EAX,EAX
          0167:0048F91F 0F8E4F010000    JNG      NEAR 0048FA74
          0167:0048F925 8B83FC030000    MOV      EAX,[EBX+03FC]
          0167:0048F92B 8BB054020000    MOV      ESI,[EAX+0254]
          0167:0048F931 8BC6            MOV      EAX,ESI
          ......
      10。在48F87F處設斷,強行跳過試試。成功了,沒有NAG窗了。再在48F899處設一下R eip 48F8A8試試,
          也跳過去了,再仔細看看48F899處的程式碼,與48AB84處比一下,一模一樣。
      11。把該處程式碼改後,再執行選單看,結果---我倒,還有NAG。想想第10步,明白了吧。哈哈,用UltraEdit查詢一下
          48F899到48F8A2處的程式碼,有多少處?這就是我推薦用UltraEdit的好處,替換吧。再執行看。這次
          應該沒問題了吧,再有問題我就$%%$%$#@....
         
      結論:因為在48ab93中斷時,使用者螢幕沒有變化,所以可以猜測程式在上一個CALL中,只是判斷程式有
            無註冊,所以可以在其上試著跳過看看,我破解的其它程式則一般是需要不斷CALL進去後找到一
            個判斷點來決定是否出現NAG窗。
      改法:   
          查詢    a1f8394900 8b00 8b10 ff92d8000000(共有7處)
          替換為-> 9090909090 9090 9090 909090909090
         
           
  注:本人名字有朋友提醒說發不出音來,遂決定改名為KanKer(砍客)。從這次的破解來看,我想我叫
      砍客應該是沒人有意見了吧?呵呵。
         
          =============<完>=============
                                                Cracked by cqzrd

相關文章