Android Application Reverse Engineering

Lets develop a source code from (android)apk executable : Reverse engineering approach
There are 5 steps of cracking any type of android application code.

1. Having an executable(apk) with us.

One way to download APK file is, go to google playstore copy the URL of the application and paste it in the urlhttp://apps.evozi.com/apk-downloader/   OR http://downloader-apk.com/ OR http://apkleecher.com/  and download it. We can also achieve this by using chrome extension Extension Link

2. Find the “.dex” file in apk by opening *.apk with Winrar.

Apk to dex conversion.
Tool : Winrar or Winzip or 7zip – Open apk file in winrar . Once you extact it you we see many files. Android Manifesto file,classes.dex and others. Classes.dex is dalvik executable file which can be understandable to android virtual machine. Dex file which is the main file from whole application. Extract it somewhere in your folder.  Download Winrar here

12

3. Convert *.dex to *.jar file using dex2jar software.

Now, we need to convert  .dex file into .jar file. We will use dex2jar-0.0.9.15 tool in order to do this. But make sure your dex file has to be in the folder where this dex2jar executable file is.

Download Dex2jar here

So this is how conversion can be done.

3

4. Open the *.jar file with “JD-GUI or CAVAJ java decompiler” to see all class files and its source java code

Now we will decompile the jar file in order to get class files which are java files. And for that we will be using the JD GUI tool. It can be done as follows:

Download JD GUI tool here at http://jd.benow.ca/
Cavaj decompiler

4

Opening converted jar classes file in the JD GUI tool
6

Thus how you see the whole source code of android application. You can even save in a notepad by simply clicking file save source or file save sources.

5. Copy the source code to a file and save it as *.java  OR export the project.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *