給軟件設置有效期限和次數的好工具 好用,不用寫代碼,到了日期軟件或次數就不能用。
加密混淆.Net程序
打開Intellilock進處此界面
點擊add按鈕加入你要操作的程序集,
Merge Assemblie 可以合并當前程序集列表中的程序集為一個文件。默認合成后的文件名為列表中第一位的程序集。
點擊Protection Settings標簽進入保護設置界面
左側是混淆界面,右側是高級選項
Use Unprintable Characters 使用不可打印字符
Generate Short Strings 使用短字符串,可以減小程序集大小
Incremental Obfuscation 增量混淆處理
Create Mapping File 創(chuàng)建混淆映身文件。選中此選項會產生一個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按鈕生成加密后的程序
二 制作授權試用版軟件
(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文件,發(fā)布的程序的MasterKey和License的masterKey必須對應,否則License授權失效!
-------------------------------------------
經過以上的設置你發(fā)布出去的程序就會按你的過期設置到時過期了。
但是這樣有一個弊病,可以一個授權文件(License),復制到任意PC上后即完成了授權。
這里IntelLilock支持license綁定硬件ID進行授權
(2) License綁定硬件ID進行一機一License授權。
流程是這樣的。程序發(fā)給用戶(按上一步的設置),滿足過期條件后試用過期,
讓用戶去程序文件夾尋找(硬件ID.txt) 里面放著當前電腦的硬件ID信息
此硬件ID信息從哪來的呢,這里IntelLiLock Sdk 提供的方法
項目引用IntelliLock.Licensing.dll 在IntelLiLock安裝后的文件夾\SDK\Bin下
調用此方法讀取當前PC的硬件ID信息
?
1 | IntelliLock.Licensing.HardwareID.GetHardwareID(true, true, true, true, true,false);<br><br> |
參數 BIOS,CPU,HDD,MAC,Mainboard,OS 為True即生成硬件信息ID時加入此硬件的算法
這里你調用此方法調試程序時顯示"####-#####-#####-####"類似字符串,不是硬件ID信息。
因為程序需要使用IntelLilock加密后。此方法才生效(應該是IntelLilock加密時動態(tài)的把此方法的算法加了進去)
用IntelLilock加密后運行程序。成功顯示了硬件ID信息
下面是用IntelLiLock發(fā)布授權License
把用戶發(fā)來的硬件ID粘貼入上面文檔框中,把BIOS,CPU,HDD,MAC,Mainboard復選框選中
這里為什么不把OS也選中呢。因為
1 | IntelliLock.Licensing.HardwareID.GetHardwareID(true, true, true, true, true,false); |
此方法的最后一個OS參數為false,所以這里不用選中。要和上面方法保持一致! 這樣把你的license發(fā)給用戶。放到程序根目錄下。即完成了試用版到正式版的授權。 以上這些只是IntelLiLock的Task標簽內的內容 還有License 管理,TOOLS工具,help等 License management 針對客戶,產品進行信息維護,自帶SQLITE數據庫 tools工具中有License Check 和hardware check
IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseStatus == IntelliLock.Licensing.LicenseStatus.Licensed 判斷當前License是否已授權
就寫這些了。。。還有更多的功能等待你的挖掘!