Androidアプリの逆コンパイル [日記]
製作中のAndroidアプリのソースファイルが全部消されたので、Androidエミュレータにインストールされていた apk ファイルを逆コンパイルしてソースファイルを復旧できないものか試みました。
調べてみたところ、android-apktool と言うものが見つかりました。
本体(apktool*.*.*.tar.bz2
)と、各動作環境用の補助ツール(apktool-install-***.tar.bz2
)を入手/展開して、コマンドプロンプトから次のコマンドを入力します。
apktool d xxx.apk
これでOK。
が、これで手に入るソースコードは、smali形式という Java のアセンブリ言語の様なものでした。
読もうと思えば読めないことも無いのですが、ソースコードを復元しようと思うと非常に大変です。
そこで、更に調べました。
dex2jar なるものが見つかりました。
apk ファイルは実質 zip ファイルなので、展開して dex ファイルを取り出します。
そして dex2jar を使うと、jar ファイルが出来るので、後は普通に Java の逆コンパイラを使ったらソースファイルが手に入りました。
タグ:Android
2011-09-18 10:00
nice!(0)
コメント(0)
トラックバック(0)
コメント 0