Edited at

[Android][Java] apk解析

More than 1 year has passed since last update.

ちょっと寄り道。

とりあえず覚書な感じで。


.apk


APKDownloader

http://apps.evozi.com/apk-downloader/


  • Google Playから直接ダウンロード。

  • ダウンロード出来ないアプリもあるみたい?


保存系サイト

いくらでもあるので適当なサイトで。


Backup and Restore


  • 元から入っていたアプリ。

  • インストール済アプリをSDカードに保存出来る。

  • リストに表示されないアプリがある。


apk抽出 (App Extraction)

https://play.google.com/store/apps/details?id=com.pandaz.apkextraction


  • インストール済アプリをSDカードに保存出来る。

  • Backup and Restoreよりも保存できるアプリが多い。


.dex to .class

.apkから.dexを取り出しておく。


dex2jar

http://sourceforge.net/projects/dex2jar/


  • dex2jar以外にも色々と変換出来る。


使用例

C:\>d2j-dex2jar.bat classes.dex

dex2jar classes.dex -> .\classes-dex2jar.jar


.class to .java


Java Decompiler

http://jd.benow.ca/


  • GUIなのでお手軽。

  • .classや.jarを放り込んで保存するだけ。

  • 一括保存も出来る。

  • 保存せずにビュワーとしても使える。


Jad

http://varaneckas.com/jad/ (mirror)


  • CUI


  • Couldn't fully decompile method ~が大量発生。


CFR

http://www.benf.org/other/cfr/


Fernflower

https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine

https://github.com/fesh0r/fernflower (mirror?)


Procyon

https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler


あとがき

ここまでで出来た.javaの質については不明。