From 985ccd6bba2ec4f38d063ed918e6ff8b59f71a74 Mon Sep 17 00:00:00 2001 From: Yotam Date: Sun, 14 Nov 2021 22:49:27 +0200 Subject: [PATCH] feat: save jobf when decompiling to Java (#1274) (PR #1275) * Save jobf when decompiling to Java through the cli * Skip jobf saving if it's empty * Update jadx-core/src/main/java/jadx/core/deobf/DeobfPresets.java Co-authored-by: Yotam Nachum Co-authored-by: skylot <118523+skylot@users.noreply.github.com> --- jadx-core/src/main/java/jadx/core/deobf/DeobfPresets.java | 6 ++++++ .../java/jadx/core/dex/visitors/rename/RenameVisitor.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/jadx-core/src/main/java/jadx/core/deobf/DeobfPresets.java b/jadx-core/src/main/java/jadx/core/deobf/DeobfPresets.java index 56634b0b7..f68c0ef88 100644 --- a/jadx-core/src/main/java/jadx/core/deobf/DeobfPresets.java +++ b/jadx-core/src/main/java/jadx/core/deobf/DeobfPresets.java @@ -134,6 +134,12 @@ public class DeobfPresets { list.add(String.format("m %s = %s", mthEntry.getKey(), mthEntry.getValue())); } Collections.sort(list); + if (list.isEmpty()) { + if (LOG.isDebugEnabled()) { + LOG.debug("Deobfuscation map is empty, not saving it"); + } + return; + } Files.write(deobfMapFile, list, MAP_FILE_CHARSET, StandardOpenOption.WRITE, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING); if (LOG.isDebugEnabled()) { diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/rename/RenameVisitor.java b/jadx-core/src/main/java/jadx/core/dex/visitors/rename/RenameVisitor.java index 8229c5c82..24b560803 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/rename/RenameVisitor.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/rename/RenameVisitor.java @@ -46,7 +46,7 @@ public class RenameVisitor extends AbstractVisitor { checkClasses(deobfuscator, root, args); UserRenames.applyForNodes(root); - if (args.isDeobfuscationOn()) { + if (args.isDeobfuscationOn() || !args.isJsonOutput()) { deobfuscator.savePresets(); deobfuscator.clear(); }