Merge pull request #357 from ThexXTURBOXx/master

Some stuff for JDK 17
This commit is contained in:
Konloch 2021-09-19 10:51:05 -07:00 committed by GitHub
commit a2490f99d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 59 additions and 39 deletions

View File

@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '8', '11', '16' ] # All currently supported versions
java: [ '8', '11', '17-ea' ] # LTS versions
steps:
- uses: actions/checkout@v2
@ -22,7 +22,7 @@ jobs:
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'adopt'
distribution: 'temurin'
- name: Build with Maven
run: mvn -B package --file pom.xml
- name: Extract Maven project version

View File

@ -19,5 +19,6 @@ Some dependencies may have been modified or could be released by their author in
#### Modifications
- `ByteAnalysis`: Compiled from source with the newest dependency versions
- `APKTool`: Added the `apktool-cli` subproject, compiled without changes from source
- `JD-GUI`: Removed ASM, RSyntaxTextArea, ANTLR, and TreeLayout
- `APKTool`: Recompiled with the newest dependency versions, removed prebuilt folder

View File

@ -0,0 +1 @@
92750a855f488f5b90b4ee75352d53cc

View File

@ -0,0 +1 @@
f84f12d4a024aa00fa314229c748c971c984f8ae

View File

@ -3,6 +3,6 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apktool</groupId>
<artifactId>apktool</artifactId>
<version>2.5.0bcv2</version>
<artifactId>apktool-cli</artifactId>
<version>2.6.0</version>
</project>

View File

@ -0,0 +1 @@
32d7606cd2e4eb5ec99cf13a1f623a2c

View File

@ -0,0 +1 @@
b7c5e3e3a20e7601b18d45f594ecaf0d31e0047c

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>org.apktool</groupId>
<artifactId>apktool</artifactId>
<artifactId>apktool-cli</artifactId>
<versioning>
<release>2.5.0bcv2</release>
<release>2.6.0</release>
<versions>
<version>2.5.0bcv2</version>
<version>2.6.0</version>
</versions>
<lastUpdated>20210622201718</lastUpdated>
<lastUpdated>20210916084410</lastUpdated>
</versioning>
</metadata>

View File

@ -0,0 +1 @@
5cf5e3c60d76f6bc05317852c0dee46c

View File

@ -0,0 +1 @@
33442f1de71c010486efa6d68d221cecd8bf185e

View File

@ -1 +0,0 @@
7d96a4ccc7289d0f0f476c618a6315a8

View File

@ -1 +0,0 @@
f3aad98eee64a34566ae6b971b59a3fb27c897a5

View File

@ -1 +0,0 @@
f13d5769cd41299e8727973044de6326

View File

@ -1 +0,0 @@
8750ebdb9af548b87d7f4597f65ca49262de7033

View File

@ -1 +0,0 @@
04af915c4a9139dff66855fe769239f1

View File

@ -1 +0,0 @@
1f365a9ab11f7213c747f379cf8d4220dc1b7fab

16
pom.xml
View File

@ -14,7 +14,7 @@
<!-- Dependency versions -->
<annotations.version>22.0.0</annotations.version>
<apktool.version>2.5.0bcv2</apktool.version>
<apktool.version>2.6.0</apktool.version>
<asm.version>9.2</asm.version>
<bined.version>0.2.0</bined.version>
<cfr.version>0.151</cfr.version>
@ -77,9 +77,20 @@
</dependency>
<dependency>
<groupId>org.apktool</groupId>
<artifactId>apktool</artifactId>
<artifactId>apktool-cli</artifactId>
<version>${apktool.version}</version>
</dependency>
<dependency>
<groupId>org.apktool</groupId>
<artifactId>apktool-lib</artifactId>
<version>${apktool.version}</version>
<exclusions>
<exclusion>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
@ -360,6 +371,7 @@
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>

View File

@ -44,7 +44,7 @@ public class GlobalHotKeys
//CTRL + O
//open resource
if ((e.getKeyCode() == KeyEvent.VK_O) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
if ((e.getKeyCode() == KeyEvent.VK_O) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
{
Configuration.lastHotKeyExecuted = System.currentTimeMillis();
@ -62,7 +62,7 @@ public class GlobalHotKeys
//CTRL + N
//new workspace
else if ((e.getKeyCode() == KeyEvent.VK_N) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
else if ((e.getKeyCode() == KeyEvent.VK_N) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
{
Configuration.lastHotKeyExecuted = System.currentTimeMillis();
BytecodeViewer.resetWorkspace(true);
@ -70,7 +70,7 @@ public class GlobalHotKeys
//CTRL + T
//compile
else if ((e.getKeyCode() == KeyEvent.VK_T) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
else if ((e.getKeyCode() == KeyEvent.VK_T) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
{
Configuration.lastHotKeyExecuted = System.currentTimeMillis();
Thread t = new Thread(() -> BytecodeViewer.compile(true, false), "Compile");
@ -79,7 +79,7 @@ public class GlobalHotKeys
//CTRL + R
//Run remote code
else if ((e.getKeyCode() == KeyEvent.VK_R) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
else if ((e.getKeyCode() == KeyEvent.VK_R) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
{
Configuration.lastHotKeyExecuted = System.currentTimeMillis();
@ -91,7 +91,7 @@ public class GlobalHotKeys
//CTRL + S
//Export resources
else if ((e.getKeyCode() == KeyEvent.VK_S) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
else if ((e.getKeyCode() == KeyEvent.VK_S) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
{
Configuration.lastHotKeyExecuted = System.currentTimeMillis();
@ -137,7 +137,7 @@ public class GlobalHotKeys
//CTRL + W
//close active resource (currently opened tab)
else if ((e.getKeyCode() == KeyEvent.VK_W) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
else if ((e.getKeyCode() == KeyEvent.VK_W) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
{
Configuration.lastHotKeyExecuted = System.currentTimeMillis();
@ -147,7 +147,7 @@ public class GlobalHotKeys
//CTRL + L
//open last opened resource
else if ((e.getKeyCode() == KeyEvent.VK_L) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
else if ((e.getKeyCode() == KeyEvent.VK_L) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
{
Configuration.lastHotKeyExecuted = System.currentTimeMillis();

View File

@ -134,8 +134,8 @@ public class ExceptionUI extends JFrameConsole
{
String fatJar = FAT_JAR ? " [Fat Jar]" : "";
return TranslatedStrings.PLEASE_SEND_THIS_ERROR_LOG_TO.toString() + " " + author +
"\n" + TranslatedStrings.PLEASE_SEND_RESOURCES.toString() +
return TranslatedStrings.PLEASE_SEND_THIS_ERROR_LOG_TO + " " + author +
"\n" + TranslatedStrings.PLEASE_SEND_RESOURCES +
"\nBytecode Viewer Version: " + VERSION + fatJar +
", OS: " + System.getProperty("os.name") +
", Java: " + System.getProperty("java.version");

View File

@ -12,6 +12,7 @@ import the.bytecode.club.bytecodeviewer.Constants;
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
import the.bytecode.club.bytecodeviewer.gui.components.JFrameConsolePrintStream;
import the.bytecode.club.bytecodeviewer.resources.ExternalResources;
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
import static the.bytecode.club.bytecodeviewer.Constants.fs;
@ -75,7 +76,6 @@ public class JavapDisassembler extends InternalDecompiler
//setup reflection
Class<?> javap = child.loadClass("com.sun.tools.javap.Main");
Method main = javap.getMethod("main", String[].class);
Object cl = javap.newInstance();
//pipe sys out
sysOutBuffer = new JFrameConsolePrintStream("", false);
@ -84,13 +84,17 @@ public class JavapDisassembler extends InternalDecompiler
BytecodeViewer.sm.silenceExec(true);
//invoke Javap
main.invoke(cl, (Object) new String[]{
main.invoke(null, (Object) new String[]{
"-p", //Shows all classes and members
"-c", //Prints out disassembled code
//"-l", //Prints out line and local variable tables
"-constants", //Shows static final constants
tempClass.getAbsolutePath()});
}
catch (IllegalAccessException e)
{
return TranslatedStrings.ILLEGAL_ACCESS_ERROR.toString();
}
catch (Exception e)
{
e.printStackTrace();

View File

@ -215,7 +215,7 @@ public class ExtendedJOptionPane
else
dialog.setLocationRelativeTo(BytecodeViewer.viewer);
dialog.show();
dialog.setVisible(true);
dialog.dispose();
return dialog;

View File

@ -82,7 +82,7 @@ public class SearchableJTextArea extends JTextArea
addKeyListener(new PressKeyListener(keyEvent ->
{
if ((keyEvent.getKeyCode() == KeyEvent.VK_F) && ((keyEvent.getModifiers() & KeyEvent.CTRL_MASK) != 0))
if ((keyEvent.getKeyCode() == KeyEvent.VK_F) && ((keyEvent.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
searchInput.requestFocus();
GlobalHotKeys.keyPressed(keyEvent);

View File

@ -108,10 +108,10 @@ public class SearchableRSyntaxTextArea extends RSyntaxTextArea
addKeyListener(new PressKeyListener(keyEvent ->
{
if ((keyEvent.getKeyCode() == KeyEvent.VK_F) && ((keyEvent.getModifiers() & KeyEvent.CTRL_MASK) != 0))
if ((keyEvent.getKeyCode() == KeyEvent.VK_F) && ((keyEvent.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
searchInput.requestFocus();
if (onCtrlS != null && (keyEvent.getKeyCode() == KeyEvent.VK_S) && ((keyEvent.getModifiers() & KeyEvent.CTRL_MASK) != 0))
if (onCtrlS != null && (keyEvent.getKeyCode() == KeyEvent.VK_S) && ((keyEvent.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0))
{
onCtrlS.run();
return;

View File

@ -101,7 +101,7 @@ public class TabbedPane extends JPanel
exitButton.setComponentPopupMenu(rightClickMenu);
exitButton.addMouseListener(new MouseClickedListener(e ->
{
if (e.getModifiers() != InputEvent.ALT_MASK || System.currentTimeMillis() - lastMouseClick < 100)
if (e.getModifiersEx() != InputEvent.ALT_DOWN_MASK || System.currentTimeMillis() - lastMouseClick < 100)
return;
lastMouseClick = System.currentTimeMillis();

View File

@ -299,7 +299,7 @@ public class EZInjection extends Plugin
if(kit != null)
kit.setVisible(true);
m2.invoke(classNode.getClass().newInstance(), (Object[]) new String[1]);
m2.invoke(classNode.getClass().getDeclaredConstructor().newInstance(), (Object[]) new String[1]);
print("Finished running " + invokeMethodInformation);
}

View File

@ -61,7 +61,7 @@ public class CompiledJavaPluginLaunchStrategy implements PluginLaunchStrategy {
}
LoadingClassLoader cl = new LoadingClassLoader(pdata, set);
Plugin p = cl.pluginKlass.newInstance();
Plugin p = cl.pluginKlass.getDeclaredConstructor().newInstance();
LoadedPluginData npdata = new LoadedPluginData(pdata, cl, p);
loaded.add(npdata);
@ -197,4 +197,4 @@ public class CompiledJavaPluginLaunchStrategy implements PluginLaunchStrategy {
return pluginKlass;
}
}
}
}

View File

@ -51,6 +51,6 @@ public class JavaPluginLaunchStrategy implements PluginLaunchStrategy
);
//create a new instance of the class
return (Plugin) clazz.newInstance();
return (Plugin) clazz.getDeclaredConstructor().newInstance();
}
}
}

View File

@ -84,6 +84,7 @@ public enum TranslatedStrings
PLEASE_SEND_THIS_ERROR_LOG_TO,
PLEASE_SEND_RESOURCES,
ONE_PLUGIN_AT_A_TIME,
ILLEGAL_ACCESS_ERROR,
YES,

View File

@ -263,6 +263,7 @@
"PLEASE_SEND_THIS_ERROR_LOG_TO": "Please send this error log to",
"PLEASE_SEND_RESOURCES": "If you hold appropriate legal rights to the relevant class/jar/apk file please include that as well.",
"ONE_PLUGIN_AT_A_TIME": "There is currently another plugin running right now, please wait for that to finish executing.",
"ILLEGAL_ACCESS_ERROR": "Please use Java 15 or older to do this.",
"FILES": "Files",

View File

@ -255,5 +255,6 @@
"CLOSE_TAB": "Tab schließen",
"PLEASE_SEND_THIS_ERROR_LOG_TO": "Bitte senden Sie dieses Fehlerprotokoll an",
"PLEASE_SEND_RESOURCES": "Wenn Sie entsprechende gesetzliche Rechte an der jeweiligen Klasse besitzen",
"MIN_SDK_VERSION": "Minimale SDK-Version"
"MIN_SDK_VERSION": "Minimale SDK-Version",
"ILLEGAL_ACCESS_ERROR": "Bitte benutzen Sie Java 15 oder älter, um dies zu tun."
}