欢迎来到天天文库
浏览记录
ID:32427806
大小:45.50 KB
页数:8页
时间:2019-02-04
《机器码生成注册码教程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、同一般的软件注册一样,我们这里的注册是这样进行的:1.首先根据用户的硬件信息生成24位的机器码 --相当于种子,用于生成随机数 2.采用注册机根据特征数字生成一个24位注册码 --相当于伪随机数生成器,输出长度自己定,最后用一个格式化函数,将随机数映射到ASCII字符集合 3.用户输入注册码注册成功假设客户很喜欢您的软件,也假设他没有破解,他需要通过以下方式向您取得注册码:(1).如果他能上网,他需要把机器码用Email发给您;(2).如果他不能上网,他可以把机器码用手机短信的方式发给您
2、.(3).如果他没有手机,他可以带着机器码然后坐火车到您的办公室想您要一个注册码. --第3条只是为了让您看帖子的时候别太枯燥了,抱歉.现在,您拿到了客户的机器码后,如果您同时也收到了他汇的钱,呵呵,好像给软件加密就是为了要钱吧?那么您就可以用客户的机器码生成一个唯一的注册码再用同样的方式给用户,最后,用户输入注册码即可!需要强调的是客户机器的硬件信息获取方式是有很多种选择的.这里我们选择最放心的两个硬件:CUP的序列号和硬盘的卷标号.好了,下面您就可以一步一步制作一款软件注册机了.步骤一:获得CUP序列号和
3、硬盘序列号的实现代码如下:Java代码#region获取cpu的序列号 publicstringgetCpu() { stringstrCpu=null; ManagementClassmyCpu=newManagementClass("win32_Processor"); ManagementObjectCollectionmyCpuConnection=myCpu.GetInstances(
4、); foreach(ManagementObjectmyObjectinmyCpuConnection) { strCpu=myObject.Properties["Processorid"].Value.ToString(); break; } returnstrCpu;
5、 } #endregion#region获取cpu的序列号publicstringgetCpu() { stringstrCpu=null; ManagementClassmyCpu=newManagementClass("win32_Processor"); ManagementObjectCollectionmyCpuConnection=myCpu.GetInstances();
6、 foreach(ManagementObjectmyObjectinmyCpuConnection) { strCpu=myObject.Properties["Processorid"].Value.ToString(); break; } returnstrCpu; }#endregionJava代码#regio
7、n获取设备硬盘的卷标号 publicstringGetDiskVolumeSerialNumber() { ManagementClassmc=newManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectdisk=newManagementObject("win32_logicaldisk.deviceid="d:"");
8、 disk.Get(); returndisk.GetPropertyValue("VolumeSerialNumber").ToString(); } #endregion#region获取设备硬盘的卷标号publicstringGetDiskVolumeSerialNumber() {
此文档下载收益归作者所有