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