メインコンテンツまでスキップ

リバースエンジニアリング(APK)

Android 用のアプリケーションパッケージである APK ファイルを解析するためのツールやその使い方についてのページです.

ツールのインストール

Apktool

APK の解凍やリビルドを容易に行えるリバースエンジニアリングのためのツール.

paru -S android-apktool
# or
paru -S android-apktool-git

dex2jar

Android の dex フォーマットを Java の class に変換するツール.

paru -S dex2jar
# or
paru -S dex2jar-git

jd-cli

Java Decompiler の CLI ツール.

paru -S jd-cli

jd-gui

Java Decompiler の GUI ツール.

paru -S jd-gui
# or
paru -S jd-gui-git
# or
paru -S jd-gui-bin

使い方

Apktool を使う場合

下記のようにコマンドを実行することで base/ にソースが展開されます.

apktool d base.apk

dex2jar, jd-* を使う場合

次のように dex2jar で APK を jar ファイルに変換します.

dex2jar base.apk

base-dex2jar.jar が生成されるので,デコンパイルします.GUI の場合は jd-gui を起動してファイルオープンで base-dex2jar.jar を選択します.CUI の場合は次のように jd-cli を実行すると src/ にファイルが展開されます.

jd-cli base-dex2jar.jar -od src