首页
社区
课程
招聘
CRACKME算法分析(逐位比较型)
发表于: 2006-3-11 19:41 7020

CRACKME算法分析(逐位比较型)

2006-3-11 19:41
7020

【破文标题】crackme算法分析


【破文作者】逍遥风


【破解工具】OD PEID


【破解平台】WINXP


【破解声明】此CRACKME注册方式是逐位比较。就是计算出一位就比较一位。


----------------------------------------------------------------------


1)PEID检查:Microsoft Visual C++ 6.0


2)试运行发现没有错误提示,还是先用OD,发现了注册成功的提示。以此为突破口,很容易来到以下代码处:


00401580   .  6A FF         PUSH -1


00401582   .  68 B81B4000   PUSH Rith_Cra.00401BB8                   ;  SE 处理程序安装


00401587   .  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]


0040158D   .  50            PUSH EAX


0040158E   .  64:8925 00000>MOV DWORD PTR FS:[0],ESP


00401595   .  83EC 0C       SUB ESP,0C


00401598   .  53            PUSH EBX


00401599   .  55            PUSH EBP


0040159A   .  56            PUSH ESI


0040159B   .  8BF1          MOV ESI,ECX


0040159D   .  57            PUSH EDI


0040159E   .  68 48304000   PUSH Rith_Cra.00403048                   ;  31415926535897932384


004015A3   .  8D4C24 14     LEA ECX,DWORD PTR SS:[ESP+14]


004015A7   .  897424 1C     MOV DWORD PTR SS:[ESP+1C],ESI


004015AB   .  E8 FA020000   CALL


004015B0   .  6A 01         PUSH 1


004015B2   .  8BCE          MOV ECX,ESI


004015B4   .  C74424 28 000>MOV DWORD PTR SS:[ESP+28],0


004015BC   .  E8 E3020000   CALL ;  取注册名位数


004015C1   .  8B7E 60       MOV EDI,DWORD PTR DS:[ESI+60]


004015C4   .  8B5F F8       MOV EBX,DWORD PTR DS:[EDI-8]


004015C7   .  83FB 05       CMP EBX,5                                ;  注册名位数与5比较


004015CA   .  7C 7E         JL SHORT Rith_Cra.0040164A               ;  小于5位就跳向失败


004015CC   .  8B46 64       MOV EAX,DWORD PTR DS:[ESI+64]


004015CF   .  894424 14     MOV DWORD PTR SS:[ESP+14],EAX


004015D3   .  3958 F8       CMP DWORD PTR DS:[EAX-8],EBX             ;  比较注册名位数与注册码位数


004015D6   .  75 72         JNZ SHORT Rith_Cra.0040164A              ;  位数不相等就跳向失败


004015D8   .  83FB 14       CMP EBX,14                               ;  注册名位数与20(十进制)比较


004015DB   .  7F 6D         JG SHORT Rith_Cra.0040164A               ;  大于20位就跳向失败


004015DD   .  33C9          XOR ECX,ECX


004015DF   .  85DB          TEST EBX,EBX


004015E1   .  7E 54         JLE SHORT Rith_Cra.00401637


004015E3   .  8B7424 10     MOV ESI,DWORD PTR SS:[ESP+10]            ;  读表


004015E7   >  8A040F        MOV AL,BYTE PTR DS:[EDI+ECX]             ;  取注册名的每一位


004015EA   .  0FBE2C31      MOVSX EBP,BYTE PTR DS:[ECX+ESI]          ;  取表中相应位置的数字的HEX值,设为A



[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (6)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个不错
很好哦!
2006-3-12 10:22
0
雪    币: 390
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
00401582   .  68 B81B4000   PUSH Rith_Cra.00401BB8                   ;  SE 处理程序安装

楼主啊,这里"SE 处理程序安装"是什么意思啊?
2006-3-12 16:47
0
雪    币: 2256
活跃值: (941)
能力值: (RANK:2210 )
在线值:
发帖
回帖
粉丝
4
需要关心的是算法。。。。。。
2006-3-12 17:01
0
雪    币: 183
活跃值: (568)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
5
2006-4-15 11:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
哎,为什么很容易到那里呢,不懂
2006-4-23 22:55
0
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个CrackMe有一个BUG是有的用户名会对应无法显示的字符,应该在对应的serial生成后进行一下ASCII值得控制
2016-3-28 15:56
0
游客
登录 | 注册 方可回帖
返回