4

アプリケーションで使用するパスワードを保存する方法について疑問があります。その場でデータを暗号化/復号化する必要があるため、パスワードはどこかにある必要があります。オプションは、アプリにハードコーディングするか、ファイルからロードすることです。

アプリケーションのライセンス ファイルを暗号化したいのですが、セキュリティ手順の 1 つに、アプリがライセンスを復号化できることが含まれます (他の手順はその後に続きます)。パスワードはユーザーに知られることはなく、私だけが知る必要はありません。

私が懸念しているのは、ハッカーが私のコードを調べて、そこに保存したパスワードを取得し、それを使用して最初のセキュリティ バリアを破ってライセンスをハッキングすることです。

現時点では、コードの難読化を検討していない (最終的に検討する) ため、これは問題です。

パスワードを保存するソリューションはセキュリティ上の危険があることは知っていますが、それを回避する方法はありません!

実際に必要になる前に、複数の部分からパスワードを組み立てることを検討しましたが、ある時点でパスワードが完成するので、必要なのはデバッガーと適切な場所のブレークポイントだけです。

アプリにハードコードされたパスワードを保存する必要がある場合、皆さん (とガレ) はどのようなアプローチを使用しますか?

乾杯

4

5 に答える 5

7

私の個人的な意見は上記のGregSと同じです:それは時間の無駄です。どれだけ防ごうとしても、アプリケーションは海賊版になります。でも...

あなたの最善の策は、カジュアルな海賊行為を減らすことです。

2つのクラスのユーザーがいると考えてください。通常のユーザーと海賊。海賊はあなたのアプリケーションをクラックするために非常に長い時間を費やします。通常のユーザーは、アプリケーションを使用して何かを実行したいだけです。海賊については何もできません。

通常のユーザーは、コードのクラッキングについて何も知りません(「ええと... 16進エディターとは何ですか?」)。このタイプの人が海賊版よりもアプリケーションを購入する方が簡単な場合、彼らはそれを購入する可能性が高くなります。

すでに検討したソリューションは、通常のユーザーに対して効果的であるように見えます。そして、それはあなたができることのすべてについてです。

于 2009-12-30T18:32:48.653 に答える
4

ここで、著作権侵害の防止に費やす時間/労力を決定します。誰かが決心した場合、彼らはおそらくあなたのアプリケーションをとにかく動作させるでしょう。

于 2009-12-30T18:15:26.750 に答える
4

I know you don't want to hear it, but it's a waste of time, and if your app needs a hardcoded password then that is a flaw.

于 2009-12-30T18:17:40.387 に答える
4

I don't know that there is any approach to solving this problem that would deter a hacker in any meaningful way. Keeping the secret a secret is one of cryptography's great problems.

于 2009-12-30T18:17:50.697 に答える
0

私が過去に行ったアプローチは、インストール中に一意の ID を生成することでした。これにより、HDD と MCU の SN が取得され、複雑な構造で使用されます。その後、ユーザーはこの番号を自動システムに送信し、返信します。その別のブロックでは、アプリは使用中にその場でこのデータを復号化して比較します。

はい、機能しますが、まだハード化されたパスワードが残っています。保護のためのレイヤーがいくつかあります (つまり、中レベルのハッカーがセキュリティ システムを理解するのを防ぐためのテクニックがいくつかあります)。

非常に複雑なシステムを自分でハックして、分解が簡単な方法につながるかどうかを確認することをお勧めします。ランダムなサブルーチンにいくつかのランダムな呼び出しを追加し、非常に寓意的なものにし、レジ​​ストリ キーとグローバル変数の使用を偽装し、ハッカーの生活を地獄に変えて、最終的にあきらめるようにします。

于 2010-01-01T17:53:22.777 に答える