3

重複の可能性:
.NETコードをリバースエンジニアリングから保護しますか?

C#WinFormsを使用してアプリケーションを開発するだけですが、著作権侵害を防ぐのに役立つ優れた暗号化方法はありますか?一部のソフトウェアは、ソフトウェアを保護するためにハードウェアサポートが必要な場合がありますが、それを実装するにはどうすればよいですか?前もって感謝します !

4

4 に答える 4

17

さて、あなたはここでいくつかの異なる概念を混ぜ合わせています。

暗号化は、人々をあなたのデータから遠ざけることを目的としています。

難読化は、コードのリバースエンジニアリングを防止するために使用されます。

ライセンスは、使用中のコピーの数が購入した数を超えないようにするために使用されます。


難読化とソフトウェアライセンスの両方を調査する必要があります。ライセンススキームをリバースエンジニアリングして複製したり、単にバイパスしたりすることを防止したいため、難読化。

ライセンスの観点からは、さまざまな方法があります。ハードウェア保護とは、アプリが有効なキーを取得するために何らかのタイプのドングルを照会することを意味します。ドングルが存在し、キーが適切である場合、アプリは実行されます。

ソフトウェアライセンスはもう少し複雑になる可能性があります。通常、電話のホームコードの種類があり、暗号化されたバージョンの人間が読み取れる/入力可能なキーをライセンスサーバーに送信して確認する必要があります。キーが異なるボックスに対して複数回アクティブ化されていないことを確認するために、ある種の追加のマシン情報(ハードドライブのシリアル番号など)を含める必要があります。

アクティベーションプロセスでは、アプリを実行するために追加のファイルをダウンロードする場合があります。それがあなたのスタートになることを願っています。

于 2010-03-02T15:18:25.023 に答える
10

違法コピーを阻止するために多くの時間とエネルギーを費やす前に、リソースを費やすことを正当化する仕事の利益のための明確な目標のセットがあることを確認してください。

見た目は単純ではありません。セキュリティがどれほど優れていても、ほとんどの海賊があなたの製品を購入しないことを示す証拠はたくさんあります。彼らがそれをクラックすることができないならば、彼らはただどこかに行くか、またはなしでやります。つまり、著作権侵害を停止しても、追加の売上はほとんど発生しません。それ以上に、海賊はあなたのソフトウェアを広めるのを助けるかもしれません、それで彼らを締め出すことはあなたの総売上高を実際に下げるかもしれません。

したがって、海賊が利益を得るのを単に止めるのではなく、それがあなたやあなたの会社に純利益を与える方法の観点から、なぜ海賊を止めているのかを考える必要があります。これはゼロサムの状況ではないため、自分の利益を最大化する方法には、多くの場合、海賊にもその瞬間を与えることが含まれます。基本的な難読化ツールまたはナイーブなプロダクトキー(壊れないものである必要はありません)は、ぶら下がっている果物の一部を捕まえるのに問題ないかもしれませんが、それをはるかに超えることはおそらくあなたにとって有益ではありません。

これらも読むことをお勧めします:
コードが盗まれるのを防ぐにはどうすればよいですか?
.NETアプリケーションの保護

于 2010-03-02T15:26:26.107 に答える
1

難読化をお探しですか?

于 2010-03-02T15:18:04.517 に答える
1

コードの保護は通常、難読化によって行われます(Dotfuscatorを検索してください)。ほとんどの場合、ライセンス保護は、FlexLmやXheoなどのサードパーティツールによってより適切に提供されます。

于 2010-03-02T15:18:11.153 に答える