• 标 题:网吧管理专家9.5破解手记 (6千字)
  • 作 者:gfh[CCG]
  • 时 间:2001-1-26 9:31:06
  • 链 接:http://bbs.pediy.com

        网吧管理专家9.5破解手记

[声明]

    我写文章的目的是为了交流技术,希望大家在转载时能保持文章的完整性。
   
   
[前言]
 
        前几天,有个朋友问我<<网吧管理专家9.5>>是如何破解的,这个软件我早就破解了,
      用的是暴破(不好意思)。听有些高手说它用是的RSA加密算法,我数学不好,算法就更
   不用提了,所以只能....。我个人认为,破解就是想办法将它的限制CANCEL掉,不管什
   么方法。当然了破解的最高境界是写注册机,不过我编程不好,以前用汇编写过一个注册
   机,差点把我累死,所以这次我就偷个懒了。
          好了,不说费话了。Let's begin.

 主要是分析OCTODLL.DLL文件。
 
PART A:用户名的长度判断。
PART B:注册时的关鍵点。
PART C:软件启动时的关鍵点。(如果强行注册,软件启动时会提示注册码被破坏了。) 

==================< 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]  ;这里是关鍵,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(正月初二)