• <menu id="w2i4a"></menu>
  • logo VMProtect用戶手冊

    文檔首頁>>VMProtect用戶手冊>>軟件保護(hù)工具VMProtect將許可系統(tǒng)集成到應(yīng)用程序(5)——限制程序的運行時間

    軟件保護(hù)工具VMProtect將許可系統(tǒng)集成到應(yīng)用程序(5)——限制程序的運行時間


    VMProtect是一種很可靠的工具,可以保護(hù)應(yīng)用程序代碼免受分析和破解,但只有在應(yīng)用程序內(nèi)保護(hù)機制正確構(gòu)建且沒有可能破壞整個保護(hù)的嚴(yán)重錯誤的情況下,才能實現(xiàn)最好的效果。

    【下載VMProtect最新試用版】

    建筑保護(hù)總是經(jīng)歷兩個主要步驟:開發(fā)和發(fā)布。至于許可,首先創(chuàng)建一個應(yīng)用程序,將保護(hù)集成到其中,然后添加檢查和功能限制。只有經(jīng)過全面測試,才能將產(chǎn)品提供給用戶并開始第二階段。測試受保護(hù)的應(yīng)用程序是一個復(fù)雜的過程,因為需要確保所有檢查和條件跳轉(zhuǎn)都能正常運行。

    許可系統(tǒng)提供“開發(fā)者模式”(AKA“測試模式”),在此工作模式下,不對應(yīng)用程序應(yīng)用任何保護(hù),并且在配置文件中調(diào)整系統(tǒng)對提供的序列號的反應(yīng)。當(dāng)應(yīng)用程序沒有錯誤并且它正確地與許可系統(tǒng)一起使用時,VMProtect將“測試”許可模塊替換為執(zhí)行實際序列號檢查的真實模塊。

    致改變世界的程序員——10月在線購買VMProtect低至801元起,更有現(xiàn)金抵扣紅包邀您來領(lǐng)!更多活動詳情可咨詢在線客服哦~


    測試模式

    在測試模式中,許可系統(tǒng)(它返回的狀態(tài)和數(shù)據(jù))對提供的序列號的所有反應(yīng)都在配置文件中描述。該文件名為VMPLicense.ini,應(yīng)位于應(yīng)用程序的工作文件夾中。在下面提供的10個步驟中,將從創(chuàng)建最簡單的應(yīng)用程序到在測試模式下全面使用許可系統(tǒng),具有硬件鎖定和限制免費升級的時間。

    ▲步驟六:限制程序的運行時間

    VMProtect可以限制程序自啟動以來的運行時間。這對演示很有用:您可以向用戶提供真實的序列號,但是該程序的運行時間不得超過5分鐘。許可系統(tǒng)不會強制此類程序關(guān)閉,而只是設(shè)置狀態(tài)標(biāo)志。因此,通過將以下行添加到ini文件中,讓我們將最長工作時間設(shè)置為一分鐘:

    TimeLimit = 1

    并修改程序如下:

    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;
    }

    程序在啟動時會打印序列號的狀態(tài),然后計算最大運行時間并等待其到期。然后再次打印序列號狀態(tài)。將最大操作時間設(shè)置為一分鐘,我們應(yīng)該收到以下結(jié)果:

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

    受保護(hù)的程序應(yīng)定期分析序列號的狀態(tài),如果設(shè)置了該標(biāo)志,則將其關(guān)閉。許可系統(tǒng)不會自動執(zhí)行此操作,因為該程序可能需要釋放內(nèi)存,將數(shù)據(jù)保存到文件等。

    -- 未完待續(xù) --


    掃描關(guān)注“慧聚IT”微信公眾號,及時獲取最新動態(tài)及最新資訊

    1562572142.jpg


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();