通常、デバイスにインストールした後でも、Android アプリケーションの .apk ファイルを取得できます。しかし、.apk ファイルを取得できないように保護されているアプリケーションをいくつか見つけることができました。
.apk ファイルからコードを抽出することも可能であるため、開発者のコードは安全ではないと思います。第三者が自分の Android アプリケーションの .apk ファイルを取得するのを防ぐ方法を誰か教えてもらえますか?
前もって感謝します.. :)
通常、デバイスにインストールした後でも、Android アプリケーションの .apk ファイルを取得できます。しかし、.apk ファイルを取得できないように保護されているアプリケーションをいくつか見つけることができました。
.apk ファイルからコードを抽出することも可能であるため、開発者のコードは安全ではないと思います。第三者が自分の Android アプリケーションの .apk ファイルを取得するのを防ぐ方法を誰か教えてもらえますか?
前もって感謝します.. :)
この問題を調査していて、ここで更新すると思いました。セキュリティ上の理由から、これを Android マニフェスト ファイルに設定することをお勧めします。
android:allowBackup="false"
そのため、誰かが完全な adb システム バックアップを実行しようとしたり、特にアプリのバックアップに使用したりした場合、バックアップには含まれないため、そこから apk を抽出できなくなります。これをテストしたところ、動作しました。つまり、adb バックアップではサンプル アプリのバックアップが許可されませんでした。
次に、アプリのバックアップを取るためのアプリ (ES ファイル エクスプローラー) をインストールしました。そして、これはルート化されていないデバイスでした。これは、マニフェストでこのプロパティを設定しても、他のアプリによるバックアップが妨げられないことを示しているようです。
したがって、いくつかのオプションが残っています。
APKを取得する可能性がないことに関しては、最終的には内部ストレージのどこかにあるファイルにすぎないため、実際にそれを防ぐことはできないと思います. ユーザーが十分な権限を持っている限り、それを抽出できます。
コードの保護。保護にはいくつかのレベルがありますが、最終的には防ぐことはできません。何もしなければ、コードのリバース エンジニアリングは非常に単純です。ある程度のセキュリティを確保するためのツールがいくつかあります。たとえば、ProGuardは、ほとんどの Android IDE に既に組み込まれている Google のツールです。
コード保護に関する優れた SO 投稿: APK ファイルのリバース エンジニアリングを回避するには?