加密保护软件 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)。此宏是针对注册状态的隐藏攻击的双重检查。

宏内部的代码在虚拟机内部执行,因此你应该避免宏内部的紧密循环或关键代码(每秒执行多次)。

 

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