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