Reverse Engineering Android Apps — Part 1

This is only for informative purposes. It is not intended for piracy or other non-legal uses.

Dotworld Technologies
2 min readMar 11, 2020

The following tools were tested working on APKs build for Android 10 and below. These tools mentioned below were developed for decompiling Android apps written in Java. We tried reversing some hybrid apps written on React Native and Ionic Framework, and it seems to be working. But we are not sure about Flutter and other hybrid frameworks.

So, what do we need first?
An APK file

There are several ways to get an APK. One of the best ways is to download it on your Android device and using a backup app to archive the application. You can also use tools like PlaystoreDownloader to download them directly from the play store.

If you just want to view the source code and resources, you can simply use jadx to see the source. It is clean and easy to use.

File selection dialog on launch
Decompiled Code

You can also save or export this code as a Gradle project.

The above code seems to be pretty neat with all the packages, variables and method names intact. This won’t be the case for all Android applications. If the application is minified or obfuscated, then it will look like the image shown below.

It will be hard to reverse engineer, but not impossible.

Minified code

We will see about recompiling an Android application on another story.

Checkout part 2

Stay tuned and follow us.😉

Written by
Naveen Sakthivel, CTO
Dotworld Technologies

--

--

Dotworld Technologies

We develop your dreams and make you visualize it more closer to your heart