庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>安全技术>软件破解>破解实例>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

MIP2000通用信息管理平台XP标准版V2.0破解分析

 作者:本站收集   日期:2005-5-26
字号选择〖 〗/ 双击滚屏 单击停止   
破解工具:trw2000,纸,笔,手,脑
破解过程:
这是一个很简单的算法,主要是对机器码的计算在另外的地方,比较难找,其他都是很简单的!
1、运行TRW2000后最小化  
2、运行程序,点配置菜单,输入任意假注册码,先不要点“注册”按钮  
3、Ctrl+N激活TRW2000  
4、bpx hmemcpy → 这里用hmemcpy这个万能断点就OK了  
5、按F5返回,点击注册按钮,程序被拦截  
6、BC * → 清除所有断点
PMODULE → 直接进入程序领空  
7、按F12键7次按F10键1次来到如下代码处  

0167:005CE280 8D55F8           LEA      EDX,[EBP-08]
0167:005CE283 8B83E0020000     MOV      EAX,[EBX+02E0]
0167:005CE289 E88E17E7FF       CALL     0043FA1C
0167:005CE28E 8B45F8           MOV      EAX,[EBP-08]
0167:005CE291 8D55FC           LEA      EDX,[EBP-04]     
  
  **//这里是机器码放到edx中的过程,在下一行可以D EDX看见机器码"178434691ID2.8S" //**

0167:005CE294 E8E3E2FBFF       CALL     0058C57C           

  **//关键CALL,F8进入(D EDX看见机器码)//**

0167:005CE299 8B45FC           MOV      EAX,[EBP-04]
0167:005CE29C 50               PUSH     EAX
0167:005CE29D 8D55F4           LEA      EDX,[EBP-0C]
0167:005CE2A0 8B83DC020000     MOV      EAX,[EBX+02DC]
0167:005CE2A6 E87117E7FF       CALL     0043FA1C
0167:005CE2AB 8B55F4           MOV      EDX,[EBP-0C]
0167:005CE2AE 58               POP      EAX
0167:005CE2AF E8EC68E3FF       CALL     00404BA0    

  **//D EAX可见注册码,可以在这里作内存注册机//**

0167:005CE2B4 750D             JNZ      005CE2C3
0167:005CE2B6 E8B5E3FBFF       CALL     0058C670
0167:005CE2BB A1FC376100       MOV      EAX,[006137FC]
0167:005CE2C0 C60001           MOV      BYTE [EAX],01
0167:005CE2C3 8BC3             MOV      EAX,EBX
--------------------//F8进来关键CALL//-------------------
0167:0058C57C 55               PUSH     EBP
0167:0058C57D 8BEC             MOV      EBP,ESP
0167:0058C57F 33C9             XOR      ECX,ECX
0167:0058C581 51               PUSH     ECX
0167:0058C582 51               PUSH     ECX
0167:0058C583 51               PUSH     ECX
0167:0058C584 51               PUSH     ECX
0167:0058C585 53               PUSH     EBX
0167:0058C586 8BDA             MOV      EBX,EDX
0167:0058C588 8945FC           MOV      [EBP-04],EAX
0167:0058C58B 8B45FC           MOV      EAX,[EBP-04]    

  **//这里是机器码//**

0167:0058C58E E8B186E7FF       CALL     00404C44
0167:0058C593 33C0             XOR      EAX,EAX
0167:0058C595 55               PUSH     EBP
0167:0058C596 6849C65800       PUSH     DWORD 0058C649
0167:0058C59B 64FF30           PUSH     DWORD [FS:EAX]
0167:0058C59E 648920           MOV      [FS:EAX],ESP
0167:0058C5A1 8D45F8           LEA      EAX,[EBP-08]
0167:0058C5A4 50               PUSH     EAX
0167:0058C5A5 B904000000       MOV      ECX,04      //取4位
0167:0058C5AA BA01000000       MOV      EDX,01      //第1位开始
0167:0058C5AF 8B45FC           MOV      EAX,[EBP-04]
0167:0058C5B2 E8E186E7FF       CALL     00404C98

    **//上面这里其实就是按位置取字符串的过程//**

0167:0058C5B7 8D45F4           LEA      EAX,[EBP-0C]
0167:0058C5BA 50               PUSH     EAX
0167:0058C5BB B904000000       MOV      ECX,04      //取4位
0167:0058C5C0 BA05000000       MOV      EDX,05      //第5位开始
0167:0058C5C5 8B45FC           MOV      EAX,[EBP-04]
0167:0058C5C8 E8CB86E7FF       CALL     00404C98     //同上面的CALL
0167:0058C5CD 8D45FC           LEA      EAX,[EBP-04]
0167:0058C5D0 8B4DF8           MOV      ECX,[EBP-08]          

         **//这里ECX取的就是1-4位的机器码"1784" //**

0167:0058C5D3 8B55F4           MOV      EDX,[EBP-0C]

         **//这里EDX取的就是5-8位的机器码"3469"//**

0167:0058C5D6 E80185E7FF       CALL     00404ADC         

         **//连接起来为"34691784",是按照5-8位接1-4位的顺序连接的 //**

0167:0058C5DB 803DBB4B610000   CMP      BYTE [00614BBB],00
0167:0058C5E2 7436             JZ       0058C61A          
          //我的这里是跳过
0167:0058C5E4 6860C65800       PUSH     DWORD 0058C660
0167:0058C5E9 8B45FC           MOV      EAX,[EBP-04]     
0167:0058C5EC E84BE8E7FF       CALL     0040AE3C        
0167:0058C5F1 99               CDQ       
0167:0058C5F2 051810C7ED       ADD      EAX,EDC71018    
0167:0058C5F7 83D202           ADC      EDX,BYTE +02
0167:0058C5FA 52               PUSH     EDX
0167:0058C5FB 50               PUSH     EAX
0167:0058C5FC 8D45F0           LEA      EAX,[EBP-10]
0167:0058C5FF E800E8E7FF       CALL     0040AE04
0167:0058C604 FF75F0           PUSH     DWORD [EBP-10]
0167:0058C607 686CC65800       PUSH     DWORD 0058C66C
0167:0058C60C 8BC3             MOV      EAX,EBX
0167:0058C60E BA03000000       MOV      EDX,03
0167:0058C613 E83885E7FF       CALL     00404B50
0167:0058C618 EB14             JMP      SHORT 0058C62E
0167:0058C61A 8B45FC           MOV      EAX,[EBP-04]              //D EAX看见"34691784"

             **//这个CALL是把字符串转换成数值//**
0167:0058C61D E81AE8E7FF       CALL     0040AE3C
0167:0058C622 0518AC2401       ADD      EAX,0124AC18    //?eax可以看到十进制为34691784
                                             EAX=34691784+0x124AC18 结果就是注册码了
0167:0058C627 8BD3             MOV      EDX,EBX
0167:0058C629 E89EE7E7FF       CALL     0040ADCC
0167:0058C62E 33C0             XOR      EAX,EAX
0167:0058C630 5A               POP      EDX
0167:0058C631 59               POP      ECX
0167:0058C632 59               POP      ECX
0167:0058C633 648910           MOV      [FS:EAX],EDX
0167:0058C636 6850C65800       PUSH     DWORD 0058C650
0167:0058C63B 8D45F0           LEA      EAX,[EBP-10]
0167:0058C63E BA04000000       MOV      EDX,04
0167:0058C643 E8C481E7FF       CALL     0040480C

算法总结:
1:取机器码的5-8位和1-4位连接成8位字符串,转换成数值+0x124AC18就是注册码了 
上一篇:xxxx管理 V6.56    下一篇:资源提取王V1.30简要分析  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-5-26
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿