JADXecute: JADX-gui scripting plugin for dynamic decompiler manipulation

dynamic decompiler manipulation

JADXecute

JADXecute is a plugin for JADX that enhances its functionality by adding Dynamic Code Execution abilities.

With JADXecute, you can dynamically run Java code to modify or print components of the jadx-gui output. JADXecute is inspired by IDAPython to help and aims to assist Android Reverse Engineers in analyzing APKs more efficiently.

This code is based on the latest release of JADX version 1.4.6. It contains an additional plugin to enable dynamic Java coding using all of the standard Java libraries as well as the JADX libs and APIs.

Use

Executing Code with JADXecute

Once you’ve written your code, hit run and you should either see successful console output or the list of code compilation errors that Java encountered when compiling your jadx-scripting code.

Scripting Code Structure

In order for JADXecute to be able to execute your dynamic code, you must declare your class with:

public static String userCodeMain(MainWindow mainWindow)

Also, don’t forget to include any imports you need as you normally would in Java code!

Console Output

To print values to the console window, you must append them to the string value that is returned by the “userCodeMain” function in the JADXecute window. In the sample code, this string is named jadxecuteOutput. After your code has successfully run, the console displays the final value of this string. Optionally, you could also create a logger object for the class if you would prefer to print values to the JADX Log Viewer.

Download & Tutorial

Copyright (C) 2023 LaurieWired