using system;
using system.management;
using system.security.cryptography;
using system.io;
using system.collections.generic;
using system.text;
namespace xingming_reg
}internal class regmutou
return str;
}catch
}public string getcomputerbit(string softname)
if (biosserialnumber != "")
if (harddiskserialnumber != "")
if (netcardmacaddress != "")
return (softname + "wf53a419db238bbad");
}public string getcpuid()
return str;
}catch
}public string getharddiskserialnumber()
return str;
}catch
}public string getnetcardmacaddress()
return str;
}catch
}public bool regmutousoft(string computerbit, string softname, string filename)
//stream stream2 = file.open(filename, filemode.open);
//streamreader reader = new streamreader(stream2);
//string str2 = "";
string str3 = computerbit;
//while ((str2 = reader.readline()) != null)
////if (str3.length != 0x18)
//sha1 sha2 = new sha1cryptoserviceprovider();
string str4 = bitconverter.tostring(sha2.computehash(encoding.default.getbytes(computerbit))).replace("-", "").toupper();
string str5 = "";
for (int i = 0; i < str4.length; i++)
}string str6 = "";
for (int j = 0; j < str.length; j++)
}int numarray = new int[20];
for (int k = 0; k < 20; k++)
string str7 = "";
for (int m = 0; m < 20; m++)
str7 = str7 + "0123456789abcdefghijklmnopqrstuvwxyz"[numarray[m]];
}if (str3 == str7)
console.writeline("機器碼:" + str3);
console.writeline("註冊碼:"+str7);
return flag;}}
}
using system.management;
//win32_networkadapterconfiguration是wmi資料庫中用來存放網路裝置的資訊表
managementobjectsearcher query = new managementobjectsearcher("select * from win32_networkadapterconfiguration where ipenabled='true'");
//managementobjectcollection物件用來存放查詢結果
managementobjectcollection querycollection = query.get();
foreach (managementobject mo in querycollection)
", mo["description"]);
console.writeline("mac address:", mo["macaddress"]);
//addresses, subnets和 defaultgateways 值都是可以包含多個值得陣列.
//為了適應這種情況,為了適應這種情況,使用者必須把結果分配到乙個字串陣列,
//並再一次用foreach語句通過該字串陣列
string addresses = (string)mo["ipaddress"];
string subnets = (string)mo["ipsubnet"];
string defaultgateways = (string)mo["defaultipgateway"];
//任何乙個介面都可能有多個ip位址
foreach (string ipaddress in addresses)
", ipaddress);
}foreach (string subnet in subnets)
", subnet);
}foreach (string defaultgateway in defaultgateways)
", defaultgateway);
}console.writeline();
}
C 生成註冊碼
string t datetime.now.ticks.tostring t deskey.desencrypt t,deskey.deskeystr string strid new string t.length for int i 0 i t.length i 把字元賦給陣列 string s...
C 生成軟體註冊碼
今天早上,花了乙個早上弄了個生成機器碼和註冊碼的demo,通過生成的註冊碼裡面包含時間資訊,保證了註冊碼在使用後的指定時間後失效 由於數學不行所以寫的比較簡單,ok 上 吧 產生機器碼的原理很簡單,基本上都是取裝置資訊之後加密 取本機機器碼 public static string getmachi...
C 生成軟體註冊碼
開發軟體時,當用到商業用途時,註冊碼與啟用碼就顯得很重要了。現在的軟體破解技術實在在強了,各種國內外大型軟體都有註冊機制,但同時也不斷地被破解。下面發的只是乙個常用版本,發出原始碼被破就更容易了,但我們學習的是技術。當然也為以後自己的軟體不會被輕易破解。第一步。根據卷標,cpu序列號,生成機器碼 取...