昨天看了看雪出的加密与解密第二章中有个CrackMe,自己想试试,顺便将脑中的理论联系到实际,写了一个C语言控制台的注册机,庆祝自己的第一个成果。下面将代码附上,欢迎学习交流。
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
unsigned int a[7] = {0x0C, 0x0A, 0x13, 0x09, 0x0C, 0x0B, 0x0A};//利用OD 找到的一串常数序列在序列运算过程中用到
int main(int argc, char* argv[])
{
printf("输入用户名:");
char name[128];
gets(name);
int len = strlen(name);
int sum = 0;
for (int i = 3, j = 0; i < len; i++, j++)
{
if( j > 7 )
{
j = 0;
}
sum += (name[i] * a[j]);
}
char output[128];
sprintf(output, "%d", sum);
printf("序列号为:");
puts(output);
return 0;
}