飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3615|回复: 0

这是另一个:中国飘云阁(DFCG图标资源Crackme2.0)

[复制链接]

该用户从未签到

发表于 2005-10-31 21:49:17 | 显示全部楼层 |阅读模式
【破文作者】qxtianlong

【所属组织】无

【作者主页】http://qxtianlong.77169.com

【 E-mail 】kk5910@sina.com

【 作者QQ 】249935058

【文章题目】Crackme  的详解

【软件名称】中国飘云阁(DFCG图标资源Crackme2.0)

【下载地址】

【加密方式】序列号

【加壳方式】

破解工具】OD, W32

【软件限制】无

【破解平台】wxp
=======================================================================================================
【软件简介】
Crackme生存的唯一目的就是让我们练手之用!

=======================================================================================================
【文章简介】
我的破解很菜,写这篇东西是给对这个 crackme 有兴趣的兄弟们,分享一下破解心得
=======================================================================================================
【解密过程】
由于比较简单和我以前分析的类型相似就不详细分析了,如果你认真看了,这个应该没有问题的,只把大概思路说一下!!!!
1、输入试练码qxtianlong,1234567890,确认后无提示,说明作者不想让你用断点拦截消息API
2、FI查壳无壳,显示VB程序,VBParser载入失败不是P-CODE程序
3、使用W32载入无字符串参考,查输入函数看看有没有有用的信息
4、使用OD下断点
5、进一步分析
6、整理算法写出注册机
以上是我一般的思路,当然肯定有不对之处*_*偶是菜鸟嘛~~
我选择的断点有两个bp __vbaLenBstr,bp __vbaStrCmp
使用第一个断点马上断在
660248CB M>  8B4424 04          mov eax,dword ptr ss:[esp+4]//注意堆栈和寄存器提示
660248CF     85C0               test eax,eax
660248D1     74 05              je short MSVBVM60.660248D8
660248D3     8B40 FC            mov eax,dword ptr ds:[eax-4]
660248D6     D1E8               shr eax,1
660248D8     C2 0400            retn 4
剩下就留给你们自己分析吧~~
用第二个断点马上断在
66024710 M>  FF7424 08          push dword ptr ss:[esp+8]//注意看堆栈
66024714     FF7424 08          push dword ptr ss:[esp+8]
66024718     6A 00              push 0
6602471A     E8 03000000        call MSVBVM60.__vbaStrComp
6602471F     C2 0800            retn 8
爆破的话可以在这里
00402D57     FFD3               call ebx
00402D59     66:85F6            test si,si
00402D5C    /0F84 9B000000      je crackme2.00402DFD//改为jne就可以啦~~
算法很简单应该是把用户名的每一位ASC*2+0xA然后循环用户名位数,再加上0xB437027
算法注册机:我没有做任何优化和检查,高手不要笑厄~~
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
  char name[50];
  unsigned long reg;
  int i,temp,color;
  for(color=9;color<10;color++)
  {
  textcolor(color);
  cprintf("*************************\r\n");
  cprintf(" Keyken by qxtianlong\r\n");
  cprintf("  2005 - 10 - 31 21:35  \r\n");
  cprintf("*************************\r\n");
  cprintf("Please enter your name:");
  }
  scanf("%s",name);
  reg=0;
  temp=strlen(name);
  for(i=0;i<temp;i++)
  {
    reg+=(2*name)+0xA;
  }
   for(color=10;color<11;color++)
  {
  textcolor(color);
  cprintf("Your Key is:%lu\r\n",reg+0xB437027);
  }
  getch();
}
【解密心得】
=======================================================================================================
【破解声明】我是一个小小菜虫子,文章如有错误,请高手指正!
【版权声明】本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
=======================================================================================================

[ Last edited by qxtianlong on 2005-10-31 at 09:51 PM ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

x
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表