- UID
- 66114
注册时间2010-4-1
阅读权限30
最后登录1970-1-1
龙战于野
TA的每日心情 | 慵懒 2019-3-12 17:25 |
---|
签到天数: 3 天 [LV.2]偶尔看看I
|
发表于 2010-4-2 20:48:55
|
显示全部楼层
用户名不为空大于九,注册码不为空大于九.
用户名 whyprowhy 0x77687970726f776879 减去注册码 123456789 0x313233343536373839
变成F0x4636463c3d39403040 F6F<=9@0@ 把第3第5第7取出来相加
是否大于0f 前三个字符相加是否大于0f 第1个第4个第7个+上看看是否大于0f
第4第5第6位加一下 第2第5第8相加 7,8,9+ 3,6,9+ 1,5,9+
// 用户名必须等于九,注册码必须等于九.
// 用户名 whyprowhy 0x77687970726f776879
// 减去注册码 123456789 0x313233343536373839
// 变成0x4636463c3d39403040
// F6F<=9@0@ 把第3第5第7取出来相加
// 是否大于0f 前三个字符相加是否大于0f 第1个第4个第7个+上看看是否大于0f
// 第4第5第6位加一下 第2第5第8相加 7,8,9+ 3,6,9+ 1,5,9+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctime>
int jgg(char*p,char*a);
int nosame(char *a);
void main(){
char a[10]={0x4,0x9,0x2,0x3,0x5,0x7,0x8,0x1,0x6,'\0'};
//="492357816";
char *p;
p=a;
char b[10]; //密码
char c[10]; //用户名
int i=0;
int j=0,k=0;
scanf("%s",c);
if (nosame(a))
{
if(jgg(p,a)){
for (i=0;i<9;i++)
{
b=c-a;
//printf("%x",b);
}
printf("\n");
b='\0';
printf("用户名:%s\n",c);
printf("密码:%s\n",b);
}else printf("no\n");
}
system("pause");
}
int nosame(char *a){
int j=0,i=0;
for (j=1;j<9;j++)
{
for (i=1;i<9;i++)
{
if (i==j)
{
continue;
}else if (a[j]!=a){
}else return 0;
}
}
return 1;
}
int jgg(char*p,char*a){
int i=0,j=0,k=0;
//横着三行
for (j=0;j<3;j++)
{
for(i=0;i<3;i++)
{
k+=p;
}
p=p+3;
if (k<=0xf)
{
k=0;
}else return 0;//printf("1 no!\n");
}
//竖着三行
j=0,i=0,k=0;
p=a;
for (j=0;j<3;j++)
{
for(i=0;i<=6;i+=3)
{
k+=p;
}
p+=1;
if (k<=0xf)
{
k=0;
}else return 0;//printf("2 no!\n");
}
//对角线
j=0,i=0,k=0;
p=a;
k=0;
for(i=0;i<=8;i+=4)
{
k+=p;
}
if (k>0x0f){
return 0;//printf("3 no!\n");
}
j=0,i=0,k=0;
p=a;
k=0;
for(i=2;i<=6;i+=2)
{
k+=p;
}
if (k>0x0f){
return 0;//printf("4 no!\n");
}
return 1;
}
写的不太好 但是可以注册成功 必须输入9位用户名。
[ 本帖最后由 whypro 于 2010-4-2 20:53 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
x
|