创意安天

 找回密码
 注册创意安天

[破解分析类]Crackme No.11 (2011.03.17)

[复制链接]
发表于 2011-3-17 15:25:36 | 显示全部楼层 |阅读模式
本帖最后由 pillcor 于 2011-3-17 15:30 编辑

开始截止时间暂时不限制!

1、前一位先给出算法注册机者将获得安天币8枚  
2、前二位先给出正确注册码者每人均将获得安天币6枚
3、前一位先给出暴力破解及算法分析代码者将获得安天币2枚

提交格式:
1、附上正确的注册机及算法分析代码
2、附上有效的注册码
3、附上暴破的程序

crackme[2011-03-17].zip

2.45 KB, 下载次数: 880

crackme

发表于 2011-3-18 10:54:48 | 显示全部楼层
本帖最后由 abcdefg 于 2011-3-18 11:10 编辑

注册机 参数-u user_name

Keygen.zip

18.92 KB, 下载次数: 822

注册机

发表于 2011-3-18 10:56:17 | 显示全部楼层
//        长度计算
        unsigned long        ulong_user_len = 0, ulong_pass_len = 8;
        unsigned long        ulong_total_len = 0;
        ulong_user_len = strlen(pchar_user_name);
        if (ulong_user_len >= 8 || ulong_user_len < 2)
        {
                printf("User name lenth must between 2-7 byte!\n");
                return 0;
        }
        ulong_total_len = ulong_user_len + ulong_pass_len;
        ulong_total_len = ulong_total_len * ulong_total_len;

        unsigned long        ulong_name_add = 0;
        unsigned long        ulong_pass_add = 0;
        unsigned long        ulong_total_result = 0;
        unsigned long        ulong_tmp_pass = 10000000;
        unsigned char        auchar_password[9] = {0};

        //        用户名和密码计算
        for (i=0; i<ulong_user_len; i++)
        {
                ulong_name_add += pchar_user_name[i];
        }

        for (j=0; j<0xFFFFFF; j++)
        {
                itoa(ulong_tmp_pass, (char *)auchar_password, 10);

                for (i=0; i<8; i++)
                {
                        ulong_pass_add += auchar_password[i];
                }
                ulong_name_add = ulong_name_add & 0x0F;
                ulong_pass_add = ulong_pass_add & 0x0F;
               
                ulong_total_result = ulong_name_add * ulong_pass_add * 4;
               
                if ((ulong_total_len - ulong_total_result) == 0x6d)
                {
                        printf("The password is %s\n", auchar_password);
                        break;
                }
                ulong_tmp_pass++;
        }
发表于 2011-3-18 10:56:40 | 显示全部楼层
有些用户名算不出密码
发表于 2011-3-18 11:07:41 | 显示全部楼层
程序流程:开线程等待信号量,信号量置位就开始计算用户名和密码,算完得出密钥,再用密钥解密固定数据,解对了就是MessageBox弹出正确,解错就什么都没有了。分析时被永远不会执行的代码晃点了一下,感谢下小奚。

提供一组注册码
username:santy
password:10000000
发表于 2011-3-18 15:15:54 | 显示全部楼层
不知道这是游戏的bug
还是我的理解能力有点偏差

第二条规定:
2、前二位先给出正确注册码者每人均将获得安天币6枚

abcdefg同学 在二楼给出了注册机
我用注册机 生成一组注册码:

username:111
password:10000000

惊奇的发现,我好像是第二位提供注册码的同学!
我是不是就可以拿到6个安天币了呢?

当然了,像我这么厚脸皮的人是很少的!

最最重要的是:本活动最终解释权不归我所有!
发表于 2011-3-18 16:25:25 | 显示全部楼层
不知道这是游戏的bug
还是我的理解能力有点偏差

第二条规定:
2、前二位先给出正确注册码者每 ...
hongming 发表于 2011-3-18 15:15



    版主pillcor表示压力很大……
您需要登录后才可以回帖 登录 | 注册创意安天

本版积分规则

小黑屋|手机版|创意安天 ( 京ICP备09068574,ICP证100468号。 )

GMT+8, 2019-12-15 02:08

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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