www.361dvd.com:VB问题,是关于运算的

来源:百度文库 编辑:高考问答 时间:2024/05/04 15:45:54
这个是我的硬盘的序列号:D254Y66E
如何让它进行运算?它里面有英文啊~~我想做一个软件注册码验证的程序。
我是通过外部DLL处理的。
GetVolumeInformation 我已经会了。

参考

利用硬盘序列号计算软件注册码

http://www.pconline.com.cn/pcedu/empolder/gj/vb/0403/325420.html

然后,你就把它放进一个char[]数组里面。
然后就运算呗。怎么算要你自己设计,如果我们设计,可能注册机都给你准备好了。

举个例子?设serial[] 为序列号,slen 为长度。
CString strTemp =""
for(int i=0;i<slen;i++)
{
char x = serial[i] % 8 + '0';
strTemp += x;
}

这个只是例子,是非常简单的,实际弄时要弄难一点的,这样才难以破解。

附:建议你在注册码中,在原有基础上,加几个不校验的随机位。这样有些迷惑性。

可以这样想:MD5(HD.SN & “你想要加入的任意字串”)即为注册码,根据注册码再算号。