hbqjxhw 发表于 2006-7-18 08:40:04

原帖由 caterpilla 于 2006-7-17 18:10 发表

代码计算过于繁琐,呵呵,所以没写,关键部分都在上面列着呢


#include "Stdio.h"
#include "Conio.h"
#include "string.h"
#include "ctype.h"
#include<time.h>

int main(void)
{ static char str;
static int str1,str2,str3,str4[]={0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x2F, 0x28, 0x29, 0x3D, 0x3F, 0xA1, 0x5D, 0x3B, 0x3A, 0x5F,0x2D, 0x5B, 0xB4, 0x2B};
int i;
static long int a,b,c,d,x,y,z,x1,z1,temp,year,month,day;
printf("请输入当前年:");
scanf("%d",&year);
printf("请输入当前月:");
scanf("%d",&month);
printf("请输入当前日:");
scanf("%d",&day);
printf("请输入用户名:");
scanf("%s",str);
temp=strlen(str);
for (i=0;i<temp;i++)
        {
        str1=((str+0xc8)^0xde)&0xff;
        }
        for (i=0;i<temp;i++)
                {
                a+=str1;
                a*=2;
                a=(a-(temp*2))&0xffff;
                }
                z=a;
                b=a&0xff;
                z>>=1;
                z<<=2;
                b=((z+0xd000)^b)&0xffff;
                        for (i=0;i<20;i++)
                                {
                                x=a+b;
                                x=(x^str4)/3;
                                y=((a&0xff)^(b&0xff))&0xff;
                                y=y-((temp<<2)-1);
                                c+=(x+y);
                                c=c&0xffff;
                                }
                                        for (i=temp-1;i>=0;i--)
                                                {
                                                str2=((str+0x32)^0xce)&0xff;
                                                }
                                                x=0;y=0;z=0;
                                                for (i=0;i<temp;i++)
                                                        {
                                                        x=d+str2;
                                                        y=a-temp;
                                                        y=((y+x)<<3)&0xffff;
                                                        for (z=0;z<0x14;z++)
                                                                {
                                                                x1=(b&0xff)/(c&0xff);
                                                                x1=x1+(a&0xff);
                                                                y=((((y*2)&0xffff)^x1)+1+y)&0xffff;
                                                                }
                                                                y=y>>1;
                                                                z1=(year^0xc8)+(month^0x64)+((day)^0x32);
                                                                d=(y*z1)&0xffff;
                                                        }
                                                        printf("\n注册码(输入时请用大写):%x-%x-%x-%x",a,b,c,d);
                                                        getch();
                                                        return 0;
}


代码冗长,不要见/:D.

[ 本帖最后由 hbqjxhw 于 2006-7-18 12:21 编辑 ]

caterpilla 发表于 2006-7-18 08:48:24

原帖由 hbqjxhw 于 2006-7-18 08:40 发表



#include "Stdio.h"
#include "Conio.h"
#include "string.h"
#include "ctype.h"
#include<time.h>

int main(void)
{ static char str;
static ...
支持,用C写起来真是简洁啊~~~~~~~~~~~~~~

浮云思音 发表于 2006-7-19 09:44:15

原帖由 caterpilla 于 2006-7-18 08:48 发表

支持,用C写起来真是简洁啊~~~~~~~~~~~~~~

你用DELPHI试试是不是更简洁;)

caterpilla 发表于 2006-7-19 10:23:15

原帖由 浮云思音 于 2006-7-19 09:44 发表


你用DELPHI试试是不是更简洁;)
我现在提交的注册机就是DELPHI的,呵呵。。。。。。。。

xingbing 发表于 2006-7-19 10:28:22

嗯,收藏学习。

agang 发表于 2006-7-22 14:16:52

通过本贴的学习,我基本了解了无间道之技术,好贴,不加精还真是不行,哈,[一人之见]

Anew 发表于 2007-8-29 20:34:51

最近一直用DEDE下来玩玩好了~

ssf003 发表于 2007-8-30 10:43:15

弄下来 试试看 。。。。

lvcaolhx 发表于 2007-9-9 07:39:21

俺新人赶不上脚步
强烈要求写出详细的破文

zxwbj 发表于 2007-9-9 17:48:43

此帖技术性含量高,推荐加精!!!
页: 1 [2] 3
查看完整版本: KeyGenMe6(有反跟踪,抗DEDE反编译)破文,附算法注册机(更新版)