动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   安全 → 阅读文章

 step3 简单算法分析

作者来源: 
阅读 750 人次 , 2006-4-26 15:45:00 

破解作者:北极熊[DFCG]
破解目的:看懂算法,找出注册码,做出VB注册机
破解工具:TRW2000 V1.23

下面是破解过程,各位慢看:

1.首先运行TRW2000隐藏,

2.启动setp3.exe,点击注册信息栏 :

 有两个框:如下填入

 user name:jxtour

 license key:7878787878(随便填先)

3.按Ctrl+N激活TRW2000

 下命令:

BPX HMEMCPY  → 这里用hmemcpy这个万能断点就OK了

4.按F5返回,点击注册按钮,程序被拦截

 下命令:

BC*  → 清除所有断点
PMODULE  →返回程序领空

5.按F12共7次 F10 n次到如下代码:

0167:0047DA74 8B45F8           MOV      EAX,[EBP-08]      用户名进eax
0167:0047DA77 8D4DFC           LEA      ECX,[EBP-04]
0167:0047DA7A 8B93EC020000     MOV      EDX,[EBX+02EC]
0167:0047DA80 E8B3FBFFFF       CALL     0047D638          计算关键CALL,F8跟入
0167:0047DA85 8B45FC           MOV      EAX,[EBP-04]
0167:0047DA88 50               PUSH     EAX
0167:0047DA89 8D55F4           LEA      EDX,[EBP-0C]
0167:0047DA8C 8B83E0020000     MOV      EAX,[EBX+02E0]
0167:0047DA92 E8E120FBFF       CALL     0042FB78
0167:0047DA97 8B55F4           MOV      EDX,[EBP-0C]
0167:0047DA9A 58               POP      EAX
0167:0047DA9B E85463F8FF       CALL     00403DF4         D EAX 真注册码,可做内存注册机
0167:0047DAA0 7522             JNZ      0047DAC4

F8跟入后,慢慢按F10到如下:
0167:0047D66D 8945F0           MOV      [EBP-10],EAX
0167:0047D670 8B75F8           MOV      ESI,[EBP-08]     ESI=4D3H
0167:0047D673 8B45F0           MOV      EAX,[EBP-10]
0167:0047D676 85C0             TEST     EAX,EAX
0167:0047D678 7E13             JNG      0047D68D
0167:0047D67A BF01000000       MOV      EDI,01
0167:0047D67F 8B55FC           MOV      EDX,[EBP-04]      EDX="jxtour"
0167:0047D682 0FB6543AFF       MOVZX    EDX,BYTE [EDX+EDI-01]   逐位取用户名ASCII码
0167:0047D687 03F2             ADD      ESI,EDX            ESI=ESI+EDX
0167:0047D689 47               INC      EDI                EDI+1
0167:0047D68A 48               DEC      EAX                EAX-1(计数)
0167:0047D68B 75F2             JNZ      0047D67F        未取完继续
0167:0047D68D 8B45F4           MOV      EAX,[EBP-0C]
0167:0047D690 E8CF63F8FF       CALL     00403A64
0167:0047D695 33FF             XOR      EDI,EDI        EDI=0
0167:0047D697 8BC6             MOV      EAX,ESI        EAX=ESI
0167:0047D699 B924000000       MOV      ECX,24         ECX=24H
0167:0047D69E 99               CDQ    
0167:0047D69F F7F9             IDIV     ECX          EAX=EAX/ECX   EDX=EAX MOD ECX
0167:0047D6A1 8BC2             MOV      EAX,EDX      EAX=EDX(除后的余数)
0167:0047D6A3 E868FFFFFF       CALL     0047D610        F8进入
0167:0047D6A8 8BD8             MOV      EBX,EAX         EBX=EAX
0167:0047D6AA 8BC3             MOV      EAX,EBX         EAX=EBX
0167:0047D6AC 04D0             ADD      AL,D0           AL=AL+D0H(低位计算)
0167:0047D6AE 2C02             SUB      AL,02           AL=AL-02H
0167:0047D6B0 7221             JC       0047D6D3        有进位跳,无进位不跳
0167:0047D6B2 2C17             SUB      AL,17           AL=AL-17H
0167:0047D6B4 741D             JZ       0047D6D3        如果为零就跳,这个结果是不要的!
0167:0047D6B6 2C06             SUB      AL,06           AL=AL-06H
0167:0047D6B8 7419             JZ       0047D6D3        如果为零就跳,这个结果是不要的!
0167:0047D6BA 8D45EC           LEA      EAX,[EBP-14]  
0167:0047D6BD 8BD3             MOV      EDX,EBX        
0167:0047D6BF E84865F8FF       CALL     00403C0C        
0167:0047D6C4 8B55EC           MOV      EDX,[EBP-14]
0167:0047D6C7 8B45F4           MOV      EAX,[EBP-0C]
0167:0047D6CA E81D66F8FF       CALL     00403CEC        上面这段是把计算结果变成字母或数字
0167:0047D6CF 8B45F4           MOV      EAX,[EBP-0C]
0167:0047D6D2 47               INC      EDI
0167:0047D6D3 8BC7             MOV      EAX,EDI         重新计算
0167:0047D6D5 99               CDQ    
0167:0047D6D6 F77DF0           IDIV     DWORD [EBP-10]
0167:0047D6D9 8BC2             MOV      EAX,EDX
0167:0047D6DB 40               INC      EAX
0167:0047D6DC 8B55FC           MOV      EDX,[EBP-04]              EDX为用户名:"jxtour"
0167:0047D6DF 0FB64402FF       MOVZX    EAX,BYTE [EDX+EAX-01]       取一位用户名ASCII码到eax
0167:0047D6E4 2BF0             SUB      ESI,EAX                  esi=esi-eax
0167:0047D6E6 85F6             TEST     ESI,ESI                  
0167:0047D6E8 7D03             JNL      0047D6ED                如果esi<0
0167:0047D6EA 0375F8           ADD      ESI,[EBP-08]            esi=esi+4D3H
0167:0047D6ED 83FF0A           CMP      EDI,BYTE +0A            比较注册码是否算出了10位
0167:0047D6F0 7CA5             JL       0047D697                不够再算,跳回47D697
0167:0047D6F2 33C0             XOR      EAX,EAX

F8进入47D6A3的call
0167:0047D610 B220             MOV      DL,20           DL=20
0167:0047D612 8BC8             MOV      ECX,EAX         ECX=EAX
0167:0047D614 83E93E           SUB      ECX,BYTE +3E    ECX=ECX-3EH
0167:0047D617 7319             JNC      0047D632        无进位跳   ECX<3EH就不会跳
0167:0047D619 8BC8             MOV      ECX,EAX         ECX=EAX
0167:0047D61B 83E90A           SUB      ECX,BYTE +0A    ECX=ECX-AH
0167:0047D61E 7207             JC       0047D627        有进位跳,无进位不跳  ECX>AH就不跳
0167:0047D620 83E91A           SUB      ECX,BYTE +1A    ECX=ECX-1AH
0167:0047D623 7207             JC       0047D62C        有进位跳,无进位不跳  ECX>1AH就不跳
0167:0047D625 EB0B             JMP      SHORT 0047D632
0167:0047D627 8D5030           LEA      EDX,[EAX+30]    EDX=EAX+30H
0167:0047D62A EB06             JMP      SHORT 0047D632
0167:0047D62C 8D5041           LEA      EDX,[EAX+41]    EDX=EAX+41H
0167:0047D62F 83EA0A           SUB      EDX,BYTE +0A    
0167:0047D632 8BC2             MOX      EAX,EDX         EAX=EDX

6.计算结果:

user name:jxtour

license key:BZRLC68WGD

7.注册机做法略

 

  
 本文Tags算法  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:SpamKiller 2.90 版的破解过程 算法分析
· 下一篇:作文快手 V2.1算法分析
· 跟你分析筛选 IPS 之八大定律
· 思科安全监控分析和响应系统概览
· 黑客如何实现网络过载攻击深度解析
· 网络管理员的好帮手--Sniffer
· 3月9日Red Hat对spamassassin升级


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077