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

Smart Bracelet UP24 Review

Many people will not associate Jawbone UP24 with s...

Qingdao SEO Training: What to do if your website is hacked?

Many websites have been hacked, and the situation...

The secret behind Beijing's "snowfall" in April is...

Auditing expert: Yang Yanhui, Senior Garden Engin...

How to write copy that hits the user’s pain points?

Good copywriting needs to be revised. It is very ...

Overview of advertising in the second category of e-commerce industry in 2020

In 2020, due to the impact of the epidemic, a lar...

Product Operation | How to build a points system from 0 to 1?

Points system: connects users and products, can e...

Solid info! The 5 most overrated bidding strategies

Search engine paid promotion provides marketers w...

Android application marketing strategy and plan

I often visit some small restaurants with good se...

Can AI change the way science is done?

Artificial intelligence (AI) is shaping the scien...

Both are made of carbon, so why is graphite soft and diamond hard?

Produced by: Science Popularization China Author:...