commit
a2490f99d7
32 changed files with 59 additions and 39 deletions
4
.github/workflows/maven.yml
vendored
4
.github/workflows/maven.yml
vendored
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
BIN
libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar
Normal file
BIN
libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar
Normal file
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
92750a855f488f5b90b4ee75352d53cc
|
|
@ -0,0 +1 @@
|
|||
f84f12d4a024aa00fa314229c748c971c984f8ae
|
|
@ -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>
|
|
@ -0,0 +1 @@
|
|||
32d7606cd2e4eb5ec99cf13a1f623a2c
|
|
@ -0,0 +1 @@
|
|||
b7c5e3e3a20e7601b18d45f594ecaf0d31e0047c
|
|
@ -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>
|
1
libs/org/apktool/apktool-cli/maven-metadata.xml.md5
Normal file
1
libs/org/apktool/apktool-cli/maven-metadata.xml.md5
Normal file
|
@ -0,0 +1 @@
|
|||
5cf5e3c60d76f6bc05317852c0dee46c
|
1
libs/org/apktool/apktool-cli/maven-metadata.xml.sha1
Normal file
1
libs/org/apktool/apktool-cli/maven-metadata.xml.sha1
Normal file
|
@ -0,0 +1 @@
|
|||
33442f1de71c010486efa6d68d221cecd8bf185e
|
Binary file not shown.
|
@ -1 +0,0 @@
|
|||
7d96a4ccc7289d0f0f476c618a6315a8
|
|
@ -1 +0,0 @@
|
|||
f3aad98eee64a34566ae6b971b59a3fb27c897a5
|
|
@ -1 +0,0 @@
|
|||
f13d5769cd41299e8727973044de6326
|
|
@ -1 +0,0 @@
|
|||
8750ebdb9af548b87d7f4597f65ca49262de7033
|
|
@ -1 +0,0 @@
|
|||
04af915c4a9139dff66855fe769239f1
|
|
@ -1 +0,0 @@
|
|||
1f365a9ab11f7213c747f379cf8d4220dc1b7fab
|
16
pom.xml
16
pom.xml
|
@ -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>
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -215,7 +215,7 @@ public class ExtendedJOptionPane
|
|||
else
|
||||
dialog.setLocationRelativeTo(BytecodeViewer.viewer);
|
||||
|
||||
dialog.show();
|
||||
dialog.setVisible(true);
|
||||
dialog.dispose();
|
||||
|
||||
return dialog;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
|
@ -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,
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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."
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue