2012-01-27 7 views
0

だから、実行中に人がアプリケーションからファイルをコピーしないようにしたい。アプリが実行されているときにAndroidデバイスでのファイルコピーを防止する

1)adbデーモンが実行されているかどうかを確認するよりも、ファイルがデバイスからコピーされているかどうかを簡単に検出できますか?

2)Android OS上で実行されているすべてのプロセスをアプリから簡単に列挙する方法はありますか?

私はAndroidが非常に安全なシステムではないことを知っていますが、少なくとも私のアプリからファイルをコピーするのは難しいです。

EDIT

私の問題を明確にするためには、私はディスク上に保存されたすべてのファイルが暗号化されます。私の懸念は、私はこれらのファイルを私のアプリでアクセスするときに暗号を解除する必要があるということです。私は、誰かがこれらのファイルを盗むのを防ぐために、アプリケーションの実行中にしています。誰かがアプリを終了すると、私は既に暗号化されていないファイルを削除します。

また、usbで接続している場合は、暗号化されていないファイルを削除しようと考えていたので、私はadbに重点を置いていました。しかし、あなたはまだ根っこの携帯電話で無線LAN経由でadbを実行することができます知っている。今、私はそれについて考えて、あなたはおそらくルートの電話でも無線LANでファイルを転送することができます。

また、明らかにデバイスにファイルを持たないことはオプションではありません。

+0

ファイルの暗号化を検討しましたか? –

答えて

4

不明な理由により、adbに注目しているようです。

内部ストレージに関しては、デバイスがルートされていない限り、ユーザはadbを使用してデバイスの内部ストレージからファイルをコピーできません。また、デバイスがルートされている場合、ファイルをコピーするのにadbは必要ありません。

外部ストレージに関しては、これは、すべてのアプリやユーザーがファイルをコピーできるように特別に設計されています(adbはまだありません)。

したがって、adbを検出しようとするのは無意味です。

私はAndroidは非常に安全なシステムではありませんが、少なくとも私のアプリからファイルをコピーするのは難しいと思っています。

最初にデバイスにファイルを配置しないでください。

0

「あなたのアプリはファイルを表示/提供するように設計されているか、リソースとその他のファイルを参照していますか」ということを意味します。をあなたのアプリで使用しました。

いずれにしても、時間を無駄にしています。 Androidは非常にオープンなプラットフォームであり(特にルートデバイスの場合)、人々はいつでもデータをコピーする方法を見つけることができます。

+0

私の懸念は根ざしたデバイスにあります。 – onit

1

ユーザーが自分のアプリケーションを使用し、自分の携帯電話をUSBモードにして、アプリケーションがまだ動作している間にアプリケーションフォルダからファイルを転送することを意味するのであれば分かりません。

アプリケーションが実行時に機能するためにいくつかのファイルが必要な場合は、アプリケーションに対して非公開にすることはできませんか?同様にthis articleに示す。または単にファイルをデバイスに置かないでください:)

+0

これは、ルートされたデバイスでのコピーを防ぐことができる場合にのみ有効です。現在のところ、ファイルの一部がメディアファイルで、VideoViewで読み込む必要があるため、私は自分のアプリケーションに非公開にしません。カスタムのメディアプレイヤーコードを書くこともできますが、これはルートデバイス上のコンテンツを保護できるだけの価値があります。 – onit

+0

悲しいことに、rootアクセス権を持つユーザーは、リソースの暴露に関係なく、いつでも自分が望むことをすることができます。 SharedPreferencesにもrootアクセスでアクセスできます:/ –

+0

これは私が思っていたものですが、方法があると期待していました。 – onit

関連する問題