diff --git a/pom.xml b/pom.xml
index feddd948..42be1227 100644
--- a/pom.xml
+++ b/pom.xml
@@ -226,7 +226,12 @@
com.github.weisj
darklaf-core
- 2.6.2-SNAPSHOT
+ 2.6.2-20210719.010320-83
+
+
+ com.github.weisj
+ darklaf-windows
+ 2.6.2-20210719.010320-83
com.github.weisj
@@ -237,19 +242,6 @@
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.1.1
-
-
-
- true
- the.bytecode.club.bytecodeviewer.BytecodeViewer
-
-
-
-
org.apache.maven.plugins
maven-compiler-plugin
@@ -287,9 +279,21 @@
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA
+ META-INF/*LICENSE*
+ META-INF/*NOTICE*
+ META-INF/MANIFEST.MF
+
+
+ the.bytecode.club.bytecodeviewer.BytecodeViewer
+
+ ${project.version}
+
+
+
diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/Constants.java b/src/main/java/the/bytecode/club/bytecodeviewer/Constants.java
index b146fc4b..ebe19ff3 100644
--- a/src/main/java/the/bytecode/club/bytecodeviewer/Constants.java
+++ b/src/main/java/the/bytecode/club/bytecodeviewer/Constants.java
@@ -16,7 +16,7 @@ import java.io.PrintStream;
public class Constants
{
/*per version*/
- public static final String VERSION = "2.10.14"; //could be loaded from the pom
+ public static final String VERSION = BytecodeViewer.class.getPackage().getImplementationVersion();
public static String krakatauVersion = "12";
public static String enjarifyVersion = "4";
public static final boolean BLOCK_TAB_MENU = true;
diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/compilers/impl/KrakatauAssembler.java b/src/main/java/the/bytecode/club/bytecodeviewer/compilers/impl/KrakatauAssembler.java
index 3093fc94..3ac886c4 100644
--- a/src/main/java/the/bytecode/club/bytecodeviewer/compilers/impl/KrakatauAssembler.java
+++ b/src/main/java/the/bytecode/club/bytecodeviewer/compilers/impl/KrakatauAssembler.java
@@ -51,8 +51,6 @@ public class KrakatauAssembler extends InternalCompiler
if(!ExternalResources.getSingleton().hasSetPython2Command())
return null;
- String origName = MiscUtils.randomString(20);
-
File tempD = new File(Constants.tempDirectory + fs + MiscUtils.randomString(32) + fs);
tempD.mkdir();
diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/impl/CFRDecompiler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/impl/CFRDecompiler.java
index e4a0243f..8d4a90a5 100644
--- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/impl/CFRDecompiler.java
+++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/impl/CFRDecompiler.java
@@ -11,7 +11,6 @@ import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Deque;
import java.util.LinkedList;
-import java.util.Objects;
import java.util.Random;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/resourceviewer/viewer/ClassViewer.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/resourceviewer/viewer/ClassViewer.java
index c94e44b4..fee9258e 100644
--- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/resourceviewer/viewer/ClassViewer.java
+++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/resourceviewer/viewer/ClassViewer.java
@@ -26,6 +26,8 @@ import the.bytecode.club.bytecodeviewer.Configuration;
import the.bytecode.club.bytecodeviewer.SettingsSerializer;
import the.bytecode.club.bytecodeviewer.resources.Resource;
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
+import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
+import the.bytecode.club.bytecodeviewer.translation.Translation;
import the.bytecode.club.bytecodeviewer.util.MethodParser;
import static the.bytecode.club.bytecodeviewer.util.MethodParser.Method;
@@ -89,7 +91,14 @@ public class ClassViewer extends ResourceViewer
{
setPanes();
refreshTitle();
-
+
+ // Warn user if no Decompiler is selected
+ if (bytecodeViewPanel1.decompiler == Decompiler.NONE
+ && bytecodeViewPanel2.decompiler == Decompiler.NONE
+ && bytecodeViewPanel3.decompiler == Decompiler.NONE) {
+ BytecodeViewer.showMessage(TranslatedStrings.SUGGESTED_FIX_NO_DECOMPILER_WARNING.toString());
+ }
+
bytecodeViewPanel1.createPane(this);
bytecodeViewPanel2.createPane(this);
bytecodeViewPanel3.createPane(this);
diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/malwarescanner/MalwareCodeScanner.java b/src/main/java/the/bytecode/club/bytecodeviewer/malwarescanner/MalwareCodeScanner.java
index 52e32a7f..bcfac4cc 100644
--- a/src/main/java/the/bytecode/club/bytecodeviewer/malwarescanner/MalwareCodeScanner.java
+++ b/src/main/java/the/bytecode/club/bytecodeviewer/malwarescanner/MalwareCodeScanner.java
@@ -117,16 +117,16 @@ public abstract class MalwareCodeScanner implements CodeScanner
public void foundLDC(MalwareScan scan, String ldc, String foundAt)
{
- scan.sb.append(header() + " Found LDC \"").append(ldc).append("\" ").append(foundAt);
+ scan.sb.append(header()).append(" Found LDC \"").append(ldc).append("\" ").append(foundAt);
}
public void foundMethod(MalwareScan scan, String foundAt)
{
- scan.sb.append(header() + " Found Method call to ").append(foundAt);
+ scan.sb.append(header()).append(" Found Method call to ").append(foundAt);
}
public void found(MalwareScan scan, String found)
{
- scan.sb.append(header() + " Found ").append(found);
+ scan.sb.append(header()).append(" Found ").append(found);
}
}
diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/translation/TranslatedStrings.java b/src/main/java/the/bytecode/club/bytecodeviewer/translation/TranslatedStrings.java
index ba363618..e9b90fe2 100644
--- a/src/main/java/the/bytecode/club/bytecodeviewer/translation/TranslatedStrings.java
+++ b/src/main/java/the/bytecode/club/bytecodeviewer/translation/TranslatedStrings.java
@@ -84,6 +84,7 @@ public enum TranslatedStrings
FIRST_OPEN_A_RESOURCE,
FIRST_OPEN_A_CLASS,
FIRST_VIEW_A_CLASS,
+ SUGGESTED_FIX_NO_DECOMPILER_WARNING,
DRAG_CLASS_JAR,
;
diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/translation/Translation.java b/src/main/java/the/bytecode/club/bytecodeviewer/translation/Translation.java
index e09f3706..93e888bc 100644
--- a/src/main/java/the/bytecode/club/bytecodeviewer/translation/Translation.java
+++ b/src/main/java/the/bytecode/club/bytecodeviewer/translation/Translation.java
@@ -226,6 +226,7 @@ public enum Translation
ERROR,
SUGGESTED_FIX_DECOMPILER_ERROR,
SUGGESTED_FIX_COMPILER_ERROR,
+ SUGGESTED_FIX_NO_DECOMPILER_WARNING,
PROCYON_DECOMPILER,
CFR_DECOMPILER,
FERNFLOWER_DECOMPILER,
diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/util/VersionChecker.java b/src/main/java/the/bytecode/club/bytecodeviewer/util/VersionChecker.java
index 9a7f6cdc..eda49bc7 100644
--- a/src/main/java/the/bytecode/club/bytecodeviewer/util/VersionChecker.java
+++ b/src/main/java/the/bytecode/club/bytecodeviewer/util/VersionChecker.java
@@ -1,5 +1,6 @@
package the.bytecode.club.bytecodeviewer.util;
+import java.util.Objects;
import me.konloch.kontainer.io.HTTPRequest;
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
import the.bytecode.club.bytecodeviewer.Configuration;
@@ -58,7 +59,7 @@ public class VersionChecker implements Runnable
}
- if (!VERSION.equals(version))
+ if (VERSION != null && !VERSION.equals(version))
{
MultipleChoiceDialogue outdatedDialogue = new MultipleChoiceDialogue("Bytecode Viewer - Outdated Version",
"Your version: " + VERSION + ", latest version: "
diff --git a/src/main/resources/translations/english.json b/src/main/resources/translations/english.json
index 9d01042a..8a740971 100644
--- a/src/main/resources/translations/english.json
+++ b/src/main/resources/translations/english.json
@@ -126,6 +126,7 @@
"NEW_JAVASCRIPT_PLUGIN": "New Javascript Plugin",
"SUGGESTED_FIX_DECOMPILER_ERROR": "Suggested Fix: Click refresh class, if it fails again try another decompiler.",
"SUGGESTED_FIX_COMPILER_ERROR": "Suggested Fix: Try View>Pane>Krakatau>Bytecode and enable Editable.",
+ "SUGGESTED_FIX_NO_DECOMPILER_WARNING": "WARNING: No decompiler is currently selected. Try View>Pane and choose a decompiler.",
"COMPILER_TIP": "Keep in mind most decompilers cannot produce compilable classes",
"FIRST_OPEN_A_RESOURCE": "First open a resource inside of BCV (class, jar, zip or apk file)",
"FIRST_OPEN_A_CLASS": "First open a classfile resource inside of BCV (jar, zip, apk, dex)",
diff --git a/src/main/resources/translations/german.json b/src/main/resources/translations/german.json
index 6ad9e5bf..d97d79f7 100644
--- a/src/main/resources/translations/german.json
+++ b/src/main/resources/translations/german.json
@@ -93,6 +93,7 @@
"ERROR": "Fehler",
"SUGGESTED_FIX_DECOMPILER_ERROR": "Vorgeschlagene Lösung: Klicken Sie auf Klasse aktualisieren und wenn es wieder fehlschlägt, versuchen Sie einen anderen Dekompilierer.",
"SUGGESTED_FIX_COMPILER_ERROR": "Vorgeschlagene Lösung: Aktivieren Sie unter Ansicht>Fenster>Krakatau>Bytecode Editierbar.",
+ "SUGGESTED_FIX_NO_DECOMPILER_WARNING": "ACHTUNG: Derzeit ist kein Dekompilierer ausgewählt. Versuchen Sie unter Ansicht>Fenster einen Dekompilierer auszuwählen.",
"FILES": "Dateien",
"QUICK_FILE_SEARCH_NO_FILE_EXTENSION": "Dateien-Schnellsuche öffnen (ohne Dateiendungen)",
"WORK_SPACE": "Arbeitsbereich",