激活A(yù)PI
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)。
加密解密技術(shù)交流群(766135708)
激活A(yù)PI
激活A(yù)PI只包含4個(gè)功能。兩個(gè)用于在線(xiàn)激活,另外兩個(gè)用于計(jì)算機(jī)無(wú)法訪(fǎng)問(wèn)互聯(lián)網(wǎng)時(shí)的離線(xiàn)激活。激活 API 旨在與 Web License Manager 合作,因此開(kāi)發(fā)人員仍應(yīng)調(diào)用許可系統(tǒng) API 來(lái)使用從 WebLM 獲得的序列號(hào)。
VMProtectActivateLicense
該函數(shù)將激活代碼傳遞給服務(wù)器,并返回該特定計(jì)算機(jī)的序列號(hào)。否則,會(huì)表現(xiàn)為一個(gè)錯(cuò)誤代碼
int VMProtectActivateLicense(const char *code, char *serial, int size);
代碼參數(shù)保存在購(gòu)買(mǎi)許可證過(guò)程中從Web License Manager獲得的激活代碼。序列參數(shù)指定了一個(gè)給定大小的內(nèi)存塊,WebLM生成的序列號(hào)被放置在其中。
VMProtectDeactivateLicense
該函數(shù)將一個(gè)序列號(hào)傳遞給服務(wù)器進(jìn)行停用??赡艿姆祷卮a列在下面。
int VMProtectDeactivateLicense(const char *serial);
序列參數(shù)包含先前在激活期間從WebLM獲得的序列號(hào)(而不是激活碼)。
VMProtectGetOfflineActivationString
VMProtectGetOfflineDeactivationString
這兩個(gè)函數(shù)的工作原理與前兩個(gè)類(lèi)似,只是它們不嘗試連接到WebLM服務(wù)器。相反,當(dāng)它們返回一個(gè)文本塊,用戶(hù)應(yīng)將其復(fù)制到連接到互聯(lián)網(wǎng)的計(jì)算機(jī)上,打開(kāi)WebLM離線(xiàn)激活表格并將文本粘貼到那里。
int VMProtectGetOfflineActivationString(const char *code, char *buf, int size); int VMProtectGetOfflineDeactivationString(const char *serial, char *buf, int size);
代碼和序列參數(shù)與這些函數(shù)的在線(xiàn)版本類(lèi)似。buf參數(shù)應(yīng)指向一個(gè)1000字節(jié)以上的緩沖區(qū),離線(xiàn)激活表的文本塊將被復(fù)制到那里??赡艿腻e(cuò)誤代碼列舉如下。
Code | Value | Description |
---|---|---|
ACTIVATION_OK | 0 | 激活是成功的。序列號(hào)被放到序列變量中。 |
ACTIVATION_SMALL_BUFFER | 1 | 緩沖區(qū)太小,無(wú)法容納序列號(hào)。最小的緩沖區(qū)大小計(jì)算為:比特/8*3/2+N,其中比特是RSA密鑰的長(zhǎng)度,單位為比特,N是一個(gè) "security constant"--用于可能的換行和其他特殊符號(hào)的額外字節(jié)。我們建議至少使用10。 |
ACTIVATION_NO_CONNECTION | 2 | 激活模塊無(wú)法連接到網(wǎng)絡(luò)許可證管理器。 |
ACTIVATION_BAD_REPLY | 3 | 激活服務(wù)器返回了錯(cuò)誤結(jié)果。表明服務(wù)器上的一些配置問(wèn)題,錯(cuò)誤的服務(wù)器URL或黑客企圖。 |
ACTIVATION_BANNED | 4 | 該激活碼由軟件供應(yīng)商通過(guò)WebLM界面在服務(wù)器上禁止使用(例如,如果密鑰泄露或盜版)。不能與ACTIVATION_ALREADY_USED混淆。 |
ACTIVATION_CORRUPTED | 5 | 有些東西已經(jīng)完全出錯(cuò)了。這個(gè)錯(cuò)誤是由激活模塊自檢系統(tǒng)產(chǎn)生的,表明有黑客試圖入侵。如果你出現(xiàn)了錯(cuò)誤,所有進(jìn)一步的序列號(hào)和激活的操作都不安全。 |
ACTIVATION_BAD_CODE | 6 | 在激活服務(wù)器的數(shù)據(jù)庫(kù)中沒(méi)有找到指定的代碼或者用戶(hù)在輸入代碼時(shí)犯了一個(gè)錯(cuò)誤,需要對(duì)代碼進(jìn)行檢查 |
ACTIVATION_ALREADY_USED | 7 | 當(dāng)出現(xiàn)這個(gè)錯(cuò)誤代碼時(shí),表明激活次數(shù)已經(jīng)耗盡,但這并不表明該代碼是不完整的或被禁止的。該代碼是完整的,它只是不能再被激活了。用戶(hù)應(yīng)該聯(lián)系軟件供應(yīng)商,購(gòu)買(mǎi)額外的許可證或在其他電腦上卸載軟件,以增加服務(wù)器上的激活計(jì)數(shù)器的值。 |
ACTIVATION_SERIAL_UNKNOWN | 8 | 激活錯(cuò)誤。在服務(wù)器的數(shù)據(jù)庫(kù)中找不到給定的序列號(hào)。因此,停用是不可以的。 |
ACTIVATION_EXPIRED | 9 | 激活錯(cuò)誤。意味著該代碼的激活期已過(guò)。 |
ACTIVATION_NOT_AVAILABLE | 10 | 這個(gè)錯(cuò)誤意味著激活/停用無(wú)法使用。 |
技巧和竅門(mén)
激活A(yù)PI操作較為容易,不要忘記為那些在互聯(lián)網(wǎng)上有問(wèn)題的用戶(hù)提供一種離線(xiàn)激活程序的方法。
激活A(yù)PI不保存它收到的序列號(hào),也不把它傳給許可模塊--這應(yīng)該由開(kāi)發(fā)者來(lái)做。你不需要在每次啟動(dòng)應(yīng)用程序時(shí)都調(diào)用激活A(yù)PI。你只需要調(diào)用一次,從WebLM獲得一個(gè)序列號(hào),在適當(dāng)?shù)牡胤奖4嫠?,然后使用這個(gè)保存的副本。