简述.Net下的应用程序授权实战步骤2011-12-17 未知 看了“看了下面那篇“Crack别人应用程序”的文章有感,简述.Net下的应用程序授权。”,自己实际操作了把得出的心得 。这里原理啊背景啊什么都不介绍了,笑望人生已经在他的BLOG上都写的相当清楚了,有什么不细节不明白的可以去看原文。推荐先大概看下原文,现看我下面的步骤,然后再回头去研究原文的细节。由于我自己写的实例是用在公司一项目中,源代码就不方便放出来了,嘿嘿。第一步:生成一组公钥和私钥,公钥用于你发布程序,私钥属于注册码生成。view plaincopy to clipboardprint?
using(RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { // 公钥 string pubkey = rsa.ToXmlString(false); // 私钥 string prikey = rsa.ToXmlString(true); //如果是webForm就Response.Write(pubkey + ”<br/>” + prikey); 下 //如果是winForm就MessageBox.Show("公钥:" + pubkey + "rn私钥:" + prikey); 下 } using(RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()){// 公钥string pubkey = rsa.ToXmlString(false);// 私钥string prikey = rsa.ToXmlString(true);//如果是webForm就Response.Write(pubkey + ”<br/>” + prikey); 下//如果是winForm就MessageBox.Show("公钥:" + pubkey + "rn私钥:" + prikey); 下}
第二步:取得机器硬件编码。我选用CUP的编号。view plaincopy to clipboardprint?
/// <summary> /// 获取CPU编号 /// </summary> /// <returns></returns> public string GetCpuId() { ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); String strCpuID = null; foreach (ManagementObject mo in moc) { strCpuID = mo.Properties["ProcessorId"].Value.ToString(); break; } return strCpuID; } /// <summary>/// 获取CPU编号/// </summary>/// <returns></returns>public string GetCpuId(){ManagementClass mc = new ManagementClass("Win32_Processor");ManagementObjectCollection moc = mc.GetInstances();String strCpuID = null;foreach (ManagementObject mo in moc){strCpuID = mo.Properties["ProcessorId"].Value.ToString();break;}return strCpuID;}