Small Rust utlity to decompile Android apks
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode initial commit Feb 1, 2019
lib ignore ds files Feb 1, 2019
src remove unused attributes Feb 4, 2019
.gitignore
.travis.yml changed ci script Feb 1, 2019
Cargo.lock version bump Feb 3, 2019
Cargo.toml version bump Feb 3, 2019
LICENSE initial commit Feb 1, 2019
README.md Update README.md Feb 3, 2019
build.rs initial commit Feb 1, 2019

README.md

apk-decompiler

Build Status

Small utility to decompile your apks so you don't have to worry using lots of different tools.

How to install it

At the moment, it only works in Mac and Linux. Check out the releases section and download the specific file for your system

How to get your apk

First of all you need a rooted phone so you can access it via adb shell.

Once you're there, if you want to list the packages installed in your device:

pm list packages
# or if you're looking for something specific
pm list packages | awk -F':' '{print $2}' | grep instagram

Once you know which is the name of the package you want to access:

pm path <name-of-the-package>
# e.g com.company.app
# this may output something similar to this:
# /data/app/com.company.app/BBhSG-3w3_vAghNyy2LsKg==/base.apk

In order to extract a package we'll use adb again:

adb pull <path-to-the-package>

How to use it

Just execute:

./apk-decompiler <name-of-your-apk>

You'll get a new folder called output which contains the following folders:

  1. decompiled: This is the output of running dex2jar.
  2. extracted: This folder contains the output of unzipping the apk.
  3. xml: This is basically the output of running apktool.
  4. package-name-error.zip: Optional file that you will get in case there were some errors during the decompilation process.

Known issues

If you have folders with empty spaces this may be a problem for jd-cli which is one of the dependencies of this project. So... just try to avoid them ;P