So-net無料ブログ作成

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
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0