首页
社区
课程
招聘
[原创]bxm的第5个CrackMe
2007-1-8 22:09 7272

[原创]bxm的第5个CrackMe

bxm 活跃值
29
2007-1-8 22:09
7272
难度:1
要求:找出注册码或做出注册机.爆破的不算!

[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

上传的附件:
收藏
免费 7
打赏
分享
最新回复 (11)
雪    币: 214
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
ainafeng 2 2007-1-8 22:39
2
0
现看看》》》》》》》》》》》》
雪    币: 191
活跃值: (205)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
warshon 6 2007-1-9 16:13
3
0
支持兄弟一下
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
bxm 29 2007-1-9 20:00
4
0
最初由 warshon 发布
支持兄弟一下

谢谢支持!牛人一个,佩服!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
极速暴龙 2007-1-10 03:01
5
0
数学不好..................
雪    币: 8269
活跃值: (2855)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
netwind 13 2007-1-10 08:28
6
0
注册码:
05cm9n5
1-1-0-1-0-1-1-1

初学破解,本想炼炼手,没想到这个算法对我来说这么麻烦,花了一下午,加一晚上.走了个误区,把注册码每一部分都默认为>=0,这个花了太多时间.

雪    币: 538
活跃值: (460)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
坚持到底 7 2007-1-10 16:07
7
0
搞了一个晚上,差点通宵,早上才搞定..........
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
bxm 29 2007-1-10 20:25
8
0
此CrackMe 的主要源代码

class fenshu                           //分数类的定义
{
public:
        void input(int a,int b);
        int biaozhi();
        void jia(fenshu t);
        void cheng(int t);
        fenshu();
        virtual ~fenshu();

private:
        int fenmu;
        int fenzi;
};

//分数类的实现函数
fenshu::fenshu()
{
        fenzi=0;
        fenmu=1;
}

fenshu::~fenshu()
{

}

void fenshu::cheng(int t)
{
        fenzi*=t;
}

void fenshu::jia(fenshu t)
{
        fenzi=fenzi*t.fenmu+fenmu*t.fenzi;
        fenmu*=t.fenmu;
}

int fenshu::biaozhi()
{
        if(0==fenzi)  return 0;
        else if(fenzi==fenmu)  return 1;
        else return 3;
}

void fenshu::input(int a, int b)
{
        fenzi=a;
        fenmu=b;
}

//按下注册按钮的响应代码
void CDCGCrackMeDlg::OnButton1()
{
        // TODO: Add your control notification handler code here
        UpdateData(true);
        if(strlen(m_Edit9)<2)
        {
                MessageBox("用户名长度必须大于等于2.",NULL,MB_OK);
                return ;
        }
       
        if((m_Edit2 && m_Edit4 && m_Edit6 && m_Edit8)==0)
                MessageBox("注册码错误!",NULL,MB_OK);
        else
        {
                fenshu temp1,temp2;           //注册码临时存储
                int AA[2][2];
                int sumt1,sumt2;
                sumt1=0;sumt2=0;              //用户名的累加和
                int i;
                for(i=0;i<strlen(m_Edit9);i++)   //处理用户名
                {
                        if(i%2) sumt1+=m_Edit9[i];
                        else sumt2+=m_Edit9[i];
                }
                AA[0][0]=(sumt1>>4)&0x0F;      //矩阵A 赋值
                AA[0][1]=sumt1&0x0F;
                AA[1][0]=(sumt2>>4)&0x0F;
                AA[1][1]=sumt2&0x0F;
                if(AA[0][0]*AA[1][1]==AA[0][1]*AA[1][0]) AA[1][1]+=1;  //如果用户名无解,让其有解
               
                temp1.input(m_Edit1,m_Edit2);
                temp2.input(m_Edit3,m_Edit4);
                temp1.cheng(AA[0][0]);
                temp2.cheng(AA[0][1]);
                temp1.jia(temp2);
                if(temp1.biaozhi()==1)
                {
                        temp1.input(m_Edit1,m_Edit2);
                        temp2.input(m_Edit3,m_Edit4);
                        temp1.cheng(AA[1][0]);
                        temp2.cheng(AA[1][1]);
                        temp1.jia(temp2);
                        if(temp1.biaozhi()==0)
                        {
                                temp1.input(m_Edit5,m_Edit6);
                                temp2.input(m_Edit7,m_Edit8);
                                temp1.cheng(AA[0][0]);
                                temp2.cheng(AA[0][1]);
                                temp1.jia(temp2);
                                if(temp1.biaozhi()==0)
                                {
                                        temp1.input(m_Edit5,m_Edit6);
                                        temp2.input(m_Edit7,m_Edit8);
                                        temp1.cheng(AA[1][0]);
                                        temp2.cheng(AA[1][1]);
                                        temp1.jia(temp2);
                                        if(temp1.biaozhi()==1)
                                                MessageBox("兄弟,你真牛!","厉害",MB_OK);
                                        else return;
       
                                }
                                else return;

                        }
                        else return;

                }
                else return;

        }
}
雪    币: 313
活跃值: (440)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
4nil 13 2007-1-10 20:39
9
0
KeyGen代码也贴一下把,呵呵
雪    币: 220
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
yugung 1 2007-1-11 09:12
10
0
LZ编译的时候用的什么优化选项?
矩阵AA部分全都变成了寄存器运算,一点都看不出有数组的痕迹了
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
冷血书生 28 2007-1-11 16:00
11
0
牛牛牛牛啊!
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
bxm 29 2007-1-12 21:40
12
0
最初由 4nil 发布
KeyGen代码也贴一下把,呵呵


注册机代码有点杂乱就不贴了,贴一个注册机.(注:有极个别的用户名可能注册不成功)
上传的附件:
游客
登录 | 注册 方可回帖
返回