• <menu id="w2i4a"></menu>
  • logo VMPsoft中文文檔

    文檔首頁(yè)>>VMPsoft中文文檔>>步驟 1.3:檢索序列號(hào)狀態(tài)標(biāo)志

    步驟 1.3:檢索序列號(hào)狀態(tài)標(biāo)志


    VMProtect 是保護(hù)應(yīng)用程序代碼免遭分析和破解的可靠工具,但只有在正確構(gòu)建應(yīng)用程序內(nèi)保護(hù)機(jī)制并且沒(méi)有可能破壞整個(gè)保護(hù)的典型錯(cuò)誤的情況下才能最有效地使用。

    VMProtect最新版下載

    VMProtect 是保護(hù)應(yīng)用程序代碼免遭分析和破解的可靠工具,但只有在正確構(gòu)建應(yīng)用程序內(nèi)保護(hù)機(jī)制并且沒(méi)有可能破壞整個(gè)保護(hù)的典型錯(cuò)誤的情況下才能最有效地使用。

    打印標(biāo)志的便捷功能

    首先,我們需要一個(gè)方便的函數(shù)來(lái)將標(biāo)志的數(shù)值轉(zhuǎn)換為序列號(hào)的可理解狀態(tài)。下面是這個(gè)函數(shù)的代碼:

    #define PRINT_HELPER(state, flag) if (state & flag) printf("%s ", #flag)
    void print_state(INT state)
    {
    if (state == 0)
    {
    printf("state = 0\n");
    return;
    }
    printf("state = ");
    PRINT_HELPER(state, SERIAL_STATE_FLAG_CORRUPTED);
    PRINT_HELPER(state, SERIAL_STATE_FLAG_INVALID);
    PRINT_HELPER(state, SERIAL_STATE_FLAG_BLACKLISTED);
    PRINT_HELPER(state, SERIAL_STATE_FLAG_DATE_EXPIRED);
    PRINT_HELPER(state, SERIAL_STATE_FLAG_RUNNING_TIME_OVER);
    PRINT_HELPER(state, SERIAL_STATE_FLAG_BAD_HWID);
    PRINT_HELPER(state, SERIAL_STATE_FLAG_MAX_BUILD_EXPIRED);
    printf("\n");
    }

    盡管大小不一,但功能非常簡(jiǎn)單——一一檢查所有位標(biāo)志并打印狀態(tài)變量中存在的所有內(nèi)容。在檢查調(diào)用print_state的序列號(hào)后替換代碼中的printf,并更改我們傳遞給許可系統(tǒng)的序列號(hào):

    char *serial = "Xserialnumber1"; // we set the serial number directly in the code, for simplicity
    int res = VMProtectSetSerialNumber(serial);
    print_state(res);

    現(xiàn)在,如果我們運(yùn)行這個(gè)程序,下面的消息將被打印到控制臺(tái):

    state = SERIAL_STATE_FLAG_INVALID
    please register!

    現(xiàn)在,我們通過(guò)刪除“1”放回舊密鑰并再次運(yùn)行程序:

    state = 0 We are registered.

    現(xiàn)在,我們可以看到序列號(hào)的狀態(tài)標(biāo)志,讓我們開(kāi)始從序列號(hào)中檢索標(biāo)志和數(shù)據(jù)。

    檢索序列號(hào)狀態(tài)

    您可以通過(guò)三種方式獲取序列號(hào)的狀態(tài):通過(guò)調(diào)用VMProtectSetSerialNumber()、通過(guò)調(diào)用VMProtectGetSerialNumberState()或通過(guò)調(diào)用VMProtectGetSerialNumberData() – 狀態(tài)標(biāo)志被放入結(jié)構(gòu)的字段之一。每種方法都旨在在特定時(shí)間使用。第一次檢查序列號(hào)是在安裝期間執(zhí)行的。此時(shí)應(yīng)拒絕錯(cuò)誤號(hào)碼、過(guò)期號(hào)碼、黑名單號(hào)碼等。一些限制,例如,程序的最長(zhǎng)運(yùn)行時(shí)間或序列號(hào)到期日期也應(yīng)在運(yùn)行時(shí)檢查。和VMProtectGetSerialNumberState()方法是這里最快和最方便的方法。如果您需要接收有關(guān)序列號(hào)的完整信息,您可以使用更強(qiáng)大的VMProtectGetSerialNumberData()函數(shù)。

    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話(huà)咨詢(xún)

    客服熱線(xiàn)
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();