.Net 秘鑰生成器
VMProtect 是新一代軟件盜版保護解決方案。VMProtect 是目前強大的反盜版解決方案之一,許多領先的軟件發行商都在使用它。VMProtect允許保護可執行文件(EXE,SCR),動態鏈接庫(DLL,OCX,BPL)和驅動程序(SYS)。
加密解密技術交流群(766135708)
.Net 秘鑰生成器
.Net 秘鑰生成器是包含生成序列號所需的所有內容的構建。源代碼在Keygen\Net中作為兩個項目:KeyGen(密鑰生成器本身)和 Usage(密鑰生成器的使用示例)
密鑰生成器在源代碼中提供,以便在給定版本的 .Net Framework 下快速構建,但是我們強烈建議不要對代碼應用任何更改。在 VMProtect 的未來版本中,可能會向生成器添加一些新的可能性,這可能會導致重復修改代碼。此外,這可能會導致非常難以定位的錯誤。如果您在生成器的原始代碼中發現錯誤或想提出改進建議,請聯系支持團隊。
使用生成器
以Usage項目中的代碼為基礎,然后將指向 VMProtect.KeyGen.dll 構建的鏈接添加到您的項目中。之后,您將能夠在您的應用程序中生成序列號。為了正常運行,生成器必須“知道”您為哪個產品生成序列號。為此,在 VMProtect 中打開“Project | 導出密鑰對”對話框并選擇“KeyGen.Net 的參數”選項。下面的文本區域將包含文本信息,您應該將其作為字符串常量復制并粘貼到您的應用程序中。
下面是調用生成器的示例代碼:
try { string data = @""; // put the exported data here Generator g = new Generator(data); g.UserName = "John Doe"; g.EMail = "john@doe.com"; g.ExpirationDate = DateTime.Now.AddMonths(1); g.MaxBuildDate = DateTime.Now.AddYears(1); g.RunningTimeLimit = 15; g.HardwareID = "AQIDBAgHBgU="; g.UserData = new byte[] { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; string serial = g.Generate(); Console.WriteLine("Serial number:\n{0}\n", serial); } catch (Exception ex) { Console.WriteLine("Error: {0}", ex); }
您從 VMProtect 復制的字符串應該放在作為參數傳遞給序列號類構造函數的數據變量中。如果在解析產品數據時出現任何問題,構造函數將拋出包含問題描述的異常。如果構造函數成功完成其工作,則生成器已準備好生成序列號。
序列號可以包含使用生成器屬性指定的各種信息。上面的示例顯示了如何填寫序列號的所有字段。某些領域有限制。例如,用戶名和電子郵件不能接受超過 255 個字符的 UTF-8 編碼字符串。如果提供的數據不正確,屬性會拋出包含問題描述的異常。
生成器設置完成后,將調用Generate()方法。此方法生成一個序列號。在此步驟中,將序列號的所有數據合并,計算校驗和并加密數據。如果數據量超過允許的長度,該方法將拋出異常。如果需要生成多個序列號,可以連續多次使用生成器類,而不需要從頭開始創建。要清除生成器的任何給定屬性,只需為其分配一個空值即可