Java製ソフトウェアを逆コンパイルする
JADXを利用して逆コンパイルする
JADXはArchLinuxで簡単にインストールできるためDockerイメージに利用したいバージョンのJDKを入れてインストールすることで実行可能な環境を作れる。
services:
jadx:
build:
dockerfile_inline: |
FROM --platform=linux/amd64 archlinux:base-20240101.0.204074
RUN pacman -Syy --noconfirm jdk11-openjdk jadx
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk
WORKDIR /work
ENTRYPOINT ["jadx"]
volumes:
- .:/work
コマンドを実行することで指定したディレクトリに逆コンパイルしたコードが出力される。
$ docker compose run --build --rm jadx -d output app.apk
INFO - loading ...
INFO - processing ...
INFO - done