將VMProtect集成到應(yīng)用程序教程之實模式(一):創(chuàng)建新的受保護的應(yīng)用程序
在實模式下,VMProtect許可系統(tǒng)向受保護的應(yīng)用程序放置一個特殊的許可模塊。該模塊執(zhí)行與SDK中的測試功能相同的功能,但是使用序列號的內(nèi)容而不是配置ini文件。本系列教程的五個步驟說明了使用基于VMProtect和許可系統(tǒng)的全功能保護來保護簡單應(yīng)用程序的過程。
免費下載VMProtect 優(yōu)惠購買VMProtect
步驟一 創(chuàng)建控制臺應(yīng)用程序
在第一階段,我們制作了幾個簡單的應(yīng)用程序來測試許可系統(tǒng)的API。現(xiàn)在,在第二階段,創(chuàng)建一個帶有foo()函數(shù)的控制臺應(yīng)用程序,該函數(shù)僅在注冊版本中有效。這是測試應(yīng)用程序的代碼:
#include #include #include“ VMProtectSDK.h” #定義PRINT_HELPER(狀態(tài),標志)如果(狀態(tài)和標志)printf(“%s”,#flag) 無效print_state(INT狀態(tài)) { 如果(狀態(tài)== 0) { printf(“ state = 0 \ n”); 返回; } printf(“ state =”); PRINT_HELPER(狀態(tài),SERIAL_STATE_FLAG_CORRUPTED); PRINT_HELPER(狀態(tài),SERIAL_STATE_FLAG_INVALID); PRINT_HELPER(狀態(tài),SERIAL_STATE_FLAG_BLACKLISTED); PRINT_HELPER(狀態(tài),SERIAL_STATE_FLAG_DATE_EXPIRED); PRINT_HELPER(狀態(tài),SERIAL_STATE_FLAG_RUNNING_TIME_OVER); PRINT_HELPER(狀態(tài),SERIAL_STATE_FLAG_BAD_HWID); PRINT_HELPER(狀態(tài),SERIAL_STATE_FLAG_MAX_BUILD_EXPIRED); printf(“ \ n”); } char * read_serial(const char * fname) { 文件* f; 如果(0!= fopen_s(&f,fname,“ rb”))返回NULL; fseek(f,0,SEEK_END); int s = ftell(f); fseek(f,0,SEEK_SET); char * buf =新的char [s + 1]; fread(buf,s,1,f); buf [s] = 0; fclose(f); 返回buf; } // foo()方法非常簡短,但我們需要將其作為單個函數(shù) //因此,我們要求編譯器不要內(nèi)聯(lián)編譯 __declspec(noinline)void foo() { printf(“我是foo!\ n”); } int main(int argc,char ** argv) { char * serial = read_serial(“ serial.txt”); int res = VMProtectSetSerialNumber(序列); 刪除[]序列號; 如果(res) { printf(“序列號錯誤\ n”); print_state(res); 返回0; } printf(“序列號正確,調(diào)用foo()\ n”); foo(); printf(“ done \ n”); 返回0; }
在沒有調(diào)試信息的情況下編譯程序,但是在鏈接器設(shè)置中,我們創(chuàng)建了MAP文件–需要將它與VMProtect一起使用。運行程序后,應(yīng)該看到以下文本:
序列號為錯誤 狀態(tài)= SERIAL_STATE_FLAG_INVALID
當(dāng)前,許可系統(tǒng)仍在測試模式下工作,因為該文件未由VMProtect處理,并且其中不包含許可模塊。
步驟二 創(chuàng)建VMProtect保護項目
當(dāng)測試應(yīng)用程序準備就緒、已編譯且在同一文件夾中有分配的MAP文件時,就可以運行VMProtect Ultimate并打開可執(zhí)行文件。需要向項目添加兩個函數(shù):_main(這是Visual Studio重命名main())和foo()的方式。可以在VMProtect的“Functions”部分的功能列表中看到這兩個功能。
有關(guān)VMProtect更多資源,請聯(lián)系【慧都客服】了解
12月,慶圣誕,迎元旦,上“慧都網(wǎng)”小程序簽到兌軟件商城無門檻抵價券>>> 領(lǐng)優(yōu)惠券購VMProtect享折上折>>>