天天看點

使用IntelliLock加密授權你的.Net程式一 加密混淆.Net程式二 制作授權試用版軟體   (1) 試用版軟體  

記錄在這裡,以便學習使用!

打開Intellilock進處此界面

使用IntelliLock加密授權你的.Net程式一 加密混淆.Net程式二 制作授權試用版軟體   (1) 試用版軟體  

點選add按鈕加入你要操作的程式集,

Merge Assemblie 可以合并目前程式集清單中的程式集為一個檔案。預設合成後的檔案名為清單中第一位的程式集。

使用IntelliLock加密授權你的.Net程式一 加密混淆.Net程式二 制作授權試用版軟體   (1) 試用版軟體  

左側是混淆界面,右側是進階選項

Use Unprintable Characters 使用不可列印字元

Generate Short Strings 使用短字元串,可以減小程式集大小

Incremental Obfuscation 增量混淆處理

Create  Mapping File 建立混淆映身檔案。選中此選項會産生一個limap檔案

Exclusions 排除以下程式關鍵字或類型不混淆

枚舉,事件,命名空間,類型,字段,方法

String 

Advanced 進階

String Encryptio 加密字元串

        Advanced String Encryption 

Code Path Protection     代碼更新檔保護

Suppress ILDASM  禁用ILDASM反彙編 

String Name Removal Protection  禁止移除強命名保護

Encrypt Il Code  加密IL代碼,選中此選項IL代碼将在運作時進行解密

Inject Invalid Metadata 注入無效中繼資料

Control Flow Obfusction 控制流程混淆級别,越高越安全。

 以上選項設定後,點選工具欄的Finalize或點選TAB标簽Finalization,點選GO按鈕生成加密後的程式

使用IntelliLock加密授權你的.Net程式一 加密混淆.Net程式二 制作授權試用版軟體   (1) 試用版軟體  

在Lock Setting面闆中,

Expiration Days  過期天數,可設定程式從安裝後運作某天數後試用版過期。

Expiration Date  過期時間,可設定程式從安裝後運作到某時間後試用版過期。

Executions  運作次數,可設定程式從安裝後運作到第幾次啟試用版過期

Runtime   運時時間,可設定程式從安裝後運作時間後試用版過期

Global Time  全局時間,可設定程式從安裝後總的運作時間後試用版過期

Instances  程式運作執行個體個數

Custom  自定義

Advanced Settings 進階設定

Run Without Valid License 必選中

Shutdown Process After Expiration 重新開機程式後過期

Search In Embedded Resources 在資源檔案中查找License

Search ON Hdd 在硬碟中查找License

License Name 設定程式由試用版轉正版所使用的License檔案名稱。

Master Key license的KEY檔案,釋出的程式的MasterKey和License的masterKey必須對應,否則License授權失效!

-------------------------------------------

經過以上的設定你釋出出去的程式就會按你的過期設定到時過期了。

但是這樣有一個弊病,可以一個授權檔案(License),複制到任意PC上後即完成了授權。

這裡IntelLilock支援license綁定硬體ID進行授權

流程是這樣的。程式發給使用者(按上一步的設定),滿足過期條件後試用過期,

讓使用者去程式檔案夾尋找(硬體ID.txt) 裡面放着目前電腦的硬體ID資訊

此硬體ID資訊從哪來的呢,這裡IntelLiLock Sdk 提供的方法

項目引用IntelliLock.Licensing.dll 在IntelLiLock安裝後的檔案夾\SDK\Bin下

調用此方法讀取目前PC的硬體ID資訊

<a href="http://www.nsoff.com/post/2012/05/23/%E4%BD%BF%E7%94%A8IntelliLock%E5%8A%A0%E5%AF%86%E6%8E%88%E6%9D%83%E4%BD%A0%E7%9A%84Net%E7%A8%8B%E5%BA%8F.aspx#">?</a>

1

<code>IntelliLock.Licensing.HardwareID.GetHardwareID(</code><code>true</code><code>,</code><code>true</code><code>,</code><code>true</code><code>,</code><code>true</code><code>,</code><code>true</code><code>,</code><code>false</code><code>);&lt;br&gt;&lt;br&gt;</code>

參數 BIOS,CPU,HDD,MAC,Mainboard,OS 為True即生成硬體資訊ID時加入此硬體的算法

這裡你調用此方法調試程式時顯示"####-#####-#####-####"類似字元串,不是硬體ID資訊。

因為程式需要使用IntelLilock加密後。此方法才生效(應該是IntelLilock加密時動态的把此方法的算法加了進去)

用IntelLilock加密後運作程式。成功顯示了硬體ID資訊

使用IntelliLock加密授權你的.Net程式一 加密混淆.Net程式二 制作授權試用版軟體   (1) 試用版軟體  

把使用者發來的硬體ID粘貼入上面文檔框中,把BIOS,CPU,HDD,MAC,Mainboard複選框選中

這裡為什麼不把OS也選中呢。因為

<code>IntelliLock.Licensing.HardwareID.GetHardwareID(</code><code>true</code><code>,</code><code>true</code><code>,</code><code>true</code><code>,</code><code>true</code><code>,</code><code>true</code><code>,</code><code>false</code><code>);</code>

此方法的最後一個OS參數為false,是以這裡不用選中。要和上面方法保持一緻! 這樣把你的license發給使用者。放到程式根目錄下。即完成了試用版到正式版的授權。   以上這些隻是IntelLiLock的Task标簽内的内容 還有License 管理,TOOLS工具,help等 License management 針對客戶,産品進行資訊維護,自帶SQLITE資料庫 tools工具中有License Check 和hardware check  

IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseStatus == IntelliLock.Licensing.LicenseStatus.Licensed 判斷目前License是否已授權

就寫這些了。。。還有更多的功能等待你的挖掘!

繼續閱讀