SSブログ

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

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。