步驟 1.1:創(chuàng)建受保護(hù)的應(yīng)用程序
VMProtect 是保護(hù)應(yīng)用程序代碼免遭分析和破解的可靠工具,但只有在正確構(gòu)建應(yīng)用程序內(nèi)保護(hù)機(jī)制并且沒有可能破壞整個(gè)保護(hù)的典型錯(cuò)誤的情況下才能最有效地使用。
VMProtect 是保護(hù)應(yīng)用程序代碼免遭分析和破解的可靠工具,但只有在正確構(gòu)建應(yīng)用程序內(nèi)保護(hù)機(jī)制并且沒有可能破壞整個(gè)保護(hù)的典型錯(cuò)誤的情況下才能最有效地使用。
第一步是創(chuàng)建一個(gè)應(yīng)用程序。這將是一個(gè)簡單的應(yīng)用程序,沒有任何用戶界面,也沒有重要的功能。我們的目標(biāo)是將序列號(hào)傳遞給許可系統(tǒng)并接收其答案。
#include <windows.h> #include <stdio.h> bool is_registered(const char *serial) { return serial && serial[0] == 'X'; } int main(int argc, char **argv) { char *serial = "Xserialnumber"; // we set the serial number directly in the code, for simplicity if (!is_registered(serial)) { printf("please register!\n"); return 0; } printf("We are registered.\n"); return 0; }
該程序使用一種非常簡單的方法來檢查序列號(hào)。is_registered ()函數(shù)將序列號(hào)的第一個(gè)符號(hào)與“X”進(jìn)行比較,如果它們匹配則認(rèn)為該數(shù)字是正確的。對(duì)于錯(cuò)誤的序列號(hào),會(huì)顯示一條注冊(cè)消息,而如果用戶輸入正確的密鑰,則會(huì)顯示“我們已注冊(cè)”。改為顯示
下一步是添加代碼以使用 VMProtect 的許可系統(tǒng)檢查序列號(hào)。