Skip to content

telekom-security/jadx-jaredit

Repository files navigation

Jar Edit

A jadx plugin to edit decompiled .java files and compile to a new .jar file.

Features:

  • edit decompiled .java files in jadx
  • single and multi-jar support
  • edits are saved in project
  • compile edited .java files and replace corresponding .class files in an updated .jar
  • integrated jdk swap option to compile with
  • setting to disable jadx' tab-interception

Download

  • from GitHub releases
  • or clone this project and build it with the gradle dist task

Installation

In jadx, go to Plugins > Manage plugins > Install plugin and select the plugin .jar

Usage

icon icon icon icon icon

From left to right:

  • Edit - enables edit mode for a java code area
  • Save - saves edits in the jaredit folder generated next to the .jadx project file (alternative: Ctrl + S)
  • Exclude - excludes the selected tab from the compile step
  • Compile - compiles all files found in the <project-path>-jaredit directory that are not excluded and replaces them in an updated .jar
  • Add JDK - opens a directory selection window, where the bin folder of the desired JDK to compile with should be selected. The JDK can be changed in Preferences > Plugins > Jar Edit > JDKs

Requirements:

JarEdit requires jadx version 1.5.2 or newer to function properly.
To be able to use the plugin, opened files have to be saved as a project first.

APK Scripts

Warning

Please note, that this feature is currently under development. Due to the outdated dx tool, that dex2jar makes use of and the generally lossy conversion from .dex to .jar files, it is likely that the resulting .apk won't function as intended.

The build scripts require a keystore that can be generated with the following command:

keytool -genkey -v -keystore <my-release-key.keystore> -alias <alias_name> -keyalg RSA -keysize 2048 -validity 10000

In the apkedit scripts, the path to you dex2jar folder has to be adjusted.

In the apkbuild scripts, the paths to your desired android sdk build-tools and platform folders have to be adjusted. Additionally, the options required for the apksigner to work (specifically the previously generated key and keystore) have to be modified.

Usage:

<script> <apk-file>

Authors

Thanks to Jakob Bille and Martin Tkatchev.


Licensed under the Apache 2.0 License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •