許可系統API是VMProtect API及其SDK的組成部分。使用API可以指定序列號并檢索有關它的所有信息,包括是否適合該程序、序列號是否已過期、該產品注冊到的名稱等等。
破解程序最常見的方法之一是找到要檢查序列號的位置,以及其后的附近條件跳轉。本文,我們將使用這種方法直接在源代碼中“破解”測試程序,并通過將代碼鎖定到序列號上來實現文件保護。
VMProtect通過在具有非標準架構的虛擬機上執行代碼來保護代碼,這讓分析和破解軟件極為困難。除此之外,VMProtect還會生成并驗證序列號、設置過期時間、限制免費升級等。
在使用虛擬機保護軟件VMProtect將許可系統集成到應用程序過程中,首先要接收硬件標識符,并將其傳遞給許可系統。當許可系統檢測到標識符與序列號中的標識符一致后,才能進行后續步驟。
許可系統不應接受VMProtect中標記為“已阻止”的序列號。下次重新構建應用程序時,VMProtect會將列入黑名單的序列號的哈希添加到受保護的應用程序。結果,該應用程序的許可系統將來會拒絕這些序列號。
在測試模式中,許可系統(它返回的狀態和數據)對提供的序列號的所有反應都在配置文件中描述。該文件名為VMPLicense.ini,應位于應用程序的工作文件夾中。本文將介紹第五步——限制免費升級期限。
在測試模式中,許可系統(它返回的狀態和數據)對提供的序列號的所有反應都在配置文件中描述。該文件名為VMPLicense.ini,應位于應用程序的工作文件夾中。本文將介紹第五步——限制程序的運行時間。