We have to tool named JADX-GUI and JADX which make the reverse engineering much easier. This tools can convert back the Java code by providing APK for theme. This make the process quicker. But please note that these to tool have some disadvantages against dex2jar tool. Usually JADX fails a little more than dex2jar to decompiling codes.

Note: JADX offer you deobfuscation of code.

what is obfuscation?

During obfuscation, the names of classes, methods, and variables are changed to random, meaningless strings. This makes it difficult for an attacker to understand the functionality of the code by simply looking at it. In addition, the obfuscation process can also remove unused code, optimize the code for performance, and compress the code to reduce the size of the APK file.

How JADX Deobfuscation the code?

Jadx works by analyzing the bytecode of an APK file and translating it back into human-readable Java code. It can also automatically detect and reverse certain obfuscation techniques, such as string encryptionmethod renaming, and class renaming.

Lets Test It

jadx 14_2_de.fgerbig.spacepeng_orig --log-level ERROR

# --log-level ERROR --> Show the trace log in case of any error in decompilation process.

If you want to decompile multiple APK:

find ./ -inname ".apk" -exec jadx {} -d out/{} \\;

PowerShell version:

Get-ChildItem -Path . -Filter *.apk -Recurse | ForEach-Object {jadx $_.FullName -d "out\\$($_.Name)"}

Digging into Jadx-GUI

First, in case of any problem in viewing codes or problem in UI, you can download eclipse and use it for viewing decompiled codes. How?

It’s easy. First click on save as gradle project. The choose a path to save the project.

Untitled

After that you can open it with Eclipse.( file/Import a project from file system)

Untitled

Searching in JADX-GUI

Press ctr + shift + f then check all checkboxes and search for the word.