步驟 2.4:測(cè)試結(jié)果
VMProtect 是新一代軟件盜版保護(hù)解決方案。VMProtect 是目前強(qiáng)大的反盜版解決方案之一,許多領(lǐng)先的軟件發(fā)行商都在使用它。VMProtect允許保護(hù)可執(zhí)行文件(EXE,SCR),動(dòng)態(tài)鏈接庫(DLL,OCX,BPL)和驅(qū)動(dòng)程序(SYS)。
加密解密技術(shù)交流群(766135708)
序列號(hào)有效期
讓我們?cè)賱?chuàng)建一個(gè)有一定到期日的序列號(hào)。例如,2005年。這個(gè)日期已經(jīng)過去了,因此我們的序列號(hào)一定是不正確的。切換到 "Licenses"部分,點(diǎn)擊工具欄上的 "“Add license "按鈕。在 "Expiration date "對(duì)話窗口中,啟用 "Expiration date "選項(xiàng),并指定2005年9月30日。創(chuàng)建序列號(hào),將其復(fù)制并粘貼到serial.txt,然后運(yùn)行程序:
C:\test>dummy_app.vmp.exe serial number is bad state = SERIAL_STATE_FLAG_DATE_EXPIRED許可模塊返回 “serial number is expired” 標(biāo)志?,F(xiàn)在,把工作序列號(hào)放回serial.txt文件,并確保許可模塊完全適配它。
C:\test>dummy_app.vmp.exe serial number is correct, calling foo() I'm foo done將序列號(hào)添加到黑名單中
假如,我們的序列號(hào)已經(jīng)泄露到互聯(lián)網(wǎng)上,現(xiàn)在已經(jīng)被破壞了。我們需要阻止它,這樣就能很好的保證它不會(huì)影響到新版本。要做到這一點(diǎn),選擇列表中的序列號(hào),并將主面板中的 "Blocked "屬性設(shè)置為 "Yes"?,F(xiàn)在,這個(gè)序列號(hào)還沒有加密,但當(dāng)你再次保護(hù)該文件時(shí),應(yīng)用程序?qū)⒉辉俳邮苓@個(gè)序列號(hào)。我們來確認(rèn)一下情況是否真的如此。如果我們現(xiàn)在運(yùn)行我們的程序,它應(yīng)該毫無問題地接受被封鎖的序列號(hào)。
C:\test>dummy_app.vmp.exe serial number is correct, calling foo() I'm foo done現(xiàn)在我們復(fù)制一個(gè)程序,命名為 "dummy_app1.vmp.exe",然后打開VMProtect,再次保護(hù)該程序。然后運(yùn)行這個(gè)新版本:
C:\test>dummy_app.vmp.exe serial number is bad state = SERIAL_STATE_FLAG_BLACKLISTED再來看看舊版本,以作比較:
C:\test>dummy_app.vmp.exe serial number is bad state = SERIAL_STATE_FLAG_BLACKLISTED老版本不知道被屏蔽的序列號(hào),和以前一樣工作。
在下一步,我們將嘗試把代碼鎖定在一個(gè)序列號(hào)上。但在我們繼續(xù)之前,請(qǐng)解除對(duì)序列號(hào)的封鎖,并在VMProtect中對(duì)應(yīng)用程序重新應(yīng)用保護(hù),使其再次接受這個(gè)序列號(hào)?;蛘吒纱鄤?chuàng)建一個(gè)新的許可證。