首页
社区
课程
招聘
[原创]Bxm的第3个CrackMe
发表于: 2006-10-6 21:32 7407

[原创]Bxm的第3个CrackMe

bxm 活跃值
29
2006-10-6 21:32
7407

8号就要上班了,假期就多写一些吧,以后可能没什么时间写了.
编写语言:VC++ 6.0
无壳;
算法简单.


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (15)
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
2
说好了,投降。不玩  
2006-10-6 22:15
0
雪    币: 3688
活跃值: (4242)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
3
难道又是有陷阱的?

2006-10-6 22:51
0
雪    币: 380
活跃值: (101)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
4
55~~难度高啊
2006-10-6 22:54
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
5
To china

你试过了,难度如何,可以玩吗?
2006-10-7 01:30
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
6
我真的晕了,^_^ ,期待下版更强的反调试,不过我是真的不敢玩了,不知道又出什么 陷阱
上传的附件:
  • 2.jpg (13.76kb,20次下载)
2006-10-7 02:28
0
雪    币: 3688
活跃值: (4242)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
7
最初由 KAN 发布
To china

你试过了,难度如何,可以玩吗?


难度不晓得,反正我觉得是假注册。
2006-10-7 09:27
0
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
8
程序写得可能有点错误,注册码应该不会这么短.对不住大家了!下次我一定小心些.
2006-10-7 13:24
0
雪    币: 3688
活跃值: (4242)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
9
现在好象第一个注册码字符能通过就是正确的。
2006-10-7 14:49
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
10
漏洞就出来这两句上

004020DE  |.  3BF0          CMP ESI,EAX
004020E0      0F84 81000000 JE Bxm.00402167

ESI=2 只要输入的注册码位数是 2 跟 ESI 相等就注册成功
2006-10-7 15:09
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
11
建议没下的朋友,下载来看看你是如何躲过这个 CM 的反调试的
2006-10-7 15:51
0
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
12
我把修改后的文件上传上来.
上传的附件:
2006-10-7 18:17
0
雪    币: 207
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
最初由 bxm 发布
我把修改后的文件上传上来.


username:12345
key:RI]VJZPB[_
不是任意的用户名都能得到可打印字符的key

针对楼主新上传得crackme,老的没看
其实反调试陷阱和bxm的第二个crackme差不多是一样的,还是不能上传附件,那我就不写分析了,贴下
keygen的代码吧
void keygen(char *username,char *key)
{
        char bxm[4]="bxm";
        int usize=strlen(username);
        int pruduct=1;
        int re;
        char result1[30];
        char result2[60];
        for(int i=0;i<usize;i++)
        pruduct*=username[i];
        for(i=0;pruduct>0;i++)
        {
        re=pruduct%10;
                pruduct/=10;
                result1[i]=re+0x30;
        }
        result1[i]=0;
    int size1=strlen(result1);
        for(i=0;i<usize;i++)
        {
        username[i]+=i*2;
        }
       
        if(size1>=usize)
        {
            for(i=0;i<usize;i++)
                {
            result2[i*2]=result1[i];
                        result2[i*2+1]=username[i];
                }
                result2[i*2]=0;
        }
        else
        {
                for(i=0;i<size1;i++)
                {
                        result2[i*2]=result1[i];
                        result2[i*2+1]=username[i];
                }
                result2[i*2]=0;

        }

        strcat(result2,username+i);
        int size2=strlen(result2);
        for(i=0;i<size2;i++)
        {
                key[i]=result2[i]^bxm[i%3];
        }
        key[i]=0;
       
}
2006-10-13 12:03
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
14
楼上的朋友你把这个 Crackme 的分析写出来,就可以上传附件了
2006-10-13 14:35
0
雪    币: 207
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
最初由 KAN 发布
楼上的朋友你把这个 Crackme 的分析写出来,就可以上传附件了

已经写了,盼望权限中...
http://bbs.pediy.com/showthread.php?s=&threadid=33229
2006-10-13 18:21
0
雪    币: 207
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
楼主要能在百忙之中把反调试原理讲解一下就好了

最初由 bxm 发布
8号就要上班了,假期就多写一些吧,以后可能没什么时间写了.
编写语言:VC++ 6.0
无壳;
算法简单.
2006-10-17 22:41
0
游客
登录 | 注册 方可回帖
返回
//