步驟 1.8:黑名單中的序列號
VMProtect 是保護應(yīng)用程序代碼免遭分析和破解的可靠工具,但只有在正確構(gòu)建應(yīng)用程序內(nèi)保護機制并且沒有可能破壞整個保護的典型錯誤的情況下才能最有效地使用。
VMProtect 是保護應(yīng)用程序代碼免遭分析和破解的可靠工具,但只有在正確構(gòu)建應(yīng)用程序內(nèi)保護機制并且沒有可能破壞整個保護的典型錯誤的情況下才能最有效地使用。
許可系統(tǒng)不應(yīng)接受在 VMProtect 中標(biāo)記為“已阻止”的序列號。當(dāng)您下次重建您的應(yīng)用程序時,VMProtect 會將黑名單序列號的哈希值添加到受保護的應(yīng)用程序中。因此,應(yīng)用程序的許可系統(tǒng)將來會拒絕這些序列號。
首先,讓我們最小化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)在,運行程序并確保許可系統(tǒng)接受我們的序列號:
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)在,將這個序列號添加到許可系統(tǒng)的黑名單中。將以下行添加到 ini 文件中:
BlackListedSerialNumber=Xserialnumber
并再次運行程序:
state = SERIAL_STATE_FLAG_BLACKLISTE
我們是否應(yīng)該通知用戶他或她輸入的序列號被列入黑名單?它是由你決定。您可以簡單地告訴序列號不正確或通知用戶密鑰已泄露。許可系統(tǒng)只是通知程序有關(guān)使用黑名單序列號的事實。