MyGod
发表于 2009-11-23 15:07:11
总结的太好了,认真学习!
这可能是一条打好基础的良方!
[ 本帖最后由 MyGod 于 2009-11-23 15:08 编辑 ]
roczyl
发表于 2009-11-26 12:31:48
全局变量赋值法比较好。但是我想,如果在判断函数里,开始就给变量赋值为假的话,那么就要找对时机赋值了,是吧。
Luckly
发表于 2009-11-30 17:01:34
//-----------------------------------------**/
#include <windows.h>
#include <stdio.h>
char Serial = {
0
}; // 定义31位注册码的buf空间
char* GetSerial(char* UserID)
{
WORD v1, v2, bl, v_si, v3, v4;
int len,i = 0;
byte v_asc, v_f, sn1;
char* p;
const char* Findstr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
const char* Qwer_str = "Qwert yuiop asdfg hjkl zxcvbnm";
v_si = *UserID;
bl = 1;
v1 = v_si * 100;
v2 = v_si << 9;
len = strlen(UserID) + 1;
p = new char;
memset(Serial, 0, 32);
memset(p, 0, len);
strcpy(p, UserID);
*(p + len - 1) = 1;
do {
v_asc = *(p + bl % len);
v3 = v_asc ^ (v_si >> 8);
v4 = v3 ^ (*(Qwer_str + bl - 1));
sn1 = v4 + len;
sn1 = sn1 % 0x3E + 1;
v_f = *(Findstr + sn1 - 1);
*(Serial + bl - 1) = v_f;
v_si = v_si + v_f;
v_si = v_si * v1 + v2;
bl ++ ;
} while (bl != 0x1F);
return Serial;
}
int main()
{
char* myid = "ID1860529470";
printf("%s\n", GetSerial(myid));
return 0;
}
a2006
发表于 2009-12-1 03:17:01
只学会了一种,简单的。
chn-2000
发表于 2009-12-4 18:12:04
进来学习一下自己就是0分的那种人
Nisy
发表于 2009-12-4 18:55:04
原帖由 Luckly 于 2009-11-30 17:01 发表 https://www.chinapyg.com/images/common/back.gif
//-----------------------------------------**/
#include
#include
char Serial = {
0
}; // 定义31位注册码的buf空间
char* GetSerial(char* UserID)
{
WORD v1, v2, bl, v_si, v3,...
Good Job :loveliness:
bouyY
发表于 2009-12-6 07:39:59
占位留影,待编辑
xie83544109
发表于 2009-12-7 11:37:33
向楼主牛牛学习/:good
流冰
发表于 2009-12-7 11:47:02
九食堂堂主
发表于 2009-12-8 08:52:44
自己先私下试试看!!!
页:
1
2
[3]
4
5
6
7
8
9
10
11
12