2017-06-04 1 views
-4

私はスタックオーバーフローで、この質問に出くわした: How to avoid reverse engineering of an APK file?は、アルゴリズムは、AndroidのAPKに隠されている方法

しかし、彼らは真がある言うならば、あなたは完全にコードを保護することはできません、私は、まだ残っています

秘密を保持するアルゴリズムを使用しているときはどうしますか? FacebookやGmailなどの大きなアプリが自分のコードを難読化するだけだとは思えない。彼らは何とかAndroid Javaコードをバックグラウンドのすべてを実行するリモートサーバーに接続していませんか?

たとえば、Android開発のときと同じように、サーバー上でPHPスクリプトを実行するリモートサーバーに接続して、アプリケーションにデータを返すことができますか?それとも別の方法がありますか?

(*現在のところので、多分それは私が見ていますさらにビデオでお答えしており、Androidの開発を学ぶしようとしているが、私は今、本当に好奇心)

答えて

3

あなたはしないでください。あなたが望むなら、あなたはGoogle、Facebook、または他のアプリをリバースエンジニアリングすることができます(ただし、Googleにとって特に興味深いアルゴリズムの多くはクライアントではなくサーバー側にあります)。

これまでに書かれた他のアプリケーションと変わりはありません。私はDOSプログラムを逆アセンブルして、彼らが制御しているハードウェアとどのようにやりとりするのかを理解しました。コードがクライアントに存在する場合は、リバースエンジニアリングすることができます。プロセッサがそれを実行できる必要がある場合、人間はそれを読むことができる。

あなたの最善の策は、それを心配することではありません。あなたのコードはそれほど特別ではありませんし、他のすべてのアプリとは違って保護される必要があります。それについて貴重なのは、それを書いて、それを促進し、周囲にビジネスを構築するのに費やされる時間です。コード自体は、99.999%のケースで死んでいる。あなたが本当に何かユニークなものを持っていれば、特許を考えることができますが、コードの価値は秘密ではなく正しいものにするのにかかる時間です。

+0

これは、私が話していたことです:あなたが言及したように、クライアントから隠されたサーバサイド。では、どうやってこれをやっていくのですか?私はWeb開発のために、ユーザーから隠されたPHPスクリプトなどを書いていることを知っています。しかし、それはあなたの目の前にあるので、同じファイル(PHPとHTML)で混在させることができ、簡単にテストできるようにWebブラウザ経由でlocalhostを使って簡単に表示できます。しかし、これはAndroidで同等ですか? Web開発でPHPなどの隠れたサーバーサイドスクリプトをどこに置くことができますか?チュートリアルは?説明リンク?私は何も見つけることができませんでした。 – Foobarer

+0

これはWebサービスと呼ばれています。 URLを要求し、データを渡します。それは結果で応答します..通常はxmlまたはjsonを使用しますが、必ずしもそうする必要はありません。これは、ベリーの高速応答時間やオフライン機能が必要な場合には機能しません。 –

+0

PHPスクリプトを使用してアプリの「頭脳」を書いてWebサーバーに保存し、Androidアプリでウェブからデータを取得できますサーバーはjson形式でWebサービスを使用しているので、Androidアプリには漏れたくないコードはありません。 – Foobarer

0

サーバー上のトップセクリーアルゴリズムをどこかのサーバーに配置し、ネットワーク経由で呼び出す。 ProGuardはではなく、はリバースエンジニアリングを防止します。調査をRESTとします。

+0

これは私が知りたかったことですが、Androidでどのように行われていますか?私はWebを使って簡単にPHPを使うことができる知識を開発しています。あなたはAndroidで何をしますか? – Foobarer

+0

https://stackoverflow.com/questions/8267928/android-rest-client-sampleをご覧ください。 –

関連する問題