diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/RenameVisitor.java b/jadx-core/src/main/java/jadx/core/dex/visitors/RenameVisitor.java index ce441834e..188504636 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/RenameVisitor.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/RenameVisitor.java @@ -23,6 +23,7 @@ import jadx.core.dex.nodes.DexNode; import jadx.core.dex.nodes.FieldNode; import jadx.core.dex.nodes.MethodNode; import jadx.core.dex.nodes.RootNode; +import jadx.core.utils.files.FileUtils; import jadx.core.utils.files.InputFile; public class RenameVisitor extends AbstractVisitor { @@ -35,9 +36,7 @@ public class RenameVisitor extends AbstractVisitor { } InputFile firstInputFile = dexNodes.get(0).getDexFile().getInputFile(); Path inputFilePath = firstInputFile.getFile().getAbsoluteFile().toPath(); - - String inputName = inputFilePath.getFileName().toString(); - String baseName = inputName.substring(0, inputName.lastIndexOf('.')); + String baseName = FileUtils.getPathBaseName(inputFilePath); Path deobfMapPath = inputFilePath.getParent().resolve(baseName + ".jobf"); JadxArgs args = root.getArgs(); diff --git a/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java b/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java index 75c15299d..5b03934cb 100644 --- a/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java @@ -232,6 +232,15 @@ public class FileUtils { } } + public static String getPathBaseName(Path file) { + String fileName = file.getFileName().toString(); + int extEndIndex = fileName.lastIndexOf('.'); + if (extEndIndex == -1) { + return fileName; + } + return fileName.substring(0, extEndIndex); + } + public static File toFile(String path) { if (path == null) { return null;