`
devgis
  • 浏览: 139353 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

c#生成注册码

 
阅读更多
001 usingSystem;
002 usingSystem.Management;
003 usingSystem.Security.Cryptography;
004 usingSystem.IO;
005 usingSystem.Collections.Generic;
006 usingSystem.Text;
007
008 namespacexingming_reg
009 {
010 classProgram
011 {
012 staticvoidMain(string[] args)
013 {
014 boolsucsess =false;
015 stringcomputerbit ="";
016 regmutou reg =newregmutou();
017 computerbit = reg.getcomputerbit("X");
018 sucsess = reg.regmutousoft(computerbit,"xinmin","xinmin.usr");
019 Console.WriteLine(sucsess);
020 Console.ReadLine();
021 }
022 }
023 internalclassregmutou
024 {
025 // Methods
026 publicstringGetBIOSSerialNumber()
027 {
028 try
029 {
030 ManagementObjectSearcher searcher =newManagementObjectSearcher("Select * From Win32_BIOS");
031 stringstr ="";
032 foreach(ManagementObject obj2insearcher.Get())
033 {
034 str = obj2["SerialNumber"].ToString().Trim();
035 }
036 returnstr;
037 }
038 catch
039 {
040 return"";
041 }
042 }
043
044 publicstringgetcomputerbit(stringsoftname)
045 {
046 stringcpuID =this.GetCpuID();
047 stringbIOSSerialNumber =this.GetBIOSSerialNumber();
048 stringhardDiskSerialNumber =this.GetHardDiskSerialNumber();
049 stringnetCardMACAddress =this.GetNetCardMACAddress();
050 if(cpuID !="")
051 {
052 MD5 md =newMD5CryptoServiceProvider();
053 cpuID = BitConverter.ToString(md.ComputeHash(Encoding.Default.GetBytes(cpuID))).Replace("-","").ToUpper().Substring(8, 0x10);
054 return(softname +"C"+ cpuID);
055 }
056 if(bIOSSerialNumber !="")
057 {
058 MD5 md2 =newMD5CryptoServiceProvider();
059 bIOSSerialNumber = BitConverter.ToString(md2.ComputeHash(Encoding.Default.GetBytes(bIOSSerialNumber))).Replace("-","").ToUpper().Substring(8, 0x10);
060 return(softname +"B"+ bIOSSerialNumber);
061 }
062 if(hardDiskSerialNumber !="")
063 {
064 MD5 md3 =newMD5CryptoServiceProvider();
065 hardDiskSerialNumber = BitConverter.ToString(md3.ComputeHash(Encoding.Default.GetBytes(hardDiskSerialNumber))).Replace("-","").ToUpper().Substring(8, 0x10);
066 return(softname +"H"+ hardDiskSerialNumber);
067 }
068 if(netCardMACAddress !="")
069 {
070 MD5 md4 =newMD5CryptoServiceProvider();
071 netCardMACAddress = BitConverter.ToString(md4.ComputeHash(Encoding.Default.GetBytes(netCardMACAddress))).Replace("-","").ToUpper().Substring(8, 0x10);
072 return(softname +"N"+ netCardMACAddress);
073 }
074 return(softname +"WF53A419DB238BBAD");
075 }
076
077 publicstringGetCpuID()
078 {
079 try
080 {
081 ManagementObjectCollection instances =newManagementClass("Win32_Processor").GetInstances();
082 stringstr =null;
083 foreach(ManagementObject obj2ininstances)
084 {
085 str = obj2.Properties["ProcessorId"].Value.ToString();
086 break;
087 }
088 returnstr;
089 }
090 catch
091 {
092 return"";
093 }
094 }
095
096 publicstringGetHardDiskSerialNumber()
097 {
098 try
099 {
100 ManagementObjectSearcher searcher =newManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
101 stringstr ="";
102 foreach(ManagementObject obj2insearcher.Get())
103 {
104 str = obj2["SerialNumber"].ToString().Trim();
105 break;
106 }
107 returnstr;
108 }
109 catch
110 {
111 return"";
112 }
113 }
114
115 publicstringGetNetCardMACAddress()
116 {
117 try
118 {
119 ManagementObjectSearcher searcher =newManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))");
120 stringstr ="";
121 foreach(ManagementObject obj2insearcher.Get())
122 {
123 str = obj2["MACAddress"].ToString().Trim();
124 }
125 returnstr;
126 }
127 catch
128 {
129 return"";
130 }
131 }
132
133 publicboolregmutousoft(stringcomputerbit,stringsoftname,stringfilename)
134 {
135 boolflag =true;
136 stringstr ="";
137 SHA1 sha =newSHA1CryptoServiceProvider();
138 str = BitConverter.ToString(sha.ComputeHash(Encoding.Default.GetBytes(softname))).Replace("-","").ToUpper();
139 //if (!File.Exists(filename))
140 //{
141 // flag = false;
142 // Stream stream = File.Open(filename, FileMode.OpenOrCreate);
143 // StreamWriter writer = new StreamWriter(stream);
144 // writer.WriteLine(computerbit);
145 // writer.Close();
146 // stream.Close();
147 // return flag;
148 //}
149 //Stream stream2 = File.Open(filename, FileMode.Open);
150 //StreamReader reader = new StreamReader(stream2);
151 //string str2 = "";
152 stringstr3 = computerbit;
153 //while ((str2 = reader.ReadLine()) != null)
154 //{
155 // str3 = str2;
156 //}
157 //reader.Close();
158 //stream2.Close();
159 //if (str3.Length != 0x18)
160 //{
161 // //return false;
162 //}
163 SHA1 sha2 =newSHA1CryptoServiceProvider();
164 stringstr4 = BitConverter.ToString(sha2.ComputeHash(Encoding.Default.GetBytes(computerbit))).Replace("-","").ToUpper();
165 stringstr5 ="";
166 for(inti = 0; i < str4.Length; i++)
167 {
168 if((i % 2) == 1)
169 {
170 str5 = str5 + str4[i];
171 }
172 }
173 stringstr6 ="";
174 for(intj = 0; j < str.Length; j++)
175 {
176 if((j % 2) == 0)
177 {
178 str6 = str6 + str[j];
179 }
180 }
181 int[] numArray =newint[20];
182 for(intk = 0; k < 20; k++)
183 {
184 numArray[k] = str6[k] + str5[k];
185 numArray[k] = numArray[k] % 0x24;
186 }
187 stringstr7 ="";
188 for(intm = 0; m < 20; m++)
189 {
190 if((m > 0) && ((m % 4) == 0))
191 {
192 str7 = str7 +"-";
193 }
194 str7 = str7 +"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[numArray[m]];
195 }
196 if(str3 == str7)
197 {
198 flag =true;
199 }
200 Console.WriteLine("机器码:"+ str3);
201 Console.WriteLine("注册码:"+str7);
202 returnflag;
203 }
204 }
205 }
分享到:
评论

相关推荐

    c#非常实用生成注册码程序

    非常实用的C#生成注册码程序,只需调用类文件即可

    C# 软件 机器码生成注册码

    综上所述,C#中实现机器码生成注册码的过程包括获取硬件信息、生成机器码、创建注册码以及验证注册码。这个过程中,安全性是关键,开发者需要不断调整加密策略以应对破解手段的升级。在项目"zhuceTest"中,你可以...

    C#注册码生成

    在C#中,创建一个类,如`RegistrationKeyGenerator`,包含获取硬件信息的方法和生成注册码的方法。使用上述步骤中提到的.NET类库和方法,编写相应功能的函数。确保在生成注册码时,考虑到程序的健壮性和可维护性。 ...

    C# 读取机器码,CPU序列号,生成注册码类

    本文将详细介绍如何利用C#编写一个类来实现机器码、CPU序列号的读取以及基于这些信息生成注册码的过程。 ### 二、获取硬盘序列号 为了确保生成的注册码能够与特定计算机绑定,通常需要获取该计算机的硬盘序列号。这...

    c# --注册码生成算法

    3. **生成注册码**:结合时间条件判断后,再根据序列号生成最终的注册码。 4. **显示注册码**:将生成的注册码展示给用户。 #### 三、详细解析 ##### 1. 获取CPU序列号和硬盘序列号 ```csharp private string get...

    c#读取计算机硬件信息生成注册码实现软件注册源码

    c#读取计算机硬件信息生成注册码实现软件注册

    C# 注册码注册机制 实例源码(加密解密)

    本实例源码着重讲解了如何在C#中设计一个注册码注册系统,涉及到的核心知识点包括加密解密算法、序列化、哈希校验以及网络通信。 首先,我们来看加密解密部分。在软件注册过程中,通常会将用户的注册信息(如用户名...

    C#生成机器码,让软件实现注册功能

    根据获取硬盘序列号和CPU序列号生成机器码,硬盘序列号和CPU序列号全球唯一,所以保证了机器码全球唯一

    pjsecure.zip_机器特征码_机器码 C++_注册码 c#_注册码生成_注册码软件

    获取机器特征码,可生成软件注册码 获取机器特征码,可生成软件注册码

    软件注册 C#根据CPU+磁盘标号生成注册码

    本项目名为“软件注册 C#根据CPU+磁盘标号生成注册码”,其核心是利用C#编程语言,结合CPU ID和硬盘序列号这两个硬件唯一标识来生成特定的注册码,确保每个安装了软件的计算机都能得到独一无二的授权。 首先,我们...

    C# 获取并生成机器码

    在.NET框架下,C#是一种常用的编程语言,用于开发各种应用程序。在软件开发中,有时我们需要为软件创建独一无二的标识,这就是所谓的...同时,生成的机器码通常会与软件的注册机制相结合,用于验证软件的授权状态。

    C#利用网卡序列号生成软件注册码程序

    C#利用网卡序列号设计软件注册程序,将获取到的网卡信息存储到数组中,把网卡信息转换成字符串,根据随机数生成注册码,本源代码可供参考的地方有不少,虽然程序较小,但功能挺实用,如果您想把C#程序转换成商业软件...

    c# wpf实现的软件注册码生成程序

    c# wpf实现的软件注册码生成程序,根据输入的40个字符的机器码生成相应的注册码

    C#_读取机器码_CPU序列号_生成注册码类

    ### C# 读取机器码、CPU序列号与生成注册码类详解 #### 一、概述 本文将详细介绍如何利用C#编程语言实现对本地计算机硬件信息(如硬盘卷标号、CPU序列号等)的读取,并进一步生成用于软件注册验证的唯一“注册码”...

    注册码生成器

    C# 注册码 生成器:根据CPU,硬盘,项目名称,日期,生成注册码

    C#注册码注册机制完整源码示例

    在生成注册码时,我们还需要考虑到时间因素,以限制注册码的有效期。 接下来,我们讨论注册过程。用户获取到注册码后,会在软件中输入以激活软件。软件会验证输入的注册码是否与计算出的预期值匹配。这个验证过程...

    c# 添加注册码试用次数

    综上所述,C#添加注册码试用次数的实现过程涉及多个步骤,包括获取计算机的唯一标识(机器码),选择合适的加密算法(如DES和MD5)处理敏感数据,生成注册码,以及将这些信息保存在注册表中。在实际开发中,还需要...

    C#根据机器骂生成注册码

    C#根据机器骂生成注册码

    利用CPU 和 硬盘id信息生成软件注册码

    QTC++ 利用 读取硬件信息生成软件注册码,这个注册码破解了也是和硬件绑定的。

Global site tag (gtag.js) - Google Analytics