Setting up the environment for decompiling Android apps on Mac OS

Setting up the environment for decompiling Android apps on Mac OS

[[144520]]

Often, for the purpose of learning or security testing, we need to decompile the installation files of the Android app to view the source code. Let's build a decompilation environment under Mac OS.

Installation Environment

Create a basic folder

mkdir -p ~/study/apkkiller/soft/bin

mkdir -p ~/study/apkkiller/soft/src

mkdir -p ~/study/apkkiller/output/

The installation file of andorid app is apk package. To decompile apk file, you need to download apktool and dex2jar, both of which are hosted on google code:

http://code.google.com/p/android-apktool/

http://code.google.com/p/dex2jar/

Find the download address from the above two pages. Here we find the download address of apktool1.5.2 and dex2jar-0.0.9.15:

cd ~/study/apkkiller/soft/src

wget http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2

wget http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip

The decompressed files are stored in the following directory:

~/study/apkkiller/soft/src/apktool1.5.2

~/study/apkkiller/soft/src/dex2jar-0.0.9.15

For ease of use, create two soft links:

ln -s ~/study/apkkiller/soft/src/apktool1.5.2/apktool.jar ~/study/apkkiller/soft/bin/apktool

ln -s ~/study/apkkiller/soft/src/dex2jar-0.0.9.15/dex2jar.sh ~/study/apkkiller/soft/bin/dex2jar

Test decompilation environment

Let's start decompiling our test apk file to see if the environment can run normally

  1. cd ~/study/apkkiller
  2. mkdir -p ~/study/apkkiller/output/test/source
  3. mkdir -p ~/study/apkkiller/output/test/result
  4.  
  5. cp ./test.apk ./output/test/source/test.zip
  6. unzip ./output/test/source/test.zip -d ./output/test/source/test
  7.  
  8. cp ./output/test/source/test/classes.dex ./output/test/source/classes.dex
  9. ~/study/apkkiller/soft/bin/dex2jar ./output/test/source/classes.dex
  10. # output ./output/test/source/classes_dex2jar.jar

To view the decompiled files, you can download the jd-gui tool and open the ./output/test/source/classes_dex2jar.jar file generated above. This tool can export all the source code packages. Download jd-gui from the following address:

http://jd.benow.ca/

http://jd.benow.ca/jd-gui/downloads/jd-gui-0.3.5.osx.i686.dmg

The apk resource files are stored in the folder ./output/test/source/test that we unzipped above. There are many xml files in it, but they are encrypted and cannot be viewed directly. At this time, you need to use the apktool tool:

java -jar ~/study/apkkiller/soft/bin/apktool d ./test.apk ./output/test/source/test_resource

Merge the exported source code and resource files to get the result we want.

<<:  Learn more about iOS 9 every day 5: Xcode Code Coverage Tools

>>:  Is heavy H5 really good?

Recommend

“5G TV” brands lead TV shipment growth (Part 1)

Key Points Xiaomi is a well-known mobile phone an...

Where in China is the winter warm enough not to need heating?

The cold wind is blowing People always yearn for ...

Honda Aircraft Company Reaches 250th HondaJet Delivery

Honda Aircraft Company (HACI), Honda's aircra...

Introduction to Sina Fuyi's advertising formats

Definition of wing Part 1 Definition of Wing Supp...

Can hawthorn and chestnut be eaten together? What will happen if you eat them?

Review expert: Wang Xuejiang, professor of pathop...

3 new strategies for short video account positioning

One writer once said: "Go deeper into the ar...

Can salmon be grown using cells? There is a new choice for future food!

If one day people were to live on the uninhabited...

How did Leonardo da Vinci use the Mona Lisa to "cheat" you?

Leonardo da Vinci's "Mona Lisa" is ...