Reverse engineering from an APK file to a project

I accidently erased my project from Eclipse, and all I have left is the APK file which I transferred to my phone. Is there a way to reverse the process of exporting an application to the .apk file, so I can get my project back?


There are two useful tools which will generate Java code (rough but good enough) from an unknown APK file.

  • Download dex2jar tool from dex2jar.
  • Use the tool to convert the APK file to JAR:

    $ d2j-dex2jar.bat demo.apk
    dex2jar demo.apk -> ./demo-dex2jar.jar
    
  • Once the JAR file is generated, use JD-GUI to open the JAR file. You will see the Java files.

  • The output will be similar to:

    JD GUI


    First of all I recommend this video may this is clears all yours doubts

    If not please go through it

    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.

    If problems in the converting into .zip please refers link

    After getting .zip now you get classes.dex files, etc. At this stage you are able to see drawable but not xml and java files, so continue. If you don't see the extensions go through check the configuration

    Step 2:

    Now extract this zip apk file in the same folder. Now download dex2jar from this link

    and extract it to the same folder. Now open command prompt and change directory to that folder.

    Then write dex2jar classes.dex and press enter. Now you get classes.dex.dex2jar file in the same folder.

    Then download java decompiler

    And now double click on jd-gui 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. Extract that zip file (classes_dex2jar.src.zip) and you will get all java files of the application.

    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

  • put .apk file which you want to decode

  • download Apktool for windows v1.x And Apktool

  • install window using google and put in the same folder

  • download framework-res.apk file using google and put in the same folder (Not all apk file need framework-res.apk file)

  • Open a command window

  • Navigate to the root directory of APKtool and type the following command: apktool if framework-res.apk.

  • Above command should result in Framework installed ... .

  • apktool d "appName".apk ("appName" denotes application which you want to decode) now you get a file folder in that folder and now you can easily read xml files also.
  • Step 4: Finally we got the res/ as well as java code of project which is our target at starting.

    PS If you are not able to get res folder by above steps please do install new apktool

  • Is Java 1.7 installed? Install Apktool 2.x
  • Is Java 1.6 or higher installed? Install Apktool 1.x
  • Enjoy and happy coding


    No software & No too much steps..

    Just upload your APK & get your all resources from this site..

    https://www.apkdecompilers.com/

    This website will decompile the code embedded in APK files and extract all the other assets in the file.

    note: I decompile my APK file & get code within one miniute from this website

    Update 1 :

    I found another online decompiler site,

    http://www.javadecompilers.com/apk/ - Not working continuously asking for popup blocking

    Update 2:

    I found apk decompiler app in play store,

    https://play.google.com/store/apps/details?id=com.njlabs.showjava

    We can decompile the apk files in our android phone. and also we can able to view the java & xml files in this application

    Update 3:

    We can use another option Analyze APK feature from Android studio 2.2 version

    Build -> Analyze APK -> Select your APK -> it give results

    在这里输入图像描述

    链接地址: http://www.djcxy.com/p/90698.html

    上一篇: 保护Android应用程序免受逆向工程真的不可能?

    下一篇: 从APK文件反向工程到项目