私は私がRES /値/のstrings.xmlに文字列を保存することができます知っている誰かがDEXファイルまたはAPKファイルを逆アセンブルした場合、彼はハードコーディングされた文字列や解像度/値/のstrings.xml文字列を表示することができます。android apkにプライベート文字列の値を保存する方法は?
分解した場合に文句を読み取ること文字列を格納する方法はありますか?簡単に言えば
私は私がRES /値/のstrings.xmlに文字列を保存することができます知っている誰かがDEXファイルまたはAPKファイルを逆アセンブルした場合、彼はハードコーディングされた文字列や解像度/値/のstrings.xml文字列を表示することができます。android apkにプライベート文字列の値を保存する方法は?
分解した場合に文句を読み取ること文字列を格納する方法はありますか?簡単に言えば
- なし。
あなたが解読できる場合は/あなたのapkから任意の文字列を抽出し、十分な知識を持つ潜在的に誰もがあなたのコードを見て、あなたがそれらの文字列を抽出するために使用するアルゴリズムを-cosntructし直すことがあります。そして、自分でそれを抽出する。
はもちろんあなたはそれが困難にするためにいくつかのトリックを使用することができます。どんなトリックを使うことができるかはあなた次第です.Androidはデフォルトで何も提供しません(AFAIK)。
ええ、私はあなたが正しいと思うが、私は存在しない素晴らしい奇跡を望んでいた。多分私はトリックを全く使わないだろう。 – gerfmarquez
@inazaruk ProGuardを使用してアプリ/ .apkヘルプの難読化/縮小を行いますか?私はそれがstrings.xmlのハードコードされた文字列に影響を与えないだろうと推測していますが、コード内でStringオブジェクト(それらが静的であるか最終的であるかどうか)を保護するのに役立ちますか? –
Proguardは文字列名を難読化しますが、文字列の内容は変更しないため、抽出するのは簡単です。 Dexguardは文字列の難読化機能を提供しますが、無料ではありません。 – stealthcopter
あなたは、データがアプリケーションセッション上で存続したくない場合は、たぶん、あなたが何らかの形でこれらの文字列を暗号化SharedPreferences
SharedPreferencesはまったく暗号化されておらず、単純なxmlファイルです –
を使用することができますか? –
ええ、問題は、もし私がそれらを暗号化すれば、私はハードコーディングされた鍵を必要とするので、誰もこの第2鍵を解読し、最初の鍵を得ることです。 – gerfmarquez