Decoding Android apk file (Reverse Engineering)
Procedure for decoding
.apk files, step-by-step method:
Step 1:
Make a new folder and
put .apk file in it (which you want to decode). Now rename the extension of
this .apk file to .zip (eg.: rename from filename.apk to filename.apk.zip) and
save it. Now you get classes.dex files, etc. At this stage you are able to see drawable
but not xml and java files, so continue.
Step 2:
Now extract this zip
apk file in the same folder (or NEW FOLDER). Now download dex2jar from this
link
http://code.google.com/p/dex2jar/
and extract it to the same folder (or NEW FOLDER). Now open command prompt and
change directory to that folder (or NEW FOLDER). Then write dex2jar classes.dex and press enter. Now you get
classes.dex.dex2jar file in the same folder. Then download java decompiler
from http://java.decompiler.free.fr/?q=jdgui or from here and
now double click on jd-gui or AndroChef Java Decompiler 1.0 shortcut created on your desktop and click on open file. Then open
classes.dex.dex2jar file from that folder. Now you get class files and save all
these class files (click on file then click "save all sources" in
jd-gui) by src name. At this stage you get java source but the xml files are
still unreadable, so continue.
Step 3:
Now open another new
folder and put these files
1.
put .apk file which
you want to decode
2.
download apktool v1.x AND apktool install window (both
can be downloaded at the same location) and put in the same folder
3.
download framework-res.apk file
and put in the same folder (Not all apk file need framework-res.apk file)
4.
Open a command window
5.
Navigate to the root
directory of APKtool and type the following command: apktool if framework-res.apk
6.
apktool d
"fname".apk ("fname"
denotes filename which you want to decode)
now you get a file
folder in that folder and now you can easily read xml files also.