Welcome

首页 / 软件开发 / .NET编程技术 / 简述.Net下的应用程序授权实战步骤

简述.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;}