kaoyange 发表于 2014-6-12 10:15

转个keygenme,新手们都来虐它吧-----难道真的无人能解我的疑惑?

本帖最后由 kaoyange 于 2014-6-15 22:16 编辑

1.算法并不难,本人只是对她的User-ID的输入以及处理方式感到很好奇,百思不得其解,如果有好心的大大分析出来了,还望告知一二

2.This keygenme is from www.crackmes.de.

3.Have fun & good luck.

见朕骑妓。 发表于 2014-6-12 10:19

kaoyange 发表于 2014-6-16 20:06

kaoyange 发表于 2014-6-14 23:03
这位兄台,首先谢谢你

1、按照正常输入应该没啥问题,但不知你是否注意到如果User-ID的输入大于int型( ...

在下愚钝,不敢苟同,我认为逆向就是要搞清自己认为有疑惑和好奇的部分,虽然我现在还无法解释,但我相信随着我点点滴滴的积累,一定可以弄明白。

kaoyange 发表于 2014-6-12 10:29

见朕骑妓。 发表于 2014-6-12 10:19
看不懂~~~

具体哪方面?

纳兰小寒 发表于 2014-6-12 11:03

不明觉厉、、、小菜只能简单的nop掉

心断空 发表于 2014-6-12 19:46

这个CM好奇怪的额

kaoyange 发表于 2014-6-13 09:29

心断空 发表于 2014-6-12 19:46
这个CM好奇怪的额

哪儿奇怪了呀???

currwin 发表于 2014-6-14 15:58

什么时候转了个KM过来我居然没有看到?下次有KM还望能够@一下我

currwin 发表于 2014-6-14 16:26

没啥难度的。。。。。唉。
Keygen源码:
int main()
{
        cout<<"**********************************************************"<<endl
                <<"*            keygen for KEYGENME #2                      *"<<endl
                <<"*                         by F8LEFT                      *"<<endl
                <<"*                     2014.6.14                        *"<<endl
                <<"**********************************************************"<<endl;
        char Name;
        intID;
        cout<<"Enter User-Name:";
        cin>>Name;
        cout<<"Enter User-ID:";
        cin>>ID;
        int i;
        int sum = 0;
        int temp;
        for(i = 0; i < strlen(Name); i++)
        {
                temp = Name;
                temp += 0x32A6C65;
                temp += 2 * ID * ID + 0x2D67A23;
                sum+= temp;
        }
        cout<<"Your Password is:"<<sum<<endl;
        system("pause");
        return 0;
}

kaoyange 发表于 2014-6-14 23:03

currwin 发表于 2014-6-14 16:26
没啥难度的。。。。。唉。
Keygen源码:
int main()


这位兄台,首先谢谢你

1、按照正常输入应该没啥问题,但不知你是否注意到如果User-ID的输入大于int型(2^32-1),结果又会怎样?

2、算法确实没啥难度,但我还有问题想请教你:这个KeyGenMe是如何接受User-ID的输入并且处理的?我从OD中没看出来,只知道用了getc,能否指点下?
页: [1] 2
查看完整版本: 转个keygenme,新手们都来虐它吧-----难道真的无人能解我的疑惑?