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

Game consoles may take over the living room with VR

Playing games is human nature. I still remember t...

Dream Sky Cabin, always ready!

According to the China Manned Space Engineering O...

The founder of YC tells you how to raise funds in more than 10,000 words

[[153077]] Paul Graham (famous programmer, ventur...

"Zero-carbon agricultural products": Ding! Please check your "new green menu"

Organic food, also known as ecological or biologi...

Apple held its first conference this year, and Cook revealed some information

On March 1, Apple held its first conference in 20...

Geek Academy "Unity3D Engineer" Junior, Intermediate, Senior and Senior Engineer

Course Catalog ├──01-Junior Unity3D Development E...

After being cheated, it became a priceless treasure

Today's protagonist is not an ordinary wardro...

WeChat 5.4: Tencent’s ambitions are clear

On August 14, WeChat iOS version 5.4 was official...

What is the best way to generate organic traffic on Tik Tok?

Nowadays, everyone on Douyin will try to get traf...