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
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
Many people will not associate Jawbone UP24 with s...
Recently, the emergence of the new variant Omicro...
At Xiaomi's "Sea Embraces All Rivers&quo...
In recent years, many netizens have discovered th...
Many websites have been hacked, and the situation...
[[438580]] Research firm Gartner published a fore...
Auditing expert: Yang Yanhui, Senior Garden Engin...
Good copywriting needs to be revised. It is very ...
In 2020, due to the impact of the epidemic, a lar...
Recently, Japanese wafer giant Sumco decided to c...
Points system: connects users and products, can e...
Search engine paid promotion provides marketers w...
I often visit some small restaurants with good se...
Artificial intelligence (AI) is shaping the scien...
Produced by: Science Popularization China Author:...