1

CD で配布されるデスクトップ アプリを保護したい。アイデアを実装するために、cd_key (16 文字の長さ) と MotherBoard_number (14 文字の長さだと思います) の 2 つのパラメーターを持ち、16 文字の長さの文字列を返す関数 (アルゴリズム) を理解する必要があります。 (リバース エンジニアリングによる) cd_key と MotherBoard_number の両方。誰にもアイデアはありますか?両方の文字列をバイナリに変換してから何らかの操作を行うという考えがありましたが、常に16より長い文字列を取得します.

編集: ユーザーが登録を実行しているときに、cd_key を入力すると、バックグラウンドでマザーボードのシリアル番号が取得され、これらの 2 つの文字列が Web サービスに送信され、そこで文字列を生成してアプリに送り返す必要があります。次に、その生成された値をレジストリに書き込みます。問題は、オフライン登録をサポートする必要があることです。アイデアは、彼がメールまたは SMS でこれら 2 つの値を私に送信することです。再度、彼は私に cd_key と MotherBoard_number を送る必要があります。不正行為を防ぐために、ユーザーがメールで送信する値を生成するアルゴリズムが必要であり、その値に基づいて cd_key と MotherBoard_number を取得します。その文字列が 16 文字を超えないようにしてください。

4

3 に答える 3

3

通常、ライセンス コードの正確性を確認するには、ライセンス コードを「リバース エンジニアリング」するのではなく、アプリケーションが実行されている PC の情報に基づいて新しいライセンス コードを生成します。

生成されたコードがユーザーが入力したコードと一致する場合、アプリケーションのライセンスは有効です。


次のスキームは、コメントで概説したアルゴリズムを示すためのものです。ご覧のとおり、ライセンス コードのエンコードを逆にする必要はありません。

ここに画像の説明を入力

于 2013-06-06T09:03:35.647 に答える
0

インターネット経由のJava WebStart配布チャネルは、強固な保護を可能にします。

個別に生成されたプロダクション キー (ライセンス番号) を印刷することも解決策になります。更新機能を提供するため、インターネット接続で確認できます。ライセンス キーは、アプリケーションでユーザーの名前を表示できます。最初の更新により、ブロックされていた追加機能が解放される可能性があります。

于 2013-06-06T09:06:43.817 に答える