程序授權(quán)托管解決方案IntelliLock關(guān)于GUI要素介紹
IntelliLock是用于許可控制和應(yīng)用程序的高級(jí)100%托管解決方案。.NET Reactor提供了基于本機(jī)代碼保護(hù)的許可系統(tǒng),而IntelliLock選擇了100%托管方式來(lái)應(yīng)用許可和保護(hù)功能。
IntelliLock主要功能特點(diǎn):
- 創(chuàng)建軟件的試用版
- 使用許可證文件輕松將您的試用版轉(zhuǎn)換為完全許可版
- 全面的許可證管理
- 軟件開(kāi)發(fā)工具包
- 強(qiáng)RSA加密
- 裝配合并/打包功能
- 組裝保護(hù)
- 自動(dòng)化加載項(xiàng)集成Visual Studio
組裝清單
在這里可以指定程序集以及IntelliLock輸出的目標(biāo)路徑。上面的裝配列表中的第一個(gè)裝配是主要裝配。如果定義多個(gè)部件,則可以選擇合并它們或分別鎖定/保護(hù)它們。使用“屬性”按鈕,可以分別為每個(gè)程序集設(shè)置強(qiáng)名稱或數(shù)字證書(shū)設(shè)置。使用按鈕“添加”和“刪除”來(lái)添加和刪除程序集。
裝配體屬性
在這里,您可以指定您的強(qiáng)名稱密鑰對(duì)文件以及帶有相應(yīng)密碼的數(shù)字證書(shū)。此外,您可以選擇將程序集打包為嵌入式資源。如果選中“不保護(hù)此程序集”,則IntelliLock不會(huì)對(duì)該程序集應(yīng)用任何鎖定或保護(hù)功能。當(dāng)然,仍然可以將此裝配體與主裝配體合并。
許可證文件名
設(shè)置受保護(hù)程序集將自動(dòng)搜索的許可證文件的文件名。一旦找到有效的許可證文件,將忽略所有試用限制,并遵守許可證文件設(shè)置。
還可以在“許可證名稱”文本框中使用以下值直接指向特定的許可證位置:
[ApplicationData],[CommonApplicationData],[LocalApplicationData],[MyDocuments],[CommonDocuments],[AssemblyLocation]
例:
[ApplicationData]\mysubfolder\mysubsubfolder\*.license
許可證生成器
IntelliLock許可證系統(tǒng)允許您在沒(méi)有許可證文件的情況下分發(fā)程序集,前提是您已將“無(wú)有效許可證運(yùn)行”設(shè)置為T(mén)rue??蛻糍?gòu)買(mǎi)許可證時(shí),可以使用許可證生成器或SDK生成許可證文件來(lái)解鎖程序集。許可證文件中的鎖定設(shè)置始終會(huì)覆蓋程序集中存儲(chǔ)的設(shè)置。
要?jiǎng)?chuàng)建有效的許可證文件,必須使用與鎖定程序集相同的主密鑰來(lái)創(chuàng)建許可證。創(chuàng)建項(xiàng)目時(shí)會(huì)生成此主密鑰,必須保存該主密鑰以保留原始密鑰,否則將無(wú)法生成有效的許可證文件。
- 硬件鎖定許可證-此選項(xiàng)允許您基于標(biāo)識(shí)該P(yáng)C中特定硬件組合的硬件ID,創(chuàng)建只能在特定PC上使用的許可證。禁用了硬件的許可證文件可以在任何PC上使用。利用硬件鎖可以防止您的客戶購(gòu)買(mǎi)一個(gè)許可證文件并在多臺(tái)PC上使用它。要?jiǎng)?chuàng)建鎖定到特定PC硬件的許可證,必須啟用“硬件鎖定”并提供客戶端PC的硬件ID。請(qǐng)使用SDK函數(shù)在程序集中顯示硬件ID(例如,在“關(guān)于”對(duì)話框中)。
- 容忍級(jí)別-容忍級(jí)別表示在鎖定的組件將硬件ID識(shí)別為無(wú)效之前允許更改的硬件組件數(shù)。
- 僅在設(shè)計(jì)時(shí)檢查硬件ID-將設(shè)計(jì)時(shí)使用限制為特定計(jì)算機(jī)。對(duì)于組件庫(kù)很有用。
- 運(yùn)行時(shí)許可證-生成的許可證在運(yùn)行時(shí)有效。
- 設(shè)計(jì)時(shí)許可證-生成的許可證在可視化設(shè)計(jì)師或編譯器的設(shè)計(jì)時(shí)有效。
- 版本鎖定-選中此選項(xiàng)可確保許可證僅對(duì)特定的程序集版本有效。使用星號(hào)(*)定義應(yīng)忽略版本號(hào)的哪些部分。在“許可證信息”列表上單擊鼠標(biāo)右鍵以定義進(jìn)一步的組裝限制。
-
將試用限制應(yīng)用于許可證文件-此選項(xiàng)使用您在“鎖定設(shè)置”標(biāo)簽中設(shè)置的設(shè)置鎖定許可證文件。使用它來(lái)延長(zhǎng)試用期,完成基于訂閱/時(shí)間的許可證到期等...
- 作為試用版-如果選中此選項(xiàng),則創(chuàng)建的許可證文件將試用限制(基于在“鎖定設(shè)置”選項(xiàng)卡中設(shè)置的設(shè)置)應(yīng)用于部件。適用于申請(qǐng)或延長(zhǎng)試用期。
- 作為完整版本-如果選中此選項(xiàng),則創(chuàng)建的許可證文件將使用在“鎖定設(shè)置”選項(xiàng)卡中設(shè)置的設(shè)置將有時(shí)間限制的完整版本應(yīng)用于您的部件。
- 新期間-如果選中此選項(xiàng),則創(chuàng)建的許可證文件將使用一個(gè)獨(dú)立的數(shù)據(jù)插槽來(lái)存儲(chǔ)超出天數(shù)等。請(qǐng)取消選中此復(fù)選框以重復(fù)使用已超過(guò)天數(shù)的ect。
- 強(qiáng)制許可證服務(wù)器驗(yàn)證-如果要先通過(guò)服務(wù)器驗(yàn)證許可證文件,然后再將其識(shí)別為有效許可證文件,則可以在此處將地址設(shè)置為相應(yīng)的Web服務(wù)。使用菜單/欄項(xiàng)目“許可證管理”->“ ASP.NET管理/激活”來(lái)創(chuàng)建相應(yīng)的服務(wù)。
- 浮動(dòng)許可證/并發(fā)用戶-如果要應(yīng)用通過(guò)服務(wù)器控制的浮動(dòng)許可證,則可以在此處將地址設(shè)置為相應(yīng)的Web服務(wù)。使用菜單/欄項(xiàng)目“許可證管理”->“ ASP.NET管理/激活”來(lái)創(chuàng)建相應(yīng)的服務(wù)。
- 許可證信息-您可以將自定義許可證信息添加到許可證文件。自定義許可證信息允許靈活的許可證Shema,模塊化許可證等。您的程序集可以使用SDK庫(kù)中提供的功能訪問(wèn)此信息。使用鼠標(biāo)右鍵添加部件屬性信息。鎖定的程序集會(huì)自動(dòng)將此特殊信息與調(diào)用程序集的屬性進(jìn)行比較。只有具有匹配屬性的程序集才可以訪問(wèn)鎖定的程序集。
許可證信息
可以在此處將自定義許可證信息添加到許可證文件。自定義許可證信息允許靈活的許可證Shema,模塊化許可證等。您的程序集可以使用SDK庫(kù)中可用的功能訪問(wèn)此信息。使用鼠標(biāo)右鍵添加部件屬性信息。鎖定的程序集會(huì)自動(dòng)將此特殊信息與調(diào)用程序集的屬性進(jìn)行比較。只有具有匹配屬性的程序集才可以訪問(wèn)鎖定的程序集。
鎖定設(shè)定
通過(guò)使用各種評(píng)估鎖,IntelliLock使您能夠以多種方式控制組件的使用-試用版,軟件租賃,自定義鎖,軟件即服務(wù)-都可以使用IntelliLock鎖進(jìn)行,并且都無(wú)需任何修改到您的源代碼。我們建議您花一些時(shí)間來(lái)了解這些許可證執(zhí)行選項(xiàng),因?yàn)槟ㄔ谶@樣做上的時(shí)間將是很值得的。
在“鎖定設(shè)置”頁(yè)面中,指定保護(hù)組件時(shí)希望IntelliLock內(nèi)置到程序集中的許可控制。這些鎖由IntelliLock包含在受保護(hù)程序集中的其他代碼實(shí)現(xiàn),不需要更改程序集源代碼即可實(shí)現(xiàn)。IntelliLock許可的強(qiáng)大功能之一是,可以通過(guò)向客戶提供許可文件來(lái)覆蓋內(nèi)置于程序集中的設(shè)置,這意味著您無(wú)需提供程序的單獨(dú)許可版本-試用版和完整版完全相同,唯一的不同是您提供給付費(fèi)客戶的許可證文件。
- 到期天數(shù)-您的應(yīng)用程序?qū)⒃谟?jì)算機(jī)上首次安裝之日起指定的天數(shù)內(nèi)運(yùn)行。
- 到期日期-到期日期鎖使您可以指定程序集應(yīng)到期的確切日期。例如,對(duì)于Beta測(cè)試版和軟件租賃而言,這很有用(您可以在其中將到期日期指定為客戶為使用軟件付費(fèi)的最后日期之后的第二天)。
- 執(zhí)行-此鎖(如果啟用)使您的應(yīng)用程序在指定的執(zhí)行次數(shù)后過(guò)期。
- 運(yùn)行時(shí)-用戶可以無(wú)限制地運(yùn)行該程序集,但是每次運(yùn)行指定時(shí)間后,該附件將關(guān)閉。
- 全局時(shí)間-此選項(xiàng)設(shè)置程序集可以保留在內(nèi)存中的確切總分鐘數(shù)。
- 實(shí)例-此鎖(如果啟用)允許您指定允許用戶同時(shí)運(yùn)行的應(yīng)用程序的最大副本數(shù)。請(qǐng)注意,超過(guò)指定數(shù)量的實(shí)例不會(huì)導(dǎo)致您的應(yīng)用程序過(guò)期。
- 自定義-此鎖(如果啟用)將啟用試用模式,而無(wú)需使用上述鎖。如果您想使用自己的試用限制,這將非常有用。要確定當(dāng)前許可證狀態(tài),請(qǐng)使用InteliLock SDK。
-
過(guò)期行為全部
- 啟用后,僅當(dāng)所有其他啟用的鎖都已過(guò)期時(shí),才導(dǎo)致程序集過(guò)期。
- 禁用后,如果其中一個(gè)鎖到期,則程序集也會(huì)到期。這是一個(gè)非常強(qiáng)大的選項(xiàng),使您能夠(例如)實(shí)施30天或50次使用的試用期。值得花一點(diǎn)時(shí)間考慮此選項(xiàng)提供的靈活性。
- 不帶許可證文件運(yùn)行-設(shè)置為false要求有效的許可證才能進(jìn)行操作。如果為true,則啟用啟用的Inbuild Locks。如果找到有效的許可證文件,則鎖定設(shè)置將被許可證文件設(shè)置覆蓋。要使用此選項(xiàng),必須至少啟用一個(gè)試用鎖或自定義鎖。
- 到期后關(guān)閉進(jìn)程-到期時(shí)終止正在運(yùn)行的進(jìn)程。
- 在嵌入式資源中搜索-啟用此選項(xiàng)可在調(diào)用程序集的嵌入式資源中搜索許可證文件。
- 在HDD上搜索-啟用此選項(xiàng)可在鎖定的程序集中的位置搜索許可證文件。如果要直接加載許可證,請(qǐng)使用IntelliLock SDK。
- 異步許可證檢查-選中此選項(xiàng)可縮短啟動(dòng)時(shí)間,因?yàn)樵诤笈_(tái)檢查了許可證狀態(tài)。許可證檢查完成后,將立即引發(fā)事件EvaluationMonitor.LicenseCheckFinished(IntelliLock.Licensing.dll)。如果啟用了此選項(xiàng),則在引發(fā)EvaluationMonitor.LicenseCheckFinished之前,請(qǐng)勿檢查許可證狀態(tài)或調(diào)用HardwareID.GetHardwareID(...)。
主密鑰
要?jiǎng)?chuàng)建有效的許可證文件,必須使用與用于產(chǎn)生IntelliLock鎖定/保護(hù)輸出相同的主密鑰來(lái)創(chuàng)建許可證。在創(chuàng)建項(xiàng)目時(shí)會(huì)生成此主密鑰,必須將其保存以保留原始密鑰。切勿將萬(wàn)能鑰匙交給任何人!
保護(hù)設(shè)置
“保護(hù)設(shè)置”頁(yè)面允許您啟用各種保護(hù)選項(xiàng)。
-
模糊處理-IntelliLock提供了徹底的類,類型和變量模糊處理。混淆是使您的源代碼更難(但并非不可能)供人類理解的過(guò)程?;煜ㄟ^(guò)將您分配給類,方法,屬性和變量的有意義的名稱替換為無(wú)意義的名稱而起作用。例如,它可以用“ A4DF3CV89G”替換“
counter”的變量名-對(duì)人類而言,這些混淆的名稱令人困惑且難以記住,但對(duì).NET Framework解釋器沒(méi)有影響。
- 使用不可打印的字符-使用不可打印的字符串來(lái)混淆類型和成員名稱,但是如果程序集必須作為安全代碼運(yùn)行則不能使用。
- 生成短字符串-啟用此選項(xiàng)可以為混淆的類和成員名生成短字符串。這樣可以減小文件大小。
- 增量混淆-如果希望IntelliLock始終為類型和成員名稱生成相同的混淆字符串,則需要啟用此選項(xiàng)。
- 創(chuàng)建映射文件-創(chuàng)建一個(gè)將未混淆名稱與混淆名稱交叉引用的文件,該文件由堆棧跟蹤反混淆器使用。
- 忽略InternalVisibleTo-啟用此選項(xiàng)可混淆內(nèi)部類和成員,即使使用InternalsVisibleTo程序集屬性也是如此。
- 排除-如果要防止對(duì)特定類型的類型或成員進(jìn)行混淆,可以在此處啟用相應(yīng)的選項(xiàng)。請(qǐng)注意,IntelliLock還提供聲明性混淆。
- 包含-如果要混淆所有類型或成員(包括公共成員),則需要在此處啟用相應(yīng)的選項(xiàng)。
- 字符串加密-偽裝內(nèi)部文本。這種加密使黑客嘗試對(duì)程序集進(jìn)行代碼補(bǔ)丁變得更加困難,因?yàn)樗麑o(wú)法識(shí)別消息文本或其他有用的字符串,從而使識(shí)別補(bǔ)丁代碼的難度變得更大。
- 高級(jí)字符串加密-除了上述標(biāo)準(zhǔn)字符串加密之外,此選項(xiàng)還添加了特殊的防篡改代碼。任何嘗試通過(guò)任何黑客工具重新編譯代碼的嘗試都將失敗。
- 代碼補(bǔ)丁保護(hù)-啟用此選項(xiàng)可防止您的源代碼被黑客工具篡改。
- 禁止ILDASM-啟用此選項(xiàng)可使用ILDASM.exe工具禁止反匯編為IL。
- 強(qiáng)名刪除保護(hù)-此選項(xiàng)可防止受保護(hù)的程序集被黑客工具篡改。
- 加密IL代碼-啟用此選項(xiàng)可以加密方法的源代碼。在運(yùn)行時(shí),源代碼將在內(nèi)存中解密。
- 注入無(wú)效的元數(shù)據(jù)-注入無(wú)效的元數(shù)據(jù)。大多數(shù)工具無(wú)法讀取帶有無(wú)效元數(shù)據(jù)的程序集。當(dāng)然,您的程序集對(duì).NET運(yùn)行時(shí)仍保持完全功能。
- ·控制流混淆-干擾程序流,使人眼很難遵循程序邏輯。級(jí)別9表示最強(qiáng)的控制流混淆。