-
-
[旧帖]
[求助][求助]Help Me <CrackMe中的算法求助>
0.00雪花
-
发表于:
2012-3-3 11:34
1242
-
[旧帖] [求助][求助]Help Me <CrackMe中的算法求助>
0.00雪花
昨天晚上没事,下了个CrackMe程序!代码逻辑很简单。爆破1分钟搞定。但是想写出个算序列号的程序搞不定!特来求助。
CrackMe 的算法是:
对用户名的操作:
1、输入的用户名必须大于0x41然后将小写字母变成大写。
2、用户名每项相加
3、相加的结果和0x5678做异或。
对序列号得操作:
1、将序列号每位先减0x30,在乘以0x0A;
2、将结果相加和 0x1234做异或;
请大牛提供思路。
这个是我未完成的代码:
/*创建序列号函数
nUserSum : 用户名计算的值
*/
void CreatSerialNum(int &nUserSum)
{
//1
int nSerialNum = nUserSum;
nSerialNum ^= 1234;
}
int _tmain(int argc, _TCHAR* argv[])
{
char username[] ="UserName";
int nPos = 0;
int nUserSum = 0;
while(username[nPos] !='\0')
{
if (username[nPos] <0x41)
{
printf("No luck there, mate!");
return 0;
}
if (username[nPos] >= 0x5A)
{
username[nPos] = username[nPos] - 0x20;
}
nUserSum += username[nPos];
nPos++;
}
nUserSum ^= 0x5678;
CreatSerialNum(nUserSum);
getchar();
return 0;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课