2012/11/05

Android:apkファイルを逆コンパイルする

サンプルはこのコード。
このコードを元にapkファイルを作成して逆コンパイルしてみます。

まずは、apkファイルをzipにリネームして解凍します。
使うのはclasses.dexです。

次にdex→classへ変換します。次のサイトからdex2jalをダウンロードして適当なフォルダに解凍します。

コマンドラインからdex2jar.batを実行します。
c:>(dex2jar.batのパス)\dex2jar.bat (classes.dexのパス)\classes.dex

classes_dex2jar.jarが作成されます。(dex→classの変換が完了)

classes_dex2jar.jarファイルをzipにリネームして解凍します。

次に、class→javaへ変換します。次のサイトからJAD(Java Decompiler)をダウンロードして適当なフォルダに解凍します。


コマンドラインからjad.exeを実行します。
c:>(jad.exeのパス)\jad.exe -8 -d (出力パス) -s .java -r (.classのパス)\*.class

javaファイルができました。

MainActivity.javaの中身はこんな感じです。