`
devgis
  • 浏览: 134138 次
  • 性别: 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 }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics