カスタムアンドロイドにてよくわからないAPIを調べるとき用。
要するに以下に無い場合は端末内にあるはず。という前提で
https://cs.android.com/
あらかじめstringsとgrepで当たりをつけておくと楽
流れ
vdex -> cdex -> dex -> jar(classファイル) -> jar(javaファイル) -> jar解凍
vdex -> cdex
vdexExtractorを使う。
https://github.com/anestisb/vdexExtractor
READMEにはdependencyとかdisassembleとか書いてあるけど
とりあえずiとoを指定してやればcdexファイルが出来る
ヘルプに出てくる=(イコール)は不要
cdex -> dex
cdexはcompact dexとか言うらしい。
https://github.com/anestisb/vdexExtractor/issues/23
の compact_dex_converter_linux.zip を落として解凍すればそのまま使える。
windowsからだとそれっぽいのが添付されているので
それで行けるんじゃないかな?(未確認)
なんとか.cdex.new というファイルが作成されるので
.dexにリネームする。
dex -> jar
ここからは誰か書いてると思うけどdex2jarで
注意点としてはすでにあるもの叩いてもうまく動かず、
usageにある通りに自分でビルドしたものでないとダメっぽい。
jar(.class) -> jar(.java)
ようやくjavaファイルが出てくる
fernflowerを使う
https://github.com/JetBrains/intellij-community
の
plugins/java-decompiler/engine/
が対象
以下に細かい手順書いてくれてる人がいます。m(__)m
https://troushoo.blog.fc2.com/blog-entry-372.html
jarが巨大ファイルだと重くて進まない可能性があるので
先に解凍してからclassファイルを個別にやった方が良い場合もある。
解凍
unzip なり jarなりで普通に解凍するだけ