安全がゲーム誘発亀裂APPを通じて思考:Androidの裏面に

今日、モバイルインターネットは完全に私たちの生活に統合された、APPのすべての種類は、それゆえ、アンドリュースAPPセキュリティの研究のために特に重要であり、無限大です。Androidアプリの亀裂例を通して、APPは、安全のために探検誘発します。(ここではI純白、最初の接触アンドリュース逆週少しの経験を共有するため)

亀裂アンドリュースAPPセクションシューティングゲームです、我々は、我々は自由な購入を達成することを目指し、この機能のために割れ、再充電機能を購入するゲームで見つけます。

まず、ゲーム、その逆コンパイルを復元します。逆コンパイルは、私たちはそれを分析を助けるために、設定ファイル、APPアルゴリズムロジックなどを表示することができます。ここでは、AndroidKillerは逆コンパイルするためのツールを使用します。

写真.PNG

図では、あなたは、APPの一部を見ることができます。私達はちょうど使用されるファイル形式のJava仮想マシン(のDalvik)アセンブラDEX一種のSmaliアンドリュースシステムためsmaliファイルを集中する必要があります。我々は、アルゴリズムのロジックを理解するための擬似コードAPP smaliファイルを通して見ることができます。

次のステップは、あなたが成功、支払い、支払い、その他のキー文字列を検索することで、関連する文書を見つけることができ、入場APPの支払いを見つけることです。

写真.PNG

このファイルを表示するためにクリックスルー、我々はいくつかの文字列関連の給与を見ることができ、ここで推測して終わりではないとして、我々は以下を参照してください、決済機能への入り口です。

不明瞭かもしれ見通しこれらのsmaliは、それは我々はAndroidKillerはおなじみのJavaコードに変換することができ、重要ではありません。

写真.PNG

ここでswitch文で、決済機能は、いくつかの判断を行うことは正しいかもしれません。私たちはここを参照してくださいすることができ、それをやっているエンドでMiguPay機能は、ありますか?MiguSdkクラスをクリックして、あなたはMiguSdkクラスにジャンプすることができます。

写真.PNG

私たちは、この方法がダウンしてジャンプし続けて、次のメソッドが別のクラスのMiguSdk.2を含むrunOnUiThreadメソッドのパラメータと呼ばれていたことがわかります。

写真.PNG

アメージングシーンが登場し、ここでは、ほとんどのここでは、「成功」と他の文字列、「小道具を買うが、」確かに支払いの方法に関連して見ることができます!さて、私たちは、ファンクションスイッチ判断にジャンプする前に。

写真.PNG

あなたはGMessage.success()を呼び出すときに我々は、表示されるまで、それは成功を購入することを説明することです。そして、ここで:GMessage.successのpswitch_0文が送られます()。これは、実行中のすべての文との判断が好きpswitch_0場合、それはすべての条件が成功を購入することができないことを意味しますか?我々は、すべて試してみてください。pswitch_x変更されたすべてのpswitch_0を。

写真.PNG

APP AndroidKiller、インストールとテストの署名をパッケージ化!

インストールに失敗しました!ヒント署名検証に合格しません!いわゆる署名検証が逆コンパイルされた後、そのアプリケーションを再パッケージ化防止にある、APPは、署名検証したことが表示されます。それを回避する方法はありますか?もちろんあります!実際には、署名検証層はそれほど一般的にネイティブファイルまたはJava層で書かれました。SignKey、署名および他のキーの文字列を検索することにより、あなたは一般入場署名の検証を見つけることができます。以下の文書は、IDAツールはC言語の擬似コードを変換使用するので、相関関数内の文書の署名を決定することです。

写真.PNG

写真.PNG

図からわかるように、裁判官は、その後、我々は直接バイナリエディタがtrueを返す代わりに、直接文を返します。使用している場合、最終的に我々は声明を発表しました。最後にコンパイラパッケージAPPもう一度、OK!成功したブレイク!

写真.PNG

思考:APPの商業的価値を開発し、間違いなくAPPが割れやすくすることができれば、多くの労力を必要とし、損失は確かに受け入れられない原因ということです。だから、APPのセキュリティのために不可欠です。セキュリティAPP逆について、一般的に次のを持っています。

1、コードの難読化:プログラムは、後の処理は、同じ機能を完了する前に、コードとコードを作り、再組織とプロセスを宣伝し、プログラムを描画することが困難な場合であってもコードは、コンパイルの成功を逆コンパイルすることが難しく難読化されました本当の意味論。

2、署名検証は:署名証明書アプリのハッシュを比較して、我々はそれらを書くかどうか、同じハッシュで死亡しました。

3、砲撃:いくつかの余分な作業を行う、実行時の優先アクセス制御プログラムでバイナリプログラムのコードの一部を移植しました。

おすすめ

転載: www.cnblogs.com/Alex80/p/11535881.html