2016-11-22 31 views

答えて

0

あなたのアプリだけではこれを行うことはできないと確信しています。あなたは必ずアクティベーションコードを生成し、ログインしたユーザーと一致させるサーバーの助けが必要です。生成されたアクティベーションコードが電子メールまたはその他の手段を介してユーザーに渡されると、ユーザーが指定したアクティベーションコードと一致させてサーバー内のアクティベーションコードと一致させることができます。

私はこれが欲しいと思っています。しかし、私はあなたを誤解するほどの愚かさでさえあるかもしれません。これがあなたが望むものなら私に教えてください。

0

私が問題を正しく理解していれば、達成したいことは技術的に不可能です。

あなたのアプリが持っている機能は、アプリに既にあり、クライアントにダウンロードされています。ユーザーはデバッガを使用してアプリケーションファイルを逆アセンブルし、アクティベーションコードを必要としないか、任意のコードを受け入れるようにソースコードを変更することができます(より簡単ですが、どちらも可能です)。あなたがクライアントに与えたものは、クライアントによって完全に制御されているものとみなされなければなりません。その中のロジックは変更することができ、秘密を見ることができます。

これは簡単ではありません。難読化が可能ですが、いつでも可能です。問題は必要な努力だけです。

そしてここでの努力が重要です。低価値のリソースを保護するいくつかのシナリオでは、プロファイルの低い攻撃者を抑止するのに十分な場合があります。それは常にリスクと保護コストです。しかし、あなたは上記のことを知る必要があります、アプリケーションのロジックを保護することはできません。

あなたは自分のものを保護したいのであれば、あなたは異なるシナリオのためのいくつかのオプションがあります。

  • は、2つの独立したアプリ、有料の機能に含まれ、支払われた1なし無料1を持っています。ユーザーは無料のものを使用し、必要に応じて他のものを購入することができます。

  • サーバーによってサービスされる有料の機能があります。重要なビジネスロジックがサーバー側にある場合は、実際にアクセス制御ルールを適用し、アクセス権を持つユーザーを制御できます。これはあなたのアプリのアーキテクチャと機能に深刻な影響を与えるかもしれません。

  • あなたが保護しようとしている価値が低い場合は、上記のように難読化とアクセス制御ロジックをアプリで実行できますが、これは比較的簡単にクラッキングする可能性があります。 APKを変更する。

関連する問題