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