(You can probably find a lot of this information spread across the internet. I’m just giving my view on all of it. I am by no means an expert though!)
The Android mobile operating system is taking HUGE leaps and bounds and is quickly becoming the most popular one out there on the market. It also happens to be my personal favorite, I’ve had an Android device for close to four years now and I don’t plan on looking back anytime soon. I think some of the most compelling reasons that I stick with Android is because the development environment is really easy to get into and stay in, and that at its core it is the Linux operating system which is something that I’m quite familiar with.
In this post I just want to go over the basics to reverse engineering Android applications, how you’d decompile and disassemble any apk (application package file, an Android app basically), and how you’d go about patching and signing your modified app. This post is going to assume you have at least a basic understanding of Android apps, though here’s a quick overview.