加密保护软件 WinLicense 注册常见问题解答(三)

WinLicense具备和Themida同级别的保护功能以及受权管理功能。软件功能强大,使用灵活,开发者能够安全地发布软件的试用版和彻底版。安全

下载WinLicense最新试用版bash

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)来控制应用程序什么时候使用无效许可证运行。若是你不检查应用程序的状态,即便使用错误的许可证,你的应用程序也将继续运行。spa

请注意,咱们不建议使用“Keep Trial Running”选项。若是你计划彻底控制应用程序中的试用/注册状态,你应该在自定义对话框面板中控制大多数试用/注册消息(选择 “Display by SDK or not displayed”这些消息)并使用WinLicense SDK功能(WLRegGetStatus / WLTrialGetStatus)来了解应用程序的当前状态。code

Q2:当应用程序在非保护状态下运行时,如何模拟CustomData值? 我想使用WinlicenseSDK.ini来指定属性。

A:请使用Notepad.exe(或任何文本编辑器)打开“WinlicenseSDK.ini”文件,你能够找到如下行:事件

WLRegGetLicenseInfo = Peter Brian/Company Name/pbrian@companyname.com
复制代码

WLRegGetLicenseInfo中的“/”分隔符对应于Name / Company / CustomData。开发

在上面的示例中,自定义数据为“pbrian@companyname.com”。请注意,你能够经过在WinLicenseSDK.ini文件中更改“Separator”char。只需打开WinlicenseSDK.ini并编辑“Separator”便可。例:get

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

Q3:宏 REGISTERED_START 和 REGISTEREDVM_START有什么区别?

A:宏 REGISTERED_START 将使用从当前许可证得到的解密密钥解密START-END标记内的代码。若是你的应用程序未注册,宏将从Start跳到End,而且宏内的代码将不会被执行。虚拟机

宏 REGISTEREDVM_START 容许你标记在注册应用程序时将执行的代码区域。若是你的应用程序未注册,则执行宏时应用程序将挂起或崩溃。在执行此宏中的代码以前,你应确保已注册应用程序(使用WLRegGetStatus)。此宏是针对注册状态的隐藏攻击的双重检查。

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

相关文章
相关标签/搜索