A quick guide on how to reverse engineer Android .apk files.
ApkTool
A tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications. It also makes working with an app easier because of the project like file structure and automation of some repetitive tasks like building apk, etc. https://ibotpeaches.github.io/Apktool/ How to usejava -jar apktool_2.3.3.jar d myapp.apk
Use ApkTool to get .smali files and a human-readable manifest xml file.
dex2jar
Tools to work with android .dex and java .class files. dex-reader/writer: Read/write the Dalvik Executable (.dex) file. It has a light weight API similar with ASM. d2j-dex2jar: Convert .dex file to .class files (zipped as jar) smali/baksmali: disassemble dex to smali files and assemble dex from smali files. different implementation to smali/baksmali, same syntax, but we support escape in type desc “Lcom/dex2jar\t\u1234;” other tools: d2j-decrypt-string https://github.com/pxb1988/dex2jar How to used2j-dex2jar.bat myapp.apk
The output file will be base-dex2jar.jar.