首页
社区
课程
招聘
[原创]破解-分析Crackme算法
发表于: 2009-6-13 22:18 12295

[原创]破解-分析Crackme算法

2009-6-13 22:18
12295

【破文标题】新手-Crackme
【破文作者】仙果
【破解工具】OD,IDA
【破解平台】Windows XP SP2
【软件简介】从看雪上下载的。。。
【破解声明】纯属爱好
------------------------------------------------------------------------
【破解过程】
    破解一直都是自己的弱项,尤其是算法,某日从看雪上下载一个crackme,放了两天,正好今天周六,好毒的太阳也没有心情出去耍,干脆就来破解下这个好了。想到,马上开工。
    PEID检测为VC++6.0编写,无壳,还好,不然还要脱壳,又麻烦。
    OD载入分析,F9运行,输入0123456789提示“Your Password Is Invalid!”,大喜,马上"超级字符串参考",结果发现字符都被加密过,加密算法未知。
    只有老老实实的分析了,通过分析,发现字符串的解密函数

CALL 破解我.004018E0:
004018E0  PUSH EDI
004018E1  MOV EDI,DWORD PTR SS:[ESP+C]             ;  破解我.00404084
004018E5  PUSH EDI                                 ; /String
004018E6  CALL DWORD PTR DS:[<&KERNEL32.lstrlenA>] ; \lstrlenA  //得到字符串长度
004018EC  XOR ECX,ECX
004018EE  DEC EAX
004018EF  TEST EAX,EAX
004018F1  JL SHORT 破解我.00401917
004018F3  PUSH EBP
004018F4  PUSH ESI
004018F5  MOV ESI,DWORD PTR SS:[ESP+10]
004018F9  LEA EDX,DWORD PTR DS:[EAX+1]
004018FC  MOV ECX,ESI
004018FE  SUB EDI,ESI
00401900  MOV EBP,EDX
00401902  /MOV AL,BYTE PTR DS:[EDI+ECX]
00401905  |XOR AL,22                             //解密的KEY
00401907  |MOV BYTE PTR DS:[ECX],AL
00401909  |INC ECX
0040190A  |DEC EDX
0040190B  \JNZ SHORT 破解我.00401902
0040190D  MOV BYTE PTR DS:[ESI+EBP],0
00401911  MOV EAX,ESI
00401913  POP ESI
00401914  POP EBP
00401915  POP EDI
00401916  RETN
00401917  MOV EAX,DWORD PTR SS:[ESP+8]
0040191B  POP EDI
0040191C  MOV BYTE PTR DS:[ECX+EAX],0
00401920  RETN
00401921  NOP

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (9)
雪    币: 47147
活跃值: (20455)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
能否把CrackMe的原链接补上?方便以后整理
2009-6-13 22:19
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
3
谢谢总版主
  Crackme我已经上传位附件了
2009-6-13 22:23
0
雪    币: 223
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
“通过分析,发现字符串的解密函数”
楼主怎么分析的?
2009-6-14 10:35
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
5
过程是这样的

在OD跟踪的过程中,注释窗口中会出现被加密后的字符,执行过一个函数以后,在寄存器窗口可以看到解密后的字符串,加之这个函数在反汇编执行过程中被反复执行,由此可以判断出这个解密函数
2009-6-14 13:10
0
雪    币: 319
活跃值: (49)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
又学到一招。。。。。。。。。。。。
2009-6-20 16:13
0
雪    币: 65
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不知道楼主“接着在往下就是程序的算法”是怎么找到的?
2010-2-7 10:10
0
雪    币: 2117
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
请教楼主,我的od为什么走不到解密函数,函数的入口点在0x401dc0处
2010-2-8 07:44
0
雪    币: 45
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
大牛也有弱项啊,我以为都是全能神啊,我也想搞0day方向。。
2013-6-5 20:19
0
雪    币: 33
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
看雪第一篇参考文章,学到了
2018-11-11 12:33
0
游客
登录 | 注册 方可回帖
返回
//