我創建了一個基於Excel的POS系統。爲了防止它被盜版,我放置了一個Activate按鈕,該按鈕運行一個獲取主板序列號的宏,並將其存儲在工作表中的某個單元中。當您將軟件安裝到客戶端計算機(許可的計算機)中時,您可以一次性執行此操作。Excel工作簿的反盜版程序
然後我在ThisWorkbook中編寫了一個事件程序,它可以獲得計算機主板的序列號,並將它與先前存儲在許可機器上的序列號進行比較。如果軟件被複制並在另一臺機器上使用,當然不會有匹配。用戶將會收到一條消息:「您已經在另一臺計算機上安裝了該程序。對於許可版本,請聯繫blah blah ...」當用戶單擊確定按鈕時,工作簿將關閉。該項目被鎖定以供查看。
因此,一旦工作簿被鎖定到許可的機器中並且被複制並用於另一臺計算機,用戶將無法打開該工作簿。
有沒有辦法讓黑客通過我的安全程序?如果是的話,我如何以及如何阻止他們?我還有什麼其他方式可以防止他人盜版我的軟件?謝謝。
下面是代碼:
Private Sub Workbook_Open()
Dim LicensedMachine As String
LicensedMachine = Sheet1.Range("Z102") ''This is where you have already stored licensed machine's motherboard s.n.
If MBSerialNumber <> LicensedMachine Then ''Call function and check if current machine's motherboard s.n. matches the licensed machine's.
MsgBox Title:="EXCEL POS", Prompt:="You have installed program in another computer." & vbCrLf & _
"Contact R House at 0917-555-1234 or [email protected] for licensed copy.", _
Buttons:=vbExclamation
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
End Sub
如果代碼由於某種原因在某個地方引發錯誤,它看起來不像是在錯誤時關閉。所以如果他們選擇調試,他們將能夠看到你的代碼。再加上excel並不是真正安全的開始。 – Grant
我忽略了錯誤時關閉它。感謝您的支持:-) – Kazuo
我在鎖定的項目上生成了一個錯誤,並且調試按鈕變灰。所以基於這個實驗,我認爲即使上面的代碼生成了一個錯誤,他們也不能調試,因爲調試按鈕是灰色的。或者有另一種方法可以繞過這個? – Kazuo