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ファイルに変換すると内容が見えるようになります。

GitHub - pxb1988/dex2jar: Tools to work with android .dex and java .class files
Toolstoworkwithandroid.dexandjava.classfiles-GitHub-pxb1988/dex2jar:Toolstoworkwithandroid.dexandjava.classfiles

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

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

$ ./d2j-dex2jar.sh classes.dex

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

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

jarファイルの解析

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

Java Decompiler
JDJavaDecompiler

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

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

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

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

タイトルとURLをコピーしました