Logo
Easy-as-pie Android Decompiler

Easy-as-pie Android Decompiler

#Security Testing#Malware Analysis

A write-up of the reverse engineering challenge from the 2019 BambooFox CTF competition

Visit Website

I got pretty tired of decompiling Android apps

I became quite exhausted from the process of decompiling Android apps, which involved a series of steps that I constantly had to memorize.

It involved a lot of tools and confusion

It involved a lot of apktool, dex2jar, and jd-gui; it still confuses me. After completing these steps—usually a combination of dex2jar and JD-GUI—I was often left with scattered pieces of information. The decompiled Java files would be located in one directory, while the un-DEXed content would be stored somewhere else. This disorganization made it really challenging to import everything into Eclipse! My goal was to create a structure that closely resembles what the original Android developer sees, generating a tree and source that is as accurate as possible. One limitation of existing decompilers is that they do not regenerate R references. This tool includes a script designed to address this issue. This enhancement provides greater clarity when reading the source code. For example, which line is more informative: View v = inflater.inflate(217994357, container, false); or View v = inflater.inflate(R.layout.result_panel, container, false);? With the latter, you can easily identify and search for what each resource does, without having to sift through R.java for an unclear integer value. Note: This process relies on educated guesses.