Andoroidアプリ(apkファイル)に対して
unzip -> dex2jar -> jar -> jd-gui
の順にツールをかけることにより Javaのソースコードを取得することができる
Androidアプリの脆弱性をテストするために自身で作成したアプリをツールにかけてみる
使うツール
dex2jar : dexファイルをclassファイルに変換する jd-gui : classファイルをJAVAのソースコードに変換する ( jad はクラスファイルバージョン50.0以上に対応していないので使わない )
インストール
dex2jar https://code.google.com/p/dex2jar/ $ wget https://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip $ unzip dex2jar-0.0.9.15.zip jd-gui http://java.decompiler.free.fr/?q=jdgui $ wget http://jd.benow.ca/jd-gui/downloads/jd-gui-0.3.5.linux.i686.tar.gz $ tar xvfz jd-gui-0.3.5.linux.i686.tar.gz
apk の解凍 $ mkdir out/ $ unzip hoge.apk -d out/ $ cd out dex2jar によるjarの抽出 $ dex2jar.sh classes.dex jar の解凍 $ jar xvf classes_dex2jar.jar JAVA ソースコードの表出 $ cd リバースエンジニアリング対象クラスのあるディレクトリ $ jd-gui hoge.class