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
This article shares with you the May Day holiday ...
Affected by the cold wave March 2 Large-scale rai...
How to continue to gain traffic for Xiaohongshu N...
Written at the beginning: The success of big bran...
The Three-Body World described in the novel "...
September and October are the golden months, and ...
[[165073]] The most common problem with legacy co...
Review expert: Chen Mingxin, national second-leve...
How did Guazi.com become a leader in the used car...
In the field of UI/UX design, many tasks no longe...
In the early morning of September 13, after Apple...
What is the price for joining the Hohhot Meat and...
A true but somewhat absurd story: A Pontiac car u...
I believe many people have had this experience: e...
The 2022 National College Entrance Examination wi...