【Android】apkファイルの展開からjarファイルのデコンパイルまで(解析)

2019年5月17日

こんにちは。行未です。

apkファイル⇒jarファイルへの変換・解析まとめです。

流れ

  1. apkファイル⇒zipファイルへ拡張子を変更
  2. zipファイルを展開
  3. 展開したファイル内の「class.dex」ファイルを、dex2jarのバッチファイルを用いて、jarファイルへ変換
  4. jarファイルを「Java Decompiler」を用いて、逆コンパイルを行う。

前準備

各種ファイルのダウンロードを行います。

・「dex2jar」
https://sourceforge.net/projects/dex2jar/files/

目的:「class.dex」ファイルを「dex2jar」のバッチファイルを用いて、jarファイルへ変換する為。

・「Java Decompiler」
http://java-decompiler.github.io/

目的:逆コンパイルを行う。これにより最終的に目視で確認可能になる。

方法

まずは、apkファイル⇒zipファイルへ拡張子を変更します。そして、変更したファイルを解凍します。

今回は、デスクトップに解凍したものと仮定して進めていきます。

3.「class.dex」ファイル⇒jarファイルへの変換

コマンドプロンプトを開いて、以下のように入力します。

"C:\Users\(ユーザー名)\Desktop\dex2jar-2.0\d2j-dex2jar.bat" 
"C:\Users\(ユーザー名)\Desktop\(展開したフォルダ)\classes.dex" 
-o "C:\Users\(ユーザー名)\Desktop\temp.jar"

各行は以下の操作を行っています。

1行目:dex2jarのバッチファイルのパス
2行目:バッチファイルを適用するファイルへのパス
3行目:-oコマンドにより、デスクトップへ「temp.jar」として変換

4.逆コンパイル

「http://java-decompiler.github.io/」でダウンロードしたファイル内の、「jd-gui.exe」ファイルを実行する。

画面が立ち上がるので、「temp.jar」を開く。

IT, TIPSAndroid

Posted by 行未