VMProtect如何限制客户的试用时间?

你可以限制程序从启动的那一刻开始运行。这对演示来说很有用:你向用户提供一个真实的序列号,但程序的工作时间不超过5分钟。许可系统并不强迫这样的程序关闭,而只是设置状态标志。因此,让我们设定最大工作时间为一分钟,在ini-file中添加以下一行。

VMProtect如何限制客户的试用时间?

VMProtect脚本模式试过吗篇你将用上!

你可以限制程序从启动的那一刻开始运行。这对演示来说很有用:你向用户提供一个真实的序列号,但程序的工作时间不超过5分钟。许可系统并不强迫这样的程序关闭,而只是设置状态标志。因此,让我们设定最大工作时间为一分钟TimeLimit=1 ,在ini-file中添加以下一行。

int main(int argc, char **argv){        char *serial = "Xserialnumber"; // we set the serial number directly in the code, for simplicity        int res = VMProtectSetSerialNumber(serial);        print_state(res);        if (res) return 0;        VMProtectSerialNumberData sd = {0};        VMProtectGetSerialNumberData(&sd, sizeof(sd));        printf("I will run for %d minute(s)n", sd.bRunningTime);        print_state(VMProtectGetSerialNumberState());        Sleep(60 * 1000 * sd.bRunningTime);        printf("After %d minute(s):n", sd.bRunningTime);        print_state(VMProtectGetSerialNumberState());        return 0;}

程序在启动时打印出序列号的状态,然后计算出最大的操作时间,并等待它过期。然后再次打印序列号的状态。在最大操作时间设定为一分钟的情况下,我们应该收到以下结果。

state = 0I will run for 1 minute(s)state = 0After 1 minute(s):state = SERIAL_STATE_FLAG_RUNNING_TIME_OVER

被保护的程序应该定期分析一个序列号的状态,如果标志被设置,就关闭。许可系统不会自动这样做,因为程序可能需要释放内存,将数据保存到文件中等等。另外,你可能希望程序在运行时间过后不停止,而是切换到一个更受限制的模式。许可系统将这一点留给开发者。
标签:

来源:慧都网

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论