保護內容
這裡的術語“保護”主要指兩方面內容。首先,“先試用後購買”的共享軟體保護方案(多數共享軟體的發布方式);其次,保護軟體的機器代碼不被分析和破解。可以看出,兩種保護方式是不同的,但是是相關的,套用保護可以有效的保護軟體開發者的經濟利益和技術秘密。
許可管理
Enigma Protector 配有專業的許可管理工具:
註冊管理器。用於存儲並管理註冊用戶的授權信息。使用註冊管理器,您可以很輕鬆的將用戶的註冊信息添加到內部資料庫,並且可以創建/編輯這些記錄。
郵件管理器。通過資料庫自動創建並傳送 Email 給用戶。例如,軟體開發商通常需要將新版軟體的更新信息傳送給註冊用戶,使用 Enigma 郵件管理器,就可以輕鬆完成這項工作。
Enigma Protector 擁有高級註冊密鑰生成方案:
舒適的密鑰創建和驗證界面。 您不必到處搜尋如何為客戶創建安全的註冊密鑰,Enigma Protector 可以幫助您輕鬆創建使用 RSA 512-bits 加密算法的註冊密鑰!
Enigma API - 特殊的應用程式接口函式。 Enigma API 是一組特殊的函式集,用於被保護的檔案和 Enigma 裝載器之間的通信,主要用來為保護的檔案添加註冊功能和控制試用參數。
硬體鎖定密鑰。 此特性幫助您生成僅供某一特定計算機使用的註冊密鑰!該註冊密鑰具有硬體鎖定功能,僅在您指定的計算機上生效。
時間限制密鑰。 如果您需要限制註冊版程式的使用時間限制,只需要創建具有時間限制功能的註冊密鑰!
安全快捷的註冊機制。無需使用原始碼,即可快速為您的程式添加自定義的註冊機制。
Enigma Protector 擁有多種時間限制特性:
試用次數、天數、日期和運行時間限制。 共享軟體最主要的特點是“先試用後購買”,客戶需要評估軟體的工作特性,所以我們在展示共享軟體功能的同時需要給軟體加上運行時間的限制。
系統時鐘控制。 此特性用來控制系統時鐘的回撥,幫助您避免不誠實客戶帶來的損失。
加密特性
Enigma Protector 擁有多種加密特性來保護您的軟體免遭破解:
反調試器保護。 調試器是一種在程式運行過程中逆向代碼的特殊工具,所有的逆向工程師都使用調試器來分析您軟體的工作流程和保護方式。使用反調試器保護可以有效的防止程式運行時被調試器載入。
校驗和保護。 校驗和是一種特殊數據,用來檢查軟體數據是否被修改。每一種破解(例如修改註冊流程)都需要修改機器碼,此時 Enigma Protector 就可以檢測到原檔案是否被修改,並提醒用戶。Enigma Protector 不僅檢查被保護檔案的機器碼,殼自身的機器碼也同樣會檢測!
設定啟動密碼。 也許有時候您只希望某一特定的用戶組使用保護後的檔案,為檔案設定啟動密碼就是最安全的方案。
附加特性。 檢測同時運行的進程數量、檔案名稱稱和磁碟類型。
高級輸入表保護。 沒有人會知道您導入了哪些 API 函式。
虛擬機保護。自主研發的虛擬機保護引擎,擁有高強度的加密保護特性;獨有模擬運行功能,精確選擇需要加密的函式。
校驗外部檔案。如果您的軟體發行包除主程式外還包括其它檔案,您可以使用這個特性來校驗那些外部檔案是否被修改。
檢測運行中的進程。通過黑名單方式來檢測禁止運行的檔案或進程,可以通過檔案名稱、視窗標題或類等方式,通常用於檢測調試器、螢幕捕獲工具、監視工具等。
檢測已安裝的服務。
檢測 Windows 版本。
檢測虛擬機軟體、虛擬系統。如果保護後的檔案在虛擬機里 (VMWare, Virtual PC etc) 運行,會自動結束進程。
檔案封裝(捆綁)。將您程式使用的 DLL 檔案或其它數據檔案封裝進獨立的 EXE 檔案中,避免被第三方軟體盜用。
Enigma Protector 還可以幫助您為您的軟體添加一些漂亮的東西,而您無需添加任何代碼:
啟動畫面(閃屏)。 為程式添加啟動畫面,可以在程式啟動時顯示您指定的圖片。
軟體介紹
一般而言,軟體保護機制都是基於“信封”原理,軟體的所有區段(代碼段、數據段、輸入表和資源) 被封裝在保護器內,保護代碼添加在檔案尾部。軟體運行時,保護代碼首先取得控制權,並檢查檔案的完整性、是否有調試器、註冊密匙核試驗版本限制等內容,然後解密程式數據,初始化應用程式(處理輸入表和重定位表)並將控制權交還給應有程式。不同於其它保護方案,Enigma 套用 API(應用程式接口)與被保護程式緊密的結合在一起,這極大地增強了破解難度。
Enigma Protector 擁有多種時間限制特性:
試用次數、天數、日期和運行時間限制:共享軟體最主要的特點是“先試用後購買”,客戶需要評估軟體的工作特性,所以我們在展示共享軟體功能的同時需要給軟體加上運行時間的限制。
系統時鐘控制:此特性用來控制系統時鐘的回撥,幫助您避免不誠實客戶帶來的損失。
Enigma Protector 擁有多種加密特性來保護您的軟體免遭破解:
反調試器保護:調試器是一種在程式運行過程中逆向代碼的特殊工具,所有的逆向工程師都使用調試器來分析您軟體的工作流程和保護方式。使用反調試器保護可以有效的防止程式運行時被調試器載入。
校驗和保護: 校驗和是一種特殊數據,用來檢查軟體數據是否被修改。每一種破解(例如修改註冊流程)都需要修改機器碼,此時 Enigma Protector 就可以檢測到原檔案是否被修改,並提醒用戶。Enigma Protector 不僅檢查被保護檔案的機器碼,殼自身的機器碼也同樣會檢測!
設定啟動密碼:也許有時候您只希望某一特定的用戶組使用保護後的檔案,為檔案設定啟動密碼就是最安全的方案。
附加特性:檢測同時運行的進程數量、檔案名稱稱和磁碟類型。
高級輸入表保護:沒有人會知道您導入了哪些 API 函式。
Enigma Protector 還可以幫助您為您的軟體添加一些漂亮的東西,而您無需添加任何代碼:
啟動畫面(閃屏):為程式添加啟動畫面,可以在程式啟動時顯示您指定的圖片。
歷史更新
Enigma Protector v1.53 Build 2008.09.15
- 增強捆綁功能,支持所有類型檔案的捆綁
- 新增 17 種反調試外掛程式
- 開放外掛程式接口,現在可以自行開發擴展外掛程式
- 新增 Windows 用戶許可權檢測
- 新增一種硬體鎖定類型 - 硬碟序列號
- 閃屏新增對 JPEG 和 PNG 檔案的支持
- 閃屏新增“滑鼠點擊關閉”和“延時啟動”選項
- 新增對虛擬運行環境 VirtualBox 的檢測
- 新增字元串加密功能
- 新增字元串加密函式 EP_ProtectedStringByID 和 EP_ProtectedStringByKey
- 新增 EP_ProtectedStringByID 和 EP_ProtectedStringByKey 函式的代碼實例,參見 Examples\ProtectedStrings 目錄
- 新增用於讀取檔案水印的 Enigma API 函式 EP_MiscGetWatermark
- 新增 EP_MiscGetWatermark 函式代碼實例,參見 Examples\Watermarks 目錄
- 修復保護帶有附加數據的檔案可能出現錯誤的缺陷
- 修復檢測 Windows 版本時可能出現錯誤的缺陷
- 修復某些 DLL 檔案使用 DecryptOnExecute 標記出現錯誤的缺陷
- 修復讀取重定位表時可能出現錯誤的缺陷
- 修復高級輸入表保護和 DecryptOnExecute 標記一起使用時出現錯誤的缺陷
- 修復載入舊版本項目檔案時出現錯誤的缺陷
- 修復與舊版本主程式不兼容的缺陷
Enigma Protector v1.51 Build 2008.07.15
- 新增命令行版本
- 註冊對話框設計器新增訊息變數
- 新增重置本地特殊信息的功能(例如重置本地啟動密碼)
- 新增自定義詢問啟動密碼功能
- 新增更換啟動密碼選項
- 新增需要註冊才能運行的功能
- 對話框設計器新增 %AppName% %AppVers% 變數,返回應用程式名稱和版本
- 新增基於 Windows 序列號的硬體鎖定方式
- 新增 API 函式 EP_RegKeyCreationDate - 返回密鑰創建日期
- 對話框設計器新增 OnClose 事件
- 新增反記憶體斷點保護
- 新增添加/查看水印功能
- 新增密鑰過期提示功能
- 選項設定頁面新增快速幫助連結
- 改進 VM 引擎載入性能,新版本更快速
- 重新設計啟動密碼視窗
- 修復 Visual Studio 8 及以上版本編譯的程式使用入口保護可能出現錯誤的缺陷
- 修復保護後的檔案 DLL 未導入任何函式可能出現錯誤的缺陷
- 修復保護附加檔案功能內嵌已經加密過的 DLL 檔案可能出現錯誤的缺陷
- 修復載入項目檔案的可能出現錯誤的缺陷
- 修復註冊對話框設計器不保存標籤組件的缺陷
Enigma Protector v1.50 Build 2008.06.01
- 新增自定義註冊對話框設計器
- 無需原始碼,直接為您的程式添加註冊機制
- 訊息編輯器新增多個變數
- 新增對虛擬環境的檢測(虛擬機軟體),例如 VMWare, Virtual PC, Sandboxie
- 新增對 Windows 版本的檢測
- 新增對運行中進程的檢測(通過進程名稱、視窗標題和視窗類)
- 新增使用外部檔案校驗
- 新增外部檔案封裝(捆綁)功能
- 可以使用 Enigma Mailer 為用戶傳送郵件
- 動態調用 Enigma API 可以模擬 LoadLibraryA 函式
- 虛擬機加密新增批量函式選擇功能
- 重新構建項目檔案;如果您打開舊版本的項目檔案,可能會丟失部分信息(不會丟失註冊信息)
- 改進檔案分析外掛程式
- 改進虛擬機函式顯示方式
- 改進 MAP 檔案解析算法
- 改進原始入口點的保護方式,阻止 OEP 查找
- 修復在 Windows Vista 系統下運行出錯的缺陷
- 修復保護後的檔案在 Windows 2008 Server, Windows 2003 Server 系統下運行出錯的缺陷
- 修復保護後的檔案在 Windows 9x 系統下 VMWare 虛擬機里運行出錯的缺陷
- 修復反調試器保護可能導致錯誤的缺陷
- 修復附加檔案被壓縮時可能導致錯誤的缺陷
- 修復處理不支持 SEH 的檔案時可能導致錯誤的缺陷
- 修復 Windows Vista 系統下以最小許可權讀取 API 函式時失敗的缺陷
- 修復 Decrypt_On_Execute 標識的缺陷(保護後的檔案有時會崩潰)
- 修復處理帶有附加數據的檔案熵可能出現錯誤的缺陷
- 修複試用運行時間選項的缺陷(註冊後仍有可能過期)
- 修復動態調用 Enigma API 可能出現錯誤的缺陷
- 修復 keygen.dll VerifyRegistrationInfo 函式的缺陷(重新構建 TVerifyKey 類型)
Enigma Protector v1.40 Build 2008.01.22
- 新增 Enigma Protector 註冊管理器 - 獨立的許可管理系統,簡單高效管理您的註冊用戶
- 新增 Enigma Protector 郵件伺服器 - 獨立的 Email 管理系統,自動創建郵件並傳送
- 新增 Czech 界面翻譯
- 新增註冊碼黑名單功能
- 修復虛擬機處理 mov [reg32 + imm8], imm32 指令時的缺陷
- 修復幫助檔案有時無法調用的缺陷
Enigma Protector v1.37 Build 2007.12.26
- 添加多種註冊密匙類型 (10, 16, 32, 64 digs)
- 添加短註冊密匙(註冊密匙達到 41 個符號)
- 修復虛擬機處理 cmp [reg32], imm32 指令時的缺陷
- 修復在 Windows Vista 下運行時的兼容性缺陷
Enigma Protector v1.35 Build 2007.10.12
- 改進虛擬機保護,支持 Borland Delphi, Borland C++ Builder, Microsoft Visual C++...
- 解決 DEP 異常的兼容性問題,保護後的程式不再因此而無法運行
- 添加 C# 程式實例
- 添加對 .NET 程式支持的 Enigma API 函式
- 修復 Visual Basic 的 Enigma API 函式 EP_RegKeyExpirationDate
Enigma Protector v1.33 Build 2007.08.10
- 新增訊息變數,現在可以使用特殊字元串顯示數值
- 新增運行時間限制註冊密匙
- 新增硬體鎖定註冊密匙
- 新增 Enigma API 函式 EP_RegKeyExpirationDate - 返回密匙過期日期
- 新增進程實例數量檢測功能
- 主要功能設定選單新增狀態顯示圖示
- 新增多語言支持
- 新增對 .NET 執行檔的支持
- 修復 Enigma API 部分可能引起錯誤的缺陷
- 修復 Enigma API 對 Visual Basic 編譯的執行檔可能引起錯誤的缺陷
Enigma Protector 2.70.20110629
- 新增硬體 ID 檢查器,用於檢查硬體 ID 的內容。
- 新增許可管理器替代原來的註冊管理器。
- 許可管理器新增資料庫導入。
- 新增指定項目導出密鑰生成器的功能。
- 新增多種類型的註冊密鑰,強度相當於RSA 512/768/1024/2048/3072/4096 bits。
- 新增模擬器檢測外掛程式。
- 註冊算法由RSA更換為ECC。
- 更新keygen.dll及其函式功能。
- 改進項目代碼。
- 改進加密算法的執行緒安全。
- 改進虛擬機載入函式的方式。
- 改進註冊密鑰驗證機制,更快速。
- 改進註冊算法強度,密鑰最大強度相當於RSA 4096。
- 改進項目檔案,不向前兼容。
- 改進註冊算法,不向前兼容。
- 改進項目檔案載入機制。
- 改進界面和許可管理器邏輯。
- 修復加密Visual Studio 8.0 ActiveX dll檔案產生錯誤的缺陷。
- 修復加密某些。NET執行檔時產生錯誤的缺陷。