.Net 秘鑰生成器
VMProtect 是新一代軟件盜版保護解決方案。VMProtect 是目前強大的反盜版解決方案之一,許多領先的軟件發(fā)行商都在使用它。VMProtect允許保護可執(zhí)行文件(EXE,SCR),動態(tài)鏈接庫(DLL,OCX,BPL)和驅(qū)動程序(SYS)。
加密解密技術(shù)交流群(766135708)
.Net 秘鑰生成器
.Net 秘鑰生成器是包含生成序列號所需的所有內(nèi)容的構(gòu)建。源代碼在Keygen\Net中作為兩個項目:KeyGen(密鑰生成器本身)和 Usage(密鑰生成器的使用示例)
密鑰生成器在源代碼中提供,以便在給定版本的 .Net Framework 下快速構(gòu)建,但是我們強烈建議不要對代碼應用任何更改。在 VMProtect 的未來版本中,可能會向生成器添加一些新的可能性,這可能會導致重復修改代碼。此外,這可能會導致非常難以定位的錯誤。如果您在生成器的原始代碼中發(fā)現(xiàn)錯誤或想提出改進建議,請聯(lián)系支持團隊。
使用生成器
以Usage項目中的代碼為基礎,然后將指向 VMProtect.KeyGen.dll 構(gòu)建的鏈接添加到您的項目中。之后,您將能夠在您的應用程序中生成序列號。為了正常運行,生成器必須“知道”您為哪個產(chǎn)品生成序列號。為此,在 VMProtect 中打開“Project | 導出密鑰對”對話框并選擇“KeyGen.Net 的參數(shù)”選項。下面的文本區(qū)域?qū)谋拘畔?,您應該將其作為字符串常量復制并粘貼到您的應用程序中。
下面是調(diào)用生成器的示例代碼:
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 復制的字符串應該放在作為參數(shù)傳遞給序列號類構(gòu)造函數(shù)的數(shù)據(jù)變量中。如果在解析產(chǎn)品數(shù)據(jù)時出現(xiàn)任何問題,構(gòu)造函數(shù)將拋出包含問題描述的異常。如果構(gòu)造函數(shù)成功完成其工作,則生成器已準備好生成序列號。
序列號可以包含使用生成器屬性指定的各種信息。上面的示例顯示了如何填寫序列號的所有字段。某些領域有限制。例如,用戶名和電子郵件不能接受超過 255 個字符的 UTF-8 編碼字符串。如果提供的數(shù)據(jù)不正確,屬性會拋出包含問題描述的異常。
生成器設置完成后,將調(diào)用Generate()方法。此方法生成一個序列號。在此步驟中,將序列號的所有數(shù)據(jù)合并,計算校驗和并加密數(shù)據(jù)。如果數(shù)據(jù)量超過允許的長度,該方法將拋出異常。如果需要生成多個序列號,可以連續(xù)多次使用生成器類,而不需要從頭開始創(chuàng)建。要清除生成器的任何給定屬性,只需為其分配一個空值即可