アンドロイドの自己暗号化を使用してアプリケーションを開発しようとしています。根本でないアンドロイドデバイスでの逆アセンブルを回避する自己暗号化アプリケーション
考え方は以下の通りです:(「!世界のHello」表示例用)アプリのコードは、(部分的に)完全に格納されている暗号化
- アプリは、それが機能し実行する必要がありますが...、すなわち「すべての何が暗号化できるかは暗号化されているべきなので、正しい方法で簡単に逆アセンブルすることで(例えば、AESなどで文字通り暗号化されて)読み込むことができないので、システムにはランダムなコマンド/間違っている)。
- アプリの「部分」は実行前に復号化する必要があります。
- アプリの未使用の「パーツ」は、使用後に復号化する必要があります。
- 上記のすべての操作は、アプリ自体で行う必要があります。
したがって、コアアイデアは自己暗号化です。
難読化が何であるか分かりますので、言及しないでください。サイドアプリと同じこと。私はリバースエンジニアリングですべての人生を過ごすつもりはない)))。だから...
- Android(JAVA)コードを自己暗号化する正しい方法は何ですか?
- どのように上記のアルゴリズムを実装することができますか? をuは、このようなことを行うことが可能であれば任意のコードスニペットを提供してください、または任意のリンク/情報/記事/擬似コード/アイデア
私の事アイデアは素晴らしいと本当に面白いです、プラス多くの人々はに喜んでいるでしょう自分のアプリを保護する方法を知っている。
[編集] カスタムClassLoaderのアイデアについては、@Paceと@JimmyBありがとうございます。私はそれを実装しようとします。また、変成エンジンのコンセプトを提案した@xaloにも感謝します。私は、それが私の目標をより大きく満たすと思うので、このテーマを掘り下げます。
に見ることができます。おそらくカスタムクラスローダーを作成したいと思うでしょう。 – Pace
クラスがロードされるときにそれらのクラスを復号化するカスタム['ClassLoader'](https://developer.android.com/reference/java/lang/ClassLoader.html)を使用して実装することができます。ただし、*あなたのアプリがコードを「解読」することができれば、どんな攻撃者もハッカーかもしれません。 – JimmyB
カスタムClassLoaderのアイデアをありがとうございました。そして、今私は私の質問が本当に広すぎることを理解しています。(( –