步驟 1.10:用戶數據
VMProtect 是新一代軟件保護實用程序。VMProtect支持德爾菲、Borland C Builder、Visual C/C++、Visual Basic(本機)、Virtual Pascal和XCode編譯器。
同時,VMProtect有一個內置的反匯編程序,可以與Windows和Mac OS X可執行文件一起使用,并且還可以鏈接編譯器創建的MAP文件,以快速選擇要保護的代碼片段。 為了輕松實現應用程序保護任務的自動化,VMProtect實現了內置腳本語言。VMProtect完全支持Windows系列的32/64位操作系統(從Windows 2000開始)和Mac OSX(從版本10.6開始)。重要的是,無論目標平臺如何,VMProtect都支持所有范圍的可執行文件,即Windows版本可以處理Mac OS X版本的文件,反之亦然。
VMProtect 是保護應用程序代碼免遭分析和破解的可靠工具,但只有在正確構建應用程序內保護機制并且沒有可能破壞整個保護的典型錯誤的情況下才能最有效地使用。
有其他問題請咨詢加密解密技術QQ群:766135708
序列號最多可容納 255 個字節的任意數據,許可系統按原樣傳遞給程序。數據可以包含有關銷售的任何其他信息、完整版操作所需的數據或其他內容。讓我們修改我們的main()函數,讓它從序列號中讀取數據并將它們顯示在屏幕上:
int main(int argc, char **argv) { char *serial = "Xserialnumber"; int res = VMProtectSetSerialNumber(serial); print_state(res); if (res) return 0; VMProtectSerialNumberData sd = {0}; VMProtectGetSerialNumberData(&sd, sizeof(sd)); printf("Serial number has %d byte(s) of data\n", sd.nUserDataLength); for (int i = 0; i < sd.nUserDataLength; i++) printf("%02X ", sd.bUserData[i]); printf("\n"); return 0; }
我們還將 Ini 文件縮減為:
[TestLicense] AcceptedSerialNumber=Xserialnumber
現在,我們運行程序并確保我們的序列號正常工作,但不包含任何數據:
state = 0 Serial number has 0 byte(s) of data
要將新的用戶數據添加到序列號中,我們需要在 ini 文件中創建 UserData 變量,并以 HEX 格式為其分配數據。符號必須成對出現,即一行的長度必須是 2 的倍數。像這樣:
UserData=010203A0B0C0D0E0
在這種情況下,如果我們運行該程序,我們將收到以下結果:
state = 0 Serial number has 8 byte(s) of data 01 02 03 A0 B0 C0 D0 E0
以上便是本篇文章的分享,如果您有任何疑問或者想獲取更多產品試用/授權/價格信息,可以咨詢我們的了解~