5

現在、私はAndroid開発の初心者です..安全なAndroidアプリケーションを開発して、海賊版から保存できるようにする必要があります。

アプリケーションのセキュリティのために、J2ME で RMS を使用しました。J2ME では、次の手順を実行します。

  1. シリアル番号(乱数)を生成する
  2. その番号を rms に保存し、アプリケーションの次回の起動時に同じシリアル番号を画面に表示し、ユーザーに有効なアクティベーション コードを入力するように求めます。次に、ユーザーが正しいアクティベーション コードを入力すると、アプリケーションがアクティベートされ、フラグが true に設定され、このフラグの値が他の変数に保存されます。実効値
  3. フラグ値が true の場合、アプリの再起動時にホーム画面がユーザーに表示されます。それ以外の場合は、アクティベーション ページが表示されます。

私はアンドロイドでこの概念を実装したい..それを行う方法を教えてください.または、アンドロイドでこれを行うためのより良い方法を誰かが知っているかどうか教えてください.

次に、アプリケーションをリリースする前にapkファイルを難読化したい..2日間ゴーグルした後、proguardを使用して実行できることがわかりました.しかし、コードを難読化する方法がわかりません.両方の問題をソートするためにガイドして助けてください.

ありがとう

4

3 に答える 3

4

Android の *.apk、Java の *.jar ファイル、またはユーザーのブラウザーで実行される JavaScript コードのいずれであっても、クライアント側のコードを保護する方法は実際にはありません。著作権侵害から身を守る最善の方法は、提供するサーバー側の計算にアプリケーションを依存させることです。

RMS を使用しているため、既にサーバー側の計算が必要なようです。ユーザーがアクティベーション コードを入力するのを煩わすのではなく、ユーザーがアプリケーションを購入するときに、このアクティベーション コードをユーザーのメール アドレスに関連付けてから、Google アカウントで OAuth を使用して、ユーザーがアプリケーションを購入したことが知られている電子メールアドレス?

于 2011-09-05T07:43:08.510 に答える
3
  • RMSについて

マイケル・アーロン・サフィアンはすべてを語ったが、付け加えることは何もない。

  • プロガードについて

ProGuard は Android フレームワークに統合されるようになり、基本的に設定する必要はありません。この記事で説明されているように有効にし、必要に応じて構成をカスタマイズするだけです。デフォルトの構成はほとんどのプロジェクトに適しているため、「必要な場合」。ほとんどのパッケージ、クラス、およびメソッドのリフレクションが難読化プロセスによって名前が変更される場合は、使用に注意する必要があります。

于 2011-09-05T08:04:17.610 に答える
0

AndroidのRMSに対応するのは、SharedPreferencesです。ただし、sharedPreferences xmlファイルは、J2MEのRMSファイルほど保護されていません(少なくとも一部のデバイスでは)。ルート権限を取得されたデバイスを持っている人なら誰でも、このファイルを簡単に読み書きできます...

したがって、Androidのアプリケーションライセンスについて読むことをお勧めします。完璧にはほど遠いですが、簡単に統合できる組み込み機能です。 http://developer.android.com/guide/publishing/licensing.html

編集: 難読化:プロジェクトを難読化するには、ファイルに追加proguard.config=proguard.cfgするだけです。default.properties

難読化は、defultproguard.cfgファイルに記載されている構成に従って行われます。コードは、最終的なAPKをビルドするときにのみ難読化されることに注意してください(Androidツール->エクスポート...)。特にサードパーティのライブラリがビルドプロセスの一部である場合は、難読化後に最終的なAPKをテストすることをお勧めします。

于 2011-09-05T07:47:08.220 に答える