原創|使用教程|編輯:何躍|2021-08-23 15:13:38.930|閱讀 522 次
概述:你可以限制程序從啟動的那一刻開始運行。這對演示來說很有用:你向用戶提供一個真實的序列號,但程序的工作時間不超過5分鐘。許可系統并不強迫這樣的程序關閉,而只是設置狀態標志。因此,讓我們設定最大工作時間為一分鐘,在ini-file中添加以下一行。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
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 = 0 I will run for 1 minute(s) state = 0 After 1 minute(s): state = SERIAL_STATE_FLAG_RUNNING_TIME_OVER被保護的程序應該定期分析一個序列號的狀態,如果標志被設置,就關閉。許可系統不會自動這樣做,因為程序可能需要釋放內存,將數據保存到文件中等等。另外,你可能希望程序在運行時間過后不停止,而是切換到一個更受限制的模式。許可系統將這一點留給開發者。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn