首页
社区
课程
招聘
[推荐]新手来试试身手
发表于: 2005-9-15 10:18 6061

[推荐]新手来试试身手

2005-9-15 10:18
6061
大家好,我是BCG的成员,新手们如果想试试身手的话,可以到
现发布第四期地址:(crackme专辑)
9f2K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3!0#2L8h3g2F1k6#2)9J5k6h3!0J5k6#2)9J5c8X3y4J5j5h3y4C8k6$3q4E0k6g2)9J5c8X3W2F1k6r3g2^5i4K6u0W2K9s2c8E0L8l9`.`.
来一试身手,这是华夏举行的crackme专集。
对于初学者来说难度不算很大哦~~~
看看hacker界和crack界谁厉害~~~
哈哈~~~
是不是心动了呢。。。。

呵呵。。这次没那么容易了。。要分析算法了。。不过。。很高兴。。
我终于可以发挥了。。看雪学院。。通过者。。跟fly学脱壳这么久。。
哈哈。。学以致用了。。
BCG成员
我说说的算出来的6位号为每次过关后,用给的name算的key
呵呵~~
论坛ID:qxtianlong
算出的6位号:50122
第一关:77169(这个和算出来的key无关)
程序语言VB6
工具:OD
关键点:__vbaStrMove __vbaStrCmp _rtcmsgbox下断点
明码比较的比较容易,F7、F8跟都可以同时注意积存器的值和堆栈的值
下断时注意一下手法,当然了很简单的主要是领空的问题
第二关:40121570/84516779(这个是用算出来的6位号算出来的)
程序语言DELPHI
name:124315391
算出的6位号:347574
工具:W32、OD
关键点:通过W32字符串参考、00467884下断、然后004678f0、004678fd、00467906、0046790b
注意积存器尤其是EDX、EAX还是明码比较只不过Delphi比VB的稍微难点、不过认真一点就可以了
这种相对简单的不需要DEDE来分析OD动态分析就可以了
第三关:77huaxia169
程序语言:AS
name:huaxia
算出的6位号:156479
工具:exe2swf、硕思闪客精灵 2002 MX 专业中文破解版
关键点:on (release)
{
    if (77 + name + 169 == key)
    {
        gotoAndStop(2);
    }
    else
    {
        gotoAndStop(3);
    } // end if
}
第四关:2006250(和算出来的key无关)
程序语言:VC++6
name:123456
算出来的6位号:347569
工具:C32、OD
关键点:00401a79、00401a7e、00401a81下断点
00401a92成功处、00401aa2失败处
00401a84关键比较00401a87跳转处
原码为EDX,自己的码为EAX
EDX,EAX比较EAX传给了ebp-20只要把ebp-20在堆栈中改为0004F1F1
其中EDX是ebp-1c传给的,只要他们相等了就可以看到真码了
为什么呢??因为add eax,1E240
0004F1F1是324081 1E240是123456也就是注册名
他们相减就是原来的值除10后的值
为什么这么说呢??因为mov ecx,0A
                      idiv ecx
只要我们再乘10就得到注册码了
调向了注册成功处。。。
如果是爆破的话就容易多了。。。
下面就总结一下算法了:
注册码/0A+1E240=0004F1F1(十六进制)
注册码/10+123456=324081(十进制)
第五关:7777777777(和6位号无关)
程序语言:DELPHI
name:372852712
算出来的六位号:335268
工具C32、OD
关键点:下断点00467828、00467846看标志Z
第六关:77254995
程序语言:vb6
name:38588913
算出来的6位号:335423
关键点:
当然这个是经验积累的还有就是不断的调程序和遇到挫折后的总结
VB程序一般只要用OD下断点rtcmsgbox一般都可以断下来、F9运行程序断在系统领空、然后ctrl+f9返回
出现,确认后f8返回到程序领空就是错误处了。
我们向上找来到
0040A1B0设置断点、先看看0040A3D6和0040A3DB是两处关键比较比的是什么?

0040A3C0    8BF0            mov esi,eax
0040A3C2    8955 DC         mov dword ptr ss:[ebp-24],edx
0040A3C5    FF15 B0104000   call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>]         ; MSVBVM60.__vbaFreeStr
0040A3CB    8D4D D0         lea ecx,dword ptr ss:[ebp-30]
0040A3CE    FF15 AC104000   call dword ptr ds:[<&MSVBVM60.__vbaFreeObj>]         ; MSVBVM60.__vbaFreeObj
0040A3D4    3BFE            cmp edi,esi
0040A3D6    75 7D           jnz short 6c.0040A455
0040A3D8    3B5D DC         cmp ebx,dword ptr ss:[ebp-24]
0040A3DB    75 78           jnz short 6c.0040A455

只要有汇编基础的都能看出来、通过积存器EDI、ESI、EAX、EBP、EDX的值是可以分析出来这段代码的。
cmp edi,esi(eax的值)
cmp ebx,ss:[ebp-24](edx的值)
对了,只有这两个都满足了才能到成功处的(如果爆破的话,知道该怎么做了吧)
从0040A1B0开始F8如果有怀疑的就F7进去看看,0040A24B用户名被装入到EAX
算法如下:
#include <stdio.h>
void main()
{
       char name[10];
       printf("你好:");
       scanf("%s",name);
       printf("欢迎进入Visual C++.Net的世界\n");
int user=38588913;//此处直接赋值为用户名
     int flag=77169,n=0;
     unsigned long pass=0;//最终的KEY
     unsigned long ll1=unsigned long((user*10000) % 4294967296);
                 //“% 4294967296”即是取16进制后8位
     ll1=unsigned long((ll1*2)% 4294967296) ;
     unsigned long ll2=unsigned long((flag*10000) % 4294967296);
     unsigned long ll3=ll1+ll2;
     while(n<10000) //10000这个数是我自己定的,估计够用了
     { if((ll3+n*4294967296)%10000==0)
           {      pass=unsigned long((ll3+n*4294967296)/10000);
                 break;
           }
      n++;
     }
printf("%u",pass);
}
这一关参考了VampireC的过关,因为我的也和他的一样只不过变量名不同而已。。
第7关:leve7
程序语言:vc
name:无(要玩到足够分啊)
其实也可以破解的,但是我想玩玩。。嘿嘿~~
晕死。。我还是玩不了那么多分啊。。没办法了爆破了。。
在004017AA下断点,上面和7530做比较也就是30000
jge改为jnge运行跟踪就可以看到KEY了
其实也可以看提示的******小于就看到这个,调过了leve7那就是大于就可以看到这个
通过这个也可以判断出来的
第八关:152448380
程序语言:VC
NAME:59280880
不算KEY了我说的KEY是用每一关给的NAME,用KEY算的6位号
做了几关感觉和这个没有关系也就不算了
关键点:
我想这个要下写注册表的断点了,程序给的提示。。。
第九关:016483
程序语言:MASM v8.0 ,RadASM 2.202
name:180346
关键点:
第十关:314068
程序语言:MASM v8.0 ,RadASM 2.202
name:180346
关键点:程序带壳,先脱壳吧
我挺忙的。。八、九、十先暂时不写攻略了。。以后补上了。。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 442
活跃值: (1246)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
2
抽空玩了两关,没时间继续
2005-9-15 11:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
上面写难度很难啊,怎么适合新手呢?

不过希望有人把那上面的crackme都写出解文来以飨我们这些菜鸟
2005-9-15 13:49
0
雪    币: 221
活跃值: (137)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
5分钟不到得出二关的注册码,后面不知道怎样。没时间,上课去了!
2005-9-15 14:22
0
雪    币: 296
活跃值: (265)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
5
第二关是:40121570,两分钟左右,嘿嘿,睡觉去了,今天多喝了点,晕乎乎的~
2005-9-16 23:49
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
6
终于通关了,幸亏有人指导
2005-9-17 01:59
0
雪    币: 253
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
晕死了baby2008你也来凑热闹啊。。。
2005-9-17 11:45
0
游客
登录 | 注册 方可回帖
返回