最終的に販売する予定のソフトウェアを開発しています。カスタムとサードパーティの両方で、さまざまなコピー防止メカニズムについて考えてきました。100% 完全なコピー防止機能がないことはわかっていますが、少なくとも試してみる必要があります。だから私は考えている私のアプローチに対するいくつかの意見を探しています:
私が考えている 1 つの方法は、イーサネット ポートの MAC アドレスに基づいてライセンスを確認するために、起動時にソフトウェアをリモート サーバーに接続することです。
- サーバーがライセンス情報を取得する MySQL データベースを実行しているかどうかはわかりませんが、もっと簡単な方法はありますか? おそらく、読み取られる暗号化されたファイルのいくつかのタイプですか?
- サーバーに接続できない場合でも、ソフトウェアを動作させることができます。その時点でインターネットにアクセスできないという理由だけで、誰かをロックアウトしたくありません。ご参考までに、私が開発しているソフトウェアはインターネット/ネットワークに大きく依存しています。そのため、ユーザーが使用中にインターネットにアクセスできない可能性は実際にはほとんどありません。実際、インターネット/ネットワークアクセスがなければ、かなり役に立ちません。
- 複数の MAC アドレスを持つコンピューターに対して私が何をするか知っている人はいますか? 最近の多くのマザーボードには 2 つのイーサネット ポートがあります。また、ほとんどのラップトップには、1 つのイーサネット、1 つの Wi-Fi、および Bluetooth の MAC アドレスがあります。MACポートを選択して実行できると思います。それが本当に重要かどうかわからない
- 賢くて巧妙なユーザーは、ソフトウェアが接続しているサーバーを特定し、それをホスト ファイルに追加して、常に localhost に接続しようとする可能性があります。これはどのくらいの確率だと思いますか?そして、ソフトウェアがこれが行われているかどうかをチェックすることは可能だと思いますか? ホストファイルの解析は常に機能すると思います。そこにあるサーバーアドレスを探して、localhost などに接続しているかどうかを確認します。
- ドングルを検討しましたが、使用するのが面倒だとわかっているという理由だけで、ドングルを避けようとしています。それらを最新の状態に保ち、場合によっては顧客に独自のライセンス サーバーを実行するように要求することは、私には少し多すぎます。私はそれを経験しましたが、顧客に経験させたくないというのは少し苦痛です。また、サードパーティのドングルを使用することによる余分なオーバーヘッド コストを回避しようとしています。
- また、ユーザーが新しいコンピューターを購入すると何が起こるので、ユーザーにある種のライセンス ファイルを送信するのではなく、認証を確認するためにリモート サーバーに接続することに傾いています。新しいコンピューターで動作する代替ライセンス ファイルを送信する必要がありますが、古いコンピューターでも引き続き使用できます。プログラムなどを実行するように依頼せずに、古いコンピューターを「認証解除」する方法はありません。
- また、1 つの重要な注意事項として、ソフトウェアに関して、ライセンスを確認するためにソフトウェアがリモート サーバーに接続し、個人情報が送信されないことを EULA でユーザーに明確に伝えます。私は、知らないうちにそのようなことをするソフトウェアをあまり気にしないことを知っています。
とにかく、このような道を進んでいるかもしれない人々のために、いくつかの意見を探しています.
remote-server-dependent-software は、回避が困難なだけでなく、開発者側でライセンスを管理するのが非常に簡単なため、最も効果的なコピー防止メカニズムの 1 つになるようです。