加密保護軟件 WinLicense 註冊常見問題解答(三)

WinLicense具有和Themida同級別的保護功能以及授權管理功能。軟件功能強大,使用靈活,開發者可以安全地發佈軟件的試用版和完全版。

下載WinLicense最新試用版>>>

Q1:“Keep Trial Running”選項(在Advanced Option面板中)的用途是什麼?

A:默認情況下,WinLicense控制所有試用/許可事件(到期,許可證無效等)。你可以轉到Customized Dialog面板,對於特定消息,你可以選中“Display by SDK or not displayed”選項。 當你檢查該選項時,如果發生特定事件,WinLicense將不會顯示任何消息並繼續執行你的應用程序。因此,你必須通過調用WinLicense SDK函數(WLRegGetStatus,WLTrialGetStatus)確保從應用程序處理該消息。

如果你不想控制每個特定的許可證事件(許可證已損壞,鎖定到其他計算機,許可證已過期等),你只需在Customized Dialog面板中保留“Display By WinLicense”選項以獲取這些特定的許可證消息。因此,WinLicense將顯示許可證消息錯誤並退出執行。 選項“Keep Trial Running”僅用作hack,讓WinLicense顯示錯誤消息並繼續執行你的應用程序(之後運行試用模式)。

如果你正在選中“Keep Trial Running”選項,則應檢查應用程序的狀態(調用WLRegGetStatus)來控制應用程序何時使用無效許可證運行。如果你不檢查應用程序的狀態,即使使用錯誤的許可證,你的應用程序也將繼續運行。

請注意,我們不建議使用“Keep Trial Running”選項。如果你計劃完全控制應用程序中的試用/註冊狀態,你應該在自定義對話框面板中控制大多數試用/註冊消息(選擇 “Display by SDK or not displayed”這些消息)並使用WinLicense SDK功能(WLRegGetStatus / WLTrialGetStatus)來了解應用程序的當前狀態。

Q2:當應用程序在非保護狀態下運行時,如何模擬CustomData值? 我想使用WinlicenseSDK.ini來指定屬性。

A:請使用Notepad.exe(或任何文本編輯器)打開“WinlicenseSDK.ini”文件,你可以找到以下行:

WLRegGetLicenseInfo = Peter Brian/Company Name/[email protected]

WLRegGetLicenseInfo中的“/”分隔符對應於Name / Company / CustomData。

在上面的示例中,自定義數據爲“[email protected]”。請注意,你可以通過在WinLicenseSDK.ini文件中更改“Separator”char。只需打開WinlicenseSDK.ini並編輯“Separator”即可。例:

[WinLicenseSDK]
; Separator for fields in "WLRegGetLicenseInfo"
Separator = /
...

Q3:宏 REGISTERED_START 和 REGISTEREDVM_START有什麼區別?

A:宏 REGISTERED_START 將使用從當前許可證獲得的解密密鑰解密START-END標記內的代碼。如果你的應用程序未註冊,宏將從Start跳到End,並且宏內的代碼將不會被執行。

宏 REGISTEREDVM_START 允許你標記在註冊應用程序時將執行的代碼區域。如果你的應用程序未註冊,則執行宏時應用程序將掛起或崩潰。在執行此宏中的代碼之前,你應確保已註冊應用程序(使用WLRegGetStatus)。此宏是針對註冊狀態的隱藏攻擊的雙重檢查。

宏內部的代碼在虛擬機內部執行,因此你應該避免宏內部的緊密循環或關鍵代碼(每秒執行多次)。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章