2016-04-23 9 views
2

私はネイティブコードを含むAndroidアプリケーションを開発しています。 ネイティブコードは、内部で重要なアルゴリズムを持つ.soファイルでコンパイルされます。.soファイルを編集/変更することはできますか?

私の.soファイルを編集または変更してから再ビルド(再パック)する可能性について心配しています。 APKと同じように彼らは、修正され、私はここにいくつかの質問を持って新しいもの

を作成するために再包装することができます。

1)編集/ファイルを.soを変更し、再構築するためにどのような方法がありますか? 2)ある場合、どのように人々がそれを行うのですか? 3).soファイルが編集されてから再構築されないようにするには?

答えて

2

短い答えは、コンピュータが読んで理解できるものであれば、変更することもできます。 Java for Androidやネイティブコードには、耐弾性のシグネチャメカニズムはありません。それでも、そのようなファイルは、難読化機能が有効になっていても、一般にJavaコードよりも脆弱であると考えられています。

共有ライブラリをリバースエンジニアリングするのは困難ですが、可能です。変更するものが分かっていれば、逆アセンブリ、変更、およびアセンブリバックは難しくありません。

リバースエンジニアリングに対するC++コードの保護を強化する方法はたくさんありますが、決まった資金を使って攻撃することはありません。ステークスが非常に高い場合は、サーバー上でアルゴリズムの重要な部分を実行し、そのセキュリティを犠牲にすることを検討してください。

+0

あなたの答えはアレックスありがとうございます。ちょっとうかがってもいいですか? C/C++コードの保護を強化する最良の方法は何ですか? ハッカーが.soファイルを変更できる一般的な方法は何ですか? –

+0

を参照してください。 http://stackoverflow.com/questions/6481668/protecting-executable-from-reverse-engineering –

関連する問題