好友
阅读权限25
听众
最后登录1970-1-1
|
〇〇木一
发表于 2014-11-4 12:14
ss为"解锁成功"字串sa={0x1A,0x0C,0x2D,0x1C,0x0F,0x0D,0x3E,0x01};
sb={0x0D,0x3A,0x2D,0x21,0x11,0x14,0x08,0x25}
s1为key前8位(相当于用户名)
s2为8*2+1位字串
其中
s1+atoi(s2[i*2],2)+atoi(s2[16])*0x22+sa+sb=ss (i=1 to 8)
keygen源码:
[C++] 纯文本查看 复制代码 #include<stdio.h>
#include<stdlib.h>
#include<string.h>
unsigned char sa[8]={0x1A,0x0C,0x2D,0x1C,0x0F,0x0D,0x3E,0x01};
unsigned char sb[8]={0x0D,0x3A,0x2D,0x21,0x11,0x14,0x08,0x25};
char *ss="解锁成功";//{0xBD,0xE2,0xCB,0xF8,0xB3,0xC9,0xB9,0xA6};
char s1[50];
unsigned char s2[17];
char out[50];
int main()
{
memset(s1,0,50);
memset(s2,0,17);
printf("请输入八位字串:\n");
scanf("%s",s1);
int len=strlen(s1);
for(int i=len;i<8;i++)
{
s1[i]='0';
}
s1[8]=0;
printf("16组key:\n");
for(i=0;i<16;i++)
{
memset(out,0,50);
strcat(out,s1);
strcat(out,"-");
char a[5];
for(int j=0;j<8;j++)
{
unsigned char p=ss[j]-sa[j]-sb[j]-s1[j]-i*0x22;
sprintf(a,"%02X",p);
strcat(out,a);
}
sprintf(a,"%1X",i);
strcat(out,a);
printf("%s\n",out);
}
system("pause");
return 0;
}
keygen:
CrackMe14KeyGen.zip
(48.46 KB, 下载次数: 35)
|
|