How to decompile Android APK

How to decompile Android APK

Preface

I have been decompiling for a long time, but I picked it up again because I knew I had to do it today. I will record it today.

Tool Preparation

1. Test environment:

win10

2. Tools used:

2.1 Download address on CSDN:

apktool

dex2jar

jd-gui

2.2 Official latest version download address:

apktool(google code)

dex2jar(google code)

jd-gui (google code)

Tool Introduction

apktool

Function: Get resource files, you can extract image files and layout files for viewing.

dex2jar

Function: Decompile apk into Java source code (convert classes.dex into jar file)

jd-gui

Function: View the jar file converted from classes.dex in APK, that is, the source code file

Decompilation process

1. Decompile apk to get the source code, pictures, XML configuration, language resources and other files of the program

1) Download apktool from the above tools, decompress it to get 3 files: aapt.exe, apktool.bat, apktool.jar, put the APK file to be decompiled in this directory,

2) Open the command line interface (Run - CMD), locate the apktool folder, and enter the following command: apktool.bat d -f fish.apk fish

(In the command, test.apk refers to the full name of the APK file to be decompiled, and test is the name of the directory where the decompiled resource files are stored, that is: apktool.bat d -f [apk file] [output folder])

3) It means the acquisition is successful. Then you will find a fish file in the folder. Click it to view all the resource files of the application.

4) If you want to repackage the decompiled file into apk, you can: enter apktool.bat b test (your compiled folder), the effect is as follows:

5) Then you can find two more folders under the previous test file:

  • build
  • dist (which contains the packaged APK file)

2. Decompile Apk to get Java source code

1) Download dex2jar and jd-gui from the above tools and unzip them

2) Change the APK extension to .rar or .zip, and decompress it to get the classes.dex file (it is compiled from the java file and packaged by the dx tool). Put the obtained classes.dex into the dex2jar-0.0.9.15 folder of the tool that was decompressed before.

3) In the command line, locate the directory where dex2jar.bat is located and enter dex2jar.bat classes.dex. The effect is as follows:

4) A classes_dex2jar.jar file will be generated in this directory, then open the jd-gui.exe in the jd-gui folder, and then use the tool to open the previously generated classes_dex2jar.jar file, and you can see the source code. The effect is as follows:

5) Obfuscated renderings (class file names and method names inside them are named in a, b, c, etc.)

Decompilation status

Since the existence of this kind of tool is very detrimental to the protection of intellectual property rights, the current technology has also changed. Many companies will set up their own products, and various exceptions may occur during decompilation, resulting in decompilation failure.

<<:  Responsive Image Processing in Web Development

>>:  Developer’s statement: This is how I learned GAN

Recommend

How to use traffic thinking to tap into the Douyin live e-commerce ecosystem?

In the PC era, the Web 1.0 period was mainly base...

A guide to operating an advertising budget of 10 million+!

This title is really not a clickbait title. In fa...

Product operation growth skills!

In the operation of Internet products , daily act...

The barbaric P2P online lending has seen the dawn of civilization

For the P2P industry, the impact of policies has ...

This museum "reshapes life" for 20 million pieces of imperial kiln porcelain

During the Qingming Festival holiday, a total of ...

Online Event Promotion Implementation Manual

What is event operation? My understanding of even...

NIO recalls ES8, subsidies disappear, what is the future of new energy vehicles?

After several spontaneous combustion incidents, N...