安全中国首页 > 文章中心 > 系统底层
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

菜鸟破解录之 CDSpace 1.95

更新时间:2007-12-9 0:11:22
责任编辑:池天
热 点:
软件名称:CDSpace 
版    本:1.95 
简    介:一个相当不错的虚拟光驱程序,操作简单,最大可同时使用23个虚拟光驱。 

作    者:xiA Qin 
等    级:很菜....很菜.... 
破解日期:2000年7月22日 
破解工具:Trw2000 1.22 
破解目的:学习注册码的破解(简单) 

说  明: 

本文是在我的软件破解记录上整理出来的。所以在文中没有任何的注册码,只作技术交流。如若有纰漏,请各位大侠多指教! 


运行程序,输入注册信息。 

name: xiA Qin          &任意输入 
code: 1234567890123456  必须是16位,为什么?程序会检查注册码位数。下面会讲到 


下指令bpx hmemcpy    //下中断点  

按F5回到程序,按确定,这时会被Trw2000拦截到。 

下指令bd *            //屏障中断点 

下指令pmodule        //直接跳到程序的领空 

按F10来到下面的代码。 
................... 
015F:00409570  CALL      0040FB9E 
015F:00409575  LEA      ECX,[ESP+10] 
015F:00409579  CALL      0040FB1A 
015F:0040957E  XOR      ESI,ESI 
015F:00409580  LEA      ECX,[ESP+14] 
015F:00409584  MOV      [ESP+2C],ESI 
015F:00409588  CALL      0040FB1A 
015F:0040958D  MOV      EAX,[EDI+60] 
015F:00409590  LEA      EBP,[EDI+60] 
015F:00409593  MOV      BYTE PTR [ESP+2C],01 
015F:00409598  CMP      DWORD PTR [EAX-08],06 
015F:0040959C  JGE      004095AA 
015F:0040959E  PUSH      ESI 
015F:0040959F  PUSH      ESI 
015F:004095A0  PUSH      00418810 
015F:004095A5  JMP      004096AC              把16进制的10换算成10进制=16,表示注册码 
015F:004095AA  MOV      EDX,[EDI+64]        ┍────────────      是16位 
015F:004095AD  LEA      EBX,[EDI+64]        ↓ 
015F:004095B0  CMP      DWORD PTR [EDX-08],10  //检查注册码的位数是不是16位。 
015F:004095B4  JZ        004095C2                //是16位就跳到004095C2继续检查注册码是否正确, 
015F:004095B6  PUSH      ESI                      不然死给你看。当然我们可以把它改成无条件  
015F:004095B7  PUSH      ESI                      跳转 JMP 。 
015F:004095B8  PUSH      004187FC 
015F:004095BD  JMP      004096AC                  
015F:004095C2  XOR      ECX,ECX 
015F:004095C4  MOV      AL,[ECX+EDX] 
015F:004095C7  CMP      AL,30 
015F:004095C9  JL        004095CF 
015F:004095CB  CMP      AL,39 
015F:004095CD  JLE      004095DF 
015F:004095CF  CMP      AL,41 
015F:004095D1  JL        0040969E 
015F:004095D7  CMP      AL,46 
015F:004095D9  JG        0040969E 
015F:004095DF  INC      ECX 
015F:004095E0  CMP      ECX,08 
015F:004095E3  JL        004095C4 
015F:004095E5  LEA      ECX,[ESP+1C] 
015F:004095E9  PUSH      ECX 
015F:004095EA  PUSH      ECX 
015F:004095EB  MOV      ECX,ESP 
015F:004095ED  MOV      [ESP+20],ESP 
015F:004095F1  PUSH      EBP 
015F:004095F2  CALL      0040FC0A 
015F:004095F7  MOV      ECX,EDI 
015F:004095F9  CALL      004096F0 
015F:004095FE  LEA      ECX,[ESP+10] 
015F:00409602  CALL      0040FCE2 
015F:00409607  XOR      EDX,EDX            <--| 
015F:00409609  LEA      EAX,[ESP+14]          | 
015F:0040960D  MOV      DL,[ESI+ESP+1C]        |计 
015F:00409611  PUSH      EDX                    |算 
015F:00409612  PUSH      004187F4              |正 
015F:00409617  PUSH      EAX                    |确 
015F:00409618  CALL      0040FB98              |的 
015F:0040961D  ADD      ESP,0C                |注 
015F:00409620  LEA      ECX,[ESP+14]          |册 
015F:00409624  PUSH      ECX                    |码 
015F:00409625  LEA      ECX,[ESP+14]          |. 
015F:00409629  CALL      0040FBEC              |注意 EDX 的变化。 
015F:0040962E  INC      ESI                    | 
015F:0040962F  CMP      ESI,08                | 
015F:00409632  JL        00409607            <--| 
015F:00409634  LEA      ECX,[ESP+10] 
015F:00409638  CALL      0040FBC8 
015F:0040963D  MOV      ECX,EBX            //正确的注册码 D EAX. 
015F:0040963F  CALL      0040FBC8 
015F:00409644  MOV      EAX,[EBX] 
015F:00409646  MOV      EDX,[ESP+10] 
015F:0040964A  PUSH      EAX 
015F:0040964B  PUSH      EDX 
015F:0040964C  CALL      [0041268C] 
015F:00409652  ADD      ESP,08 
015F:00409655  TEST      EAX,EAX 
015F:00409657  PUSH      00 
015F:00409659  PUSH      00 
015F:0040965B  JNZ      004096A7          //比较注册码是否相等。 
015F:0040965D  PUSH      004187D4          
015F:00409662  CALL      0040FB92          //注册成功对话框。 
015F:00409667  CALL      0040FB68 
015F:0040966C  MOV      ESI,[EAX+04] 
015F:0040966F  MOV      EAX,[EBP+00] 
015F:00409672  PUSH      EAX 
015F:00409673  PUSH      004187CC 
015F:00409678  MOV      ECX,ESI 
015F:0040967A  CALL      0040BD70          //注册失败对话框。 
015F:0040967F  MOV      EAX,[EBX] 
015F:00409681  MOV      ECX,ESI 
015F:00409683  PUSH      EAX 
015F:00409684  PUSH      004187C0 
015F:00409689  CALL      0040BD70 
015F:0040968E  MOV      ECX,EDI 
015F:00409690  MOV      BYTE PTR [ESI+000000C4],00 

 
相关文章
一日一文章
 
一日一软件
一日一动画