網咖管理專家9.5破解手記 (6千字)

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

        網咖管理專家9.5破解手記

[宣告]

    我寫文章的目的是為了交流技術,希望大家在轉載時能保持文章的完整性。
   
   
[前言]
 
        前幾天,有個朋友問我<<網咖管理專家9.5>>是如何破解的,這個軟體我早就破解了,
      用的是暴破(不好意思)。聽有些高手說它用是的RSA加密演算法,我數學不好,演算法就更
   不用提了,所以只能....。我個人認為,破解就是想辦法將它的限制CANCEL掉,不管什
   麼方法。當然了破解的最高境界是寫序號產生器,不過我程式設計不好,以前用匯編寫過一個註冊
   機,差點把我累死,所以這次我就偷個懶了。
          好了,不說費話了。Let's begin.

 主要是分析OCTODLL.DLL檔案。
 
PART A:使用者名稱的長度判斷。
PART B:註冊時的關I點。
PART C:軟體啟動時的關I點。(如果強行註冊,軟體啟動時會提示註冊碼被破壞了。) 

==================< Part  A >=======================       
0167:004E76D9  E8F6E7FDFF          CALL      004C5ED4                         
0167:004E76DE  8B45EC              MOV      EAX,[EBP-14]  ;這裡是我們輸入的使用者名稱。                   
0167:004E76E1  E80EC5FBFF          CALL      004A3BF4      ;計算使用者名稱的長度。                   
0167:004E76E6  83F804              CMP      EAX,04        ;比較長度是否大於並等於4。
                              ;(經分析使用者名稱長度必須>=4)                   
0167:004E76E9  7D2E                JGE      004E7719                         
0167:004E76EB  6A10                PUSH      10                               
0167:004E76ED  B9007A4E00          MOV      ECX,004E7A00                     
0167:004E76F2  BA087A4E00          MOV      EDX,004E7A08                     
0167:004E76F7  A1D8BC4E00          MOV      EAX,[004EBCD8]                   
0167:004E76FC  8B00                MOV      EAX,[EAX]                         
0167:004E76FE  E8DDA3FFFF          CALL      004E1AE0                         
0167:004E7703  8B45FC              MOV      EAX,[EBP-04]                     
0167:004E7706  8B80CC020000        MOV      EAX,[EAX+000002CC]               
0167:004E770C  8B10                MOV      EDX,[EAX]                       
0167:004E770E  FF92B4000000        CALL      [EDX+000000B4]               

==================< Part  B >======================= 
0167:004E7465  E8B2FDFFFF          CALL      004E721C                         
0167:004E746A  83E802              SUB      EAX,02                           
0167:004E746D  8945E0              MOV      [EBP-20],EAX                     
0167:004E7470  C165DC02            SHL      DWORD PTR [EBP-24],02             
0167:004E7474  8D4DDC              LEA      ECX,[EBP-24]                     
0167:004E7477  8B01                MOV      EAX,[ECX]                         
0167:004E7479  8B5104              MOV      EDX,[ECX+04]                     
0167:004E747C  0FACD002            SHRD      EAX,EDX,02                       
0167:004E7480  C1FA02              SAR      EDX,02                           
0167:004E7483  8901                MOV      [ECX],EAX                         
0167:004E7485  895104              MOV      [ECX+04],EDX                     
0167:004E7488  8B45DC              MOV      EAX,[EBP-24]                     
0167:004E748B  3B45E4              CMP      EAX,[EBP-1C]  ;這裡是關I,EAX是算出來的值,[EBP-1C]是正確的值。                   
0167:004E748E  7404                JZ        004E7494      ;正確轉入4E7494,我們要改這裡為JMP 004E7494                   
0167:004E7490  33DB                XOR      EBX,EBX      ;這裡賦EBX=0,如果你經常Crack,你會發覺這裡我可以
                                 ;算是個標誌,用在後面的TEST中作判斷。                   
0167:004E7492  EB11                JMP      004E74A5                         
0167:004E7494  668B45E0            MOV      AX,[EBP-20]                       
0167:004E7498  6625FFFF            AND      AX,FFFF                           
0167:004E749C  8B55F8              MOV      EDX,[EBP-08]                     
0167:004E749F  668902              MOV      [EDX],AX                     

==================< Part  C >======================= 
0167:004E8437  8901                MOV      [ECX],EAX                       
0167:004E8439  895104              MOV      [ECX+04],EDX                     
0167:004E843C  8B45DC              MOV      EAX,[EBP-24]                     
0167:004E843F  3B45E4              CMP      EAX,[EBP-1C] ;這裡是我們重新啟動軟體時的比較,也是用演算法算出來的。                 
0167:004E8442  7404                JZ        004E8448    ;我們也要改一下,改成JMP 004E8448     
0167:004E8444  33DB                XOR      EBX,EBX      ;不正確時,賦EBX=0,返回後用在TEST指令中。                   
0167:004E8446  EB11                JMP      004E8459                         
0167:004E8448  668B45E0            MOV      AX,[EBP-20]                       
0167:004E844C  6625FFFF            AND      AX,FFFF                           
0167:004E8450  8B55F8              MOV      EDX,[EBP-08]                     
0167:004E8453  668902              MOV      [EDX],AX                         
0167:004E8456  83CBFF              OR        EBX,-01                           
0167:004E8459  33C0                XOR      EAX,EAX                           
0167:004E845B  5A                  POP      EDX                               
0167:004E845C  59                  POP      ECX                               
0167:004E845D  59                  POP      ECX                               
0167:004E845E  648910              MOV      FS:[EAX],EDX                     
0167:004E8461  687E844E00          PUSH      004E847E                         
0167:004E8466  8D45EC              LEA      EAX,[EBP-14]                     
0167:004E8469  E80AB5FBFF          CALL      004A3978                   


  今天合肥下了場大雪,看著窗外雪花紛飛,這次真的是雪舞廬州了。既然說到了我的網站,就隨便說幾句
 吧,我是個學生,今年大二,學習比較緊張,所以網頁上的很多版塊沒有時間及時更新,如果哪位朋友有意
 幫我管理幾個連結,本人將不甚感激,有意者請與我聯絡,我的QQ:17525661 Email:purewom@yeah.net
 
                                                                                    gfh[CCG]
                                                                          2001.1.25(正月初二)

相關文章