Androidのアプリを解析する

既存のAndroidアプリを解析することで、自分で作成するアプリの参考にできます。

apk ファイルの取得

androidアプリを解析するためには、そのアプリのapkファイルなるものを
得る必要があります。

apkファイルの抽出は “App Extraction”というandroidアプリが使えます。

まず、解析したいアプリをandroid上にインストールします。
その後、この”App Extraction”を開いて、対象のアプリを選択し、”apk Extraction”
ボタンを押すと、上部に記載されたディレクトリに保存されます。

デフォルトだと “/mnt/sdcard”になっていると思いますが、設定ボタンから変更できます。

apkファイルの展開

apkファイルは、中身はzipファイルなので、拡張子の.apkを.zipに変えれば展開できますので、
展開してください。

classes.dex を classes.jarに変換

zipを展開すると、classes.dex というファイルがあります。
これを jarファイルに変換すると内容が見えるようになります。

https://code.google.com/p/dex2jar/

変換ツールはここからダウンロードできます。

自分の場合はこれをLinux上において以下を実行しました。

$ ./d2j-dex2jar.sh classes.dex

これにより「classes-dex2jar.jar」が作成されました。

自分の場合は、Windowsで解析するために、このコマンドの実行によって作成された classes-dex2jar.jar ファイルをWindowsにダウンロードします。

jarファイルの解析

以下のサイトからプログラムをダウンロードします。
自分はWindowsで解析するので「jd-gui-0.3.6.windows.zip」を
ダウンロードしました。

http://jd.benow.ca/

ダウンロードしたファイルを展開すると、フォルダの中に「jd-gui.exe」というファイルがありますので、これを実行します。

jd-gui.exeの実行により表示されたウィンドウに、先ほど作成した classes.jar ファイルをドラッグアンドドロップすると、jarファイルの中のファイルがツリー上に表示されます。

これで、apkの中身が見れるようになったので、それぞれのファイルなどを見て解析します。

このままだと扱いにくい場合は、「File」->「Save All Sources」で保存すれば、すべてのファイルをテキストファイルとして保存できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>