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

    文檔首頁>>VMPsoft中文文檔>>許可系統(tǒng) API 功能

    許可系統(tǒng) API 功能


    VMProtect 是新一代軟件盜版保護(hù)解決方案。VMProtect 是目前強(qiáng)大的反盜版解決方案之一,許多領(lǐng)先的軟件發(fā)行商都在使用它。VMProtect允許保護(hù)可執(zhí)行文件(EXE,SCR),動(dòng)態(tài)鏈接庫(kù)(DLL,OCX,BPL)和驅(qū)動(dòng)程序(SYS)。

    VMProtect最新版下載

    加密解密技術(shù)交流群(766135708)

    許可系統(tǒng) API 功能
    許可系統(tǒng) API 是 VMProtect API 及其 SDK 的一個(gè)組成部分。API 允許你指定一個(gè)序列號(hào),并搜索關(guān)于它的所有信息:是否適合該程序,序列號(hào)是否過期,該產(chǎn)品注冊(cè)的名稱等等。此外,該API還提供了程序運(yùn)行的計(jì)算機(jī)的硬件標(biāo)識(shí)符。

    VMProtectSetSerialNumber

    該函數(shù)向許可系統(tǒng)加載一個(gè)序列號(hào)。調(diào)用語法:

    int VMProtectSetSerialNumber(const char *SerialNumber);

    輸入的SerialNumber參數(shù)必須包含一個(gè)指針,指向一個(gè)包含base-64編碼的序列號(hào)的空尾字符串('\0′)。該函數(shù)返回一個(gè)序列號(hào)狀態(tài)標(biāo)志的位掩碼,與VMProtectGetSerialNumberState()返回的相同。你可以在下面閱讀更多關(guān)于標(biāo)志的信息。如果該函數(shù)返回0,則序列號(hào)為 "good"。

    VMProtectGetSerialNumberState

    該函數(shù)為調(diào)用VMProtectSetSerialNumber()指定的序列號(hào)返回狀態(tài)標(biāo)志。

    int VMProtectGetSerialNumberState();

    如果至少有一個(gè)標(biāo)志被設(shè)置,說明序列號(hào)有問題,程序就不應(yīng)該工作。標(biāo)志和它們的值的詳細(xì)描述列在下表中:

    Flag Value Description
    SERIAL_STATE_FLAG_CORRUPTED 0×00000001 許可系統(tǒng)被破壞??赡艿脑蚴牵罕Wo(hù)項(xiàng)目的設(shè)置不正確,試圖破解。
    SERIAL_STATE_FLAG_INVALID 0×00000002 序列號(hào)不正確。如果許可系統(tǒng)不能解密序列號(hào),則設(shè)置該標(biāo)志
    SERIAL_STATE_FLAG_BLACKLISTED 0×00000004 序列號(hào)與產(chǎn)品相符,但在VMProtect中被列為黑名單。
    SERIAL_STATE_FLAG_DATE_EXPIRED 0×00000008 序列號(hào)已經(jīng)過期。你可以通過調(diào)用VMProtectGetSerialNumberData()獲得關(guān)于過期日期的詳細(xì)信息
    SERIAL_STATE_FLAG_RUNNING_TIME_OVER 0×00000010 程序的操作時(shí)間已耗盡。你可以通過調(diào)用VMProtectGetSerialNumberData()獲得有關(guān)程序運(yùn)行時(shí)間的詳細(xì)信息。
    SERIAL_STATE_FLAG_BAD_HWID 0×00000020 硬件標(biāo)識(shí)符與密鑰中規(guī)定的硬件標(biāo)識(shí)符不一致。
    SERIAL_STATE_FLAG_MAX_BUILD_EXPIRED 0×00000040 序列號(hào)與被保護(hù)程序的當(dāng)前版本不匹配。你可以通過調(diào)用 VMProtectGetSerialNumberData()獲得與該序列號(hào)匹配的程序的最大構(gòu)建日期。

    VMProtectGetSerialNumberData

    該函數(shù)獲取調(diào)用VMProtectSetSerialNumber()獲得的序列號(hào)的內(nèi)容信息。調(diào)用語法;

    bool VMProtectGetSerialNumberData(VMProtectSerialNumberData *Data, int Size);

    第一個(gè)參數(shù)是一個(gè)指向VMProtectSerialNumberData結(jié)構(gòu)的指針,所有必要的信息都將被寫入該結(jié)構(gòu)。第二個(gè)參數(shù)是第一個(gè)參數(shù)中傳遞的結(jié)構(gòu)的大小。它被要求用來控制結(jié)構(gòu)的格式。如果許可系統(tǒng)被破壞(見SERIAL_STATE_FLAG_CORRUPTED標(biāo)志),如果提供的結(jié)構(gòu)地址為零,或者傳遞的結(jié)構(gòu)大小不正確,該函數(shù)返回FALSE。在所有其他情況下,該函數(shù)返回TRUE,并將所有關(guān)于序列號(hào)的信息記錄到提供的地址。下面是該結(jié)構(gòu)的成分:

    Element Type Description
    nState int 表示一個(gè)鍵的狀態(tài)的位標(biāo)志掩碼。類似于VMProtectGetSerialNumberState()
    wUserName wchar_t[256] 以UNICODE為單位的客戶名稱,以空結(jié)尾
    wEMail wchar_t[256] 密鑰過期日期。VMProtectDate結(jié)構(gòu)的格式描述如下。
    dtExpire VMProtectDate 密鑰過期日期。VMProtectDate結(jié)構(gòu)的格式描述如下。
    dtMaxBuild VMProtectDate 給定的密鑰可以使用的最大產(chǎn)品構(gòu)建日期。VMProtectDate結(jié)構(gòu)的格式描述如下。
    bRunningTime int 程序?qū)⒐ぷ鞯姆昼姅?shù)(一個(gè)療程的最長(zhǎng)時(shí)間)。以分鐘為單位的數(shù)值從程序開始時(shí)算起。.
    nUserDataLength unsigned char bUserData字段中用戶數(shù)據(jù)的長(zhǎng)度。
    bUserData unsigned char[255] 放入密鑰的用戶數(shù)據(jù)。實(shí)際的字節(jié)數(shù)在nUserDataLength中指定。

    VMProtectDate結(jié)構(gòu)通過一個(gè)緊湊的日期表示。它的字段在下表中列出:

    Element Type Description
    wYear unsigned short
    bMonth unsigned char 月,從一開始
    bDay unsigned char 日,從一開始

    VMProtectGetCurrentHWID

    該函數(shù)獲取程序所工作的PC的硬件標(biāo)識(shí)符。調(diào)用句法:

    int VMProtectGetCurrentHWID(char * HWID, int Size);

    第一個(gè)參數(shù)是一個(gè)指針,指向標(biāo)識(shí)符被寫入的內(nèi)存區(qū)域。第二個(gè)參數(shù)是這個(gè)區(qū)域的大小。該函數(shù)返回寫入的字節(jié)數(shù),包括后面的零字節(jié)('\0′)。如果在第一個(gè)參數(shù)中提供了NULL,該函數(shù)將返回存儲(chǔ)硬件標(biāo)識(shí)符所需的字節(jié)數(shù)。下面是使用該函數(shù)的正確方法:

     
    
    int nSize = VMProtectGetCurrentHWID(NULL, 0); // get the required buffer size
    char *pBuf = new char[nSize]; // allocate memory for the buffer 
    VMProtectGetCurrentHWID(pBuf, nSize); // obtain the identifier
    // use the identifier 
    delete [] pBuf; // release memory
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();