3

GoogleLVLコードを使用してユーザーを認証する有料のAndroidアプリケーションがあります。

ある会社が私に支払いをして、彼らのアプリケーションに私のアプリケーションの無料バージョンを含めることができるようにしたいと思っています。ただし、アプリの海賊版が簡単に作成されないようにこれを実現する方法がわかりません。以下は私が検討しているいくつかの実装オプションですが、それらのどれも特に良いアイデアのようには見えません。助言がありますか?

  1. LVLコードを使用しないapkをお届けします。次に、私のapkをアプリと一緒にパッケージ化し、ACTION_VIEWインテントを使用してインストールできます。一部のルージュユーザーが私のセキュリティで保護されていないapkを抽出して配布することは特に難しいことではないと思うので、これは悪い考えのようです。

  2. たぶん、アプリがインストールされているかどうかを確認するバージョンを作成し、インストールされている場合は、アプリに何らかのロック解除コードを照会することができます。そして、アプリはこのロック解除コードが成功した場合にのみ実行されます。これに関する私の主な懸念は、ロック解除コードを「別のアプリにクエリする」ことができるかどうかわからないことです。

4

2 に答える 2

0

これは間違いなく達成可能です。すでに述べたように、アプリをクエリする1つの方法は、コンテンツプロバイダーを使用することです。セキュリティが心配な場合は、プロバイダーにアクセスするために両方のアプリが保持する必要のある追加の権限を導入できます。両方のアプリが同じ署名を持っているかどうかは疑わしいので、それほど効果的ではありません。

別の方法は、コードやその他の認証にバインドして要求できるサービスがある場合です。この場合、彼らのサービスは、アプリのuserIdを照会し、PackageManagerを介して署名を確認することで、アプリの有効性を検証することもできます。

悲しいニュースは、とにかくアプリの海賊版を防ぐことはほとんど不可能だということです。LVLでも...これはすべて逆コンパイルされ、最終的には壊れてしまう可能性があるためです。しかし、少なくとも、攻撃者の生活を困難にすることができます。

于 2012-04-26T14:57:40.837 に答える
0

あなたが探していることのために、私はあなたのプロジェクトからjarを作成し、それをライブラリプロジェクトとしてマークします。そうすれば、アプリケーションをクライアントに渡すことができますが、クライアントはあなたが書いた実際のコードを見ることができません。このメソッドを使用すると、apkと対話するよりも簡単な任意のメソッドを直接呼び出すことができます。

于 2012-04-26T14:57:46.920 に答える