ExcelベースのPOSシステムを作成しました。海賊版から保護するために、マザーボードのシリアル番号を取得してワークシートのセルに保存するマクロを実行する [Activate] ボタンを配置しました。これは、クライアントのコンピューター (ライセンスを取得したマシン) にソフトウェアをインストールするときに 1 回実行します。
次に、コンピューターのマザーボードのシリアル番号を取得し、ライセンス取得済みのマシン用に以前に保存されたものと比較するイベント プロシージャを ThisWorkbook に記述しました。ソフトウェアがコピーされて別のマシンで使用された場合、もちろん一致するものはありません。ユーザーは、「プログラムを別のコンピューターにインストールしました。ライセンス版については、何とか連絡してください...」というメッセージで通知されます。ユーザーが [OK] ボタンをクリックすると、ワークブックが閉じます。プロジェクトは表示のためにロックされています。
したがって、ワークブックがライセンスを取得したコンピューターにロックされ、別のコンピューターでコピーされて使用されると、ユーザーはワークブックを開くことができなくなります。
ハッカーがセキュリティ手順をすり抜ける方法はありますか? もしそうなら、どうすればそれらを止めることができますか? 他の人が私のソフトウェアを海賊版にするのを防ぐために、他にどのような方法がありますか? ありがとう。
コードは次のとおりです。
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 rjhouse@hotmail.com for licensed copy.", _
Buttons:=vbExclamation
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
End Sub