步驟 1.8:黑名單中的序列號(hào)
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ò)誤的情況下才能最有效地使用。
許可系統(tǒng)不應(yīng)接受在 VMProtect 中標(biāo)記為“已阻止”的序列號(hào)。當(dāng)您下次重建您的應(yīng)用程序時(shí),VMProtect 會(huì)將黑名單序列號(hào)的哈希值添加到受保護(hù)的應(yīng)用程序中。因此,應(yīng)用程序的許可系統(tǒng)將來會(huì)拒絕這些序列號(hào)。
首先,讓我們最小化main()函數(shù)的內(nèi)容:
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); return 0; }
現(xiàn)在,運(yùn)行程序并確保許可系統(tǒng)接受我們的序列號(hào):
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); return 0; }
現(xiàn)在,將這個(gè)序列號(hào)添加到許可系統(tǒng)的黑名單中。將以下行添加到 ini 文件中:
BlackListedSerialNumber=Xserialnumber
并再次運(yùn)行程序:
state = SERIAL_STATE_FLAG_BLACKLISTE
我們是否應(yīng)該通知用戶他或她輸入的序列號(hào)被列入黑名單?它是由你決定。您可以簡(jiǎn)單地告訴序列號(hào)不正確或通知用戶密鑰已泄露。許可系統(tǒng)只是通知程序有關(guān)使用黑名單序列號(hào)的事實(shí)。