commit
e4543ea817
46 changed files with 75 additions and 68 deletions
|
@ -19,7 +19,7 @@ Some dependencies may have been modified or could be released by their author in
|
||||||
|
|
||||||
#### Modifications
|
#### Modifications
|
||||||
|
|
||||||
- `JD-GUI`: Removed ASM and RSyntaxTextArea
|
- `JD-GUI`: Removed ASM, RSyntaxTextArea, ANTLR, and TreeLayout
|
||||||
- `APKTool`: Recompiled with the newest dependency versions, removed prebuilt folder
|
- `APKTool`: Recompiled with the newest dependency versions, removed prebuilt folder
|
||||||
- `DX`: Just taken from build-tools without modifications
|
- `dx`: Just taken from build-tools without modifications
|
||||||
- `D2Jar`: Compiled from scratch
|
- `Dex2Jar`: Compiled from scratch ([This fork](https://github.com/ThexXTURBOXx/dex2jar)); download the `all` artifact from [GitHub actions](https://github.com/ThexXTURBOXx/dex2jar/actions)
|
||||||
|
|
Binary file not shown.
|
@ -1 +0,0 @@
|
||||||
27ccd6872887a6fa467c9f773f9fd218
|
|
|
@ -1 +0,0 @@
|
||||||
ee70c208b9469e07dff48294d37ca4dfd009216c
|
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<groupId>com.android</groupId>
|
|
||||||
<artifactId>dx</artifactId>
|
|
||||||
<version>30.0.3</version>
|
|
||||||
</project>
|
|
|
@ -1 +0,0 @@
|
||||||
1c8d965abdb64d5e7869fe7abd0f8f16
|
|
|
@ -1 +0,0 @@
|
||||||
e0c4f44b6eff749939e1cd6f2d2aa5ba2d9281d7
|
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<metadata>
|
|
||||||
<groupId>com.android</groupId>
|
|
||||||
<artifactId>dx</artifactId>
|
|
||||||
<versioning>
|
|
||||||
<release>30.0.3</release>
|
|
||||||
<versions>
|
|
||||||
<version>30.0.3</version>
|
|
||||||
</versions>
|
|
||||||
<lastUpdated>20210809171340</lastUpdated>
|
|
||||||
</versioning>
|
|
||||||
</metadata>
|
|
|
@ -1 +0,0 @@
|
||||||
9fc6457b2aaaca1869f9e0f1aab372d4
|
|
|
@ -1 +0,0 @@
|
||||||
5e542c95e397f2b4c3f2b150360e39aa519f0863
|
|
Binary file not shown.
|
@ -1 +0,0 @@
|
||||||
81084e179c8ac7f9638de6fb749f1a0e
|
|
|
@ -1 +0,0 @@
|
||||||
a517e7a01c6d60dab4ea1645504c9ed9887a9190
|
|
|
@ -1 +0,0 @@
|
||||||
c2145a55e8a96475489adebd58ea4968
|
|
|
@ -1 +0,0 @@
|
||||||
e45f03179f6fc5a3becb4eda787c34fae28f93e5
|
|
BIN
libs/com/googlecode/D2Jar-obf/2.1v19/D2Jar-obf-2.1v19.jar
Normal file
BIN
libs/com/googlecode/D2Jar-obf/2.1v19/D2Jar-obf-2.1v19.jar
Normal file
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
470df084337b7ef8e5fd9ada8359973d
|
|
@ -0,0 +1 @@
|
||||||
|
8c993a8b2dd652532c11b57d917e49c8d33efa45
|
|
@ -4,5 +4,5 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.googlecode</groupId>
|
<groupId>com.googlecode</groupId>
|
||||||
<artifactId>D2Jar-obf</artifactId>
|
<artifactId>D2Jar-obf</artifactId>
|
||||||
<version>1.0bcv</version>
|
<version>2.1v19</version>
|
||||||
</project>
|
</project>
|
|
@ -0,0 +1 @@
|
||||||
|
a738eb686cce7603fda0d7225d911bbb
|
|
@ -0,0 +1 @@
|
||||||
|
d65e7ca6e8c1db7e923e9520f08a2c88b654ff11
|
|
@ -3,10 +3,10 @@
|
||||||
<groupId>com.googlecode</groupId>
|
<groupId>com.googlecode</groupId>
|
||||||
<artifactId>D2Jar-obf</artifactId>
|
<artifactId>D2Jar-obf</artifactId>
|
||||||
<versioning>
|
<versioning>
|
||||||
<release>1.0bcv</release>
|
<release>2.1v19</release>
|
||||||
<versions>
|
<versions>
|
||||||
<version>1.0bcv</version>
|
<version>2.1v19</version>
|
||||||
</versions>
|
</versions>
|
||||||
<lastUpdated>20210809231039</lastUpdated>
|
<lastUpdated>20210812114713</lastUpdated>
|
||||||
</versioning>
|
</versioning>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
d54ac62e2043b2db34f2fcaad089de7c
|
5e0be1e48a1190b21b4514f83a1a2167
|
|
@ -1 +1 @@
|
||||||
51083035146a191d5a37266136f5a19a3b2d78c9
|
4c3d40803e18e8b752368e2140a4e61a570b09f6
|
|
@ -1 +0,0 @@
|
||||||
65e4fe5688630ec32c2c78d9e5c30e74
|
|
|
@ -1 +0,0 @@
|
||||||
dcb766ec3af6a0d2af5deb8aa5200552c3e47422
|
|
|
@ -1 +0,0 @@
|
||||||
045d93571840130425280acf44d0b1c4
|
|
|
@ -1 +0,0 @@
|
||||||
e02d9bcadc36628f908f5c5cc7dbb73593a6e5e2
|
|
|
@ -1 +0,0 @@
|
||||||
69423fd3d1b2f3a0ceef4fd7410c1c37
|
|
|
@ -1 +0,0 @@
|
||||||
06ba4857ceb9120126431234133b607486389758
|
|
Binary file not shown.
1
libs/org/jd/jd-gui/1.6.6bcv/jd-gui-1.6.6bcv.jar.md5
Normal file
1
libs/org/jd/jd-gui/1.6.6bcv/jd-gui-1.6.6bcv.jar.md5
Normal file
|
@ -0,0 +1 @@
|
||||||
|
27038a07a27a96680c00ce9bc2e7ecf9
|
1
libs/org/jd/jd-gui/1.6.6bcv/jd-gui-1.6.6bcv.jar.sha1
Normal file
1
libs/org/jd/jd-gui/1.6.6bcv/jd-gui-1.6.6bcv.jar.sha1
Normal file
|
@ -0,0 +1 @@
|
||||||
|
d2e0687046e7e343b1150f23976c718b8f05d017
|
|
@ -2,7 +2,7 @@
|
||||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.jd</groupId>
|
<groupId>org.jd</groupId>
|
||||||
<artifactId>jd-gui</artifactId>
|
<artifactId>jd-gui</artifactId>
|
||||||
<version>1.6.6bcv</version>
|
<version>1.6.6bcv</version>
|
||||||
</project>
|
</project>
|
1
libs/org/jd/jd-gui/1.6.6bcv/jd-gui-1.6.6bcv.pom.md5
Normal file
1
libs/org/jd/jd-gui/1.6.6bcv/jd-gui-1.6.6bcv.pom.md5
Normal file
|
@ -0,0 +1 @@
|
||||||
|
746c99600f2e54d10b6edadf901583ae
|
1
libs/org/jd/jd-gui/1.6.6bcv/jd-gui-1.6.6bcv.pom.sha1
Normal file
1
libs/org/jd/jd-gui/1.6.6bcv/jd-gui-1.6.6bcv.pom.sha1
Normal file
|
@ -0,0 +1 @@
|
||||||
|
a66b8df4397ea3f2985e811de4f1a6b06d2899b6
|
|
@ -1,12 +1,12 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<metadata>
|
<metadata>
|
||||||
<groupId>com.jd</groupId>
|
<groupId>org.jd</groupId>
|
||||||
<artifactId>jd-gui</artifactId>
|
<artifactId>jd-gui</artifactId>
|
||||||
<versioning>
|
<versioning>
|
||||||
<release>1.6.6bcv</release>
|
<release>1.6.6bcv</release>
|
||||||
<versions>
|
<versions>
|
||||||
<version>1.6.6bcv</version>
|
<version>1.6.6bcv</version>
|
||||||
</versions>
|
</versions>
|
||||||
<lastUpdated>20210622184950</lastUpdated>
|
<lastUpdated>20210810090109</lastUpdated>
|
||||||
</versioning>
|
</versioning>
|
||||||
</metadata>
|
</metadata>
|
1
libs/org/jd/jd-gui/maven-metadata.xml.md5
Normal file
1
libs/org/jd/jd-gui/maven-metadata.xml.md5
Normal file
|
@ -0,0 +1 @@
|
||||||
|
3bacc3a2d75ec55b4a342685c525a242
|
1
libs/org/jd/jd-gui/maven-metadata.xml.sha1
Normal file
1
libs/org/jd/jd-gui/maven-metadata.xml.sha1
Normal file
|
@ -0,0 +1 @@
|
||||||
|
7ccb5c6496569cac765190873996c27dc28361f0
|
27
pom.xml
27
pom.xml
|
@ -107,7 +107,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jboss.windup.decompiler</groupId>
|
<groupId>org.jboss.windup.decompiler</groupId>
|
||||||
<artifactId>decompiler-fernflower</artifactId>
|
<artifactId>decompiler-fernflower</artifactId>
|
||||||
<version>5.1.4.Final</version>
|
<version>5.2.0.Final</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
<version>3.1.6</version>
|
<version>3.1.6</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.jd</groupId>
|
<groupId>org.jd</groupId>
|
||||||
<artifactId>jd-gui</artifactId>
|
<artifactId>jd-gui</artifactId>
|
||||||
<version>1.6.6bcv</version>
|
<version>1.6.6bcv</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
@ -209,15 +209,10 @@
|
||||||
<artifactId>JADX-Android</artifactId>
|
<artifactId>JADX-Android</artifactId>
|
||||||
<version>5.1bcv</version>
|
<version>5.1bcv</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.android</groupId>
|
|
||||||
<artifactId>dx</artifactId>
|
|
||||||
<version>30.0.3</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.googlecode</groupId>
|
<groupId>com.googlecode</groupId>
|
||||||
<artifactId>D2Jar-obf</artifactId>
|
<artifactId>D2Jar-obf</artifactId>
|
||||||
<version>1.0bcv</version>
|
<version>2.1v19</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.weisj</groupId>
|
<groupId>com.github.weisj</groupId>
|
||||||
|
@ -239,6 +234,22 @@
|
||||||
<artifactId>semantic-version</artifactId>
|
<artifactId>semantic-version</artifactId>
|
||||||
<version>2.1.0</version>
|
<version>2.1.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.abego.treelayout</groupId>
|
||||||
|
<artifactId>org.abego.treelayout.core</artifactId>
|
||||||
|
<version>1.0.3</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.antlr</groupId>
|
||||||
|
<artifactId>antlr4</artifactId>
|
||||||
|
<version>4.9.2</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.ibm.icu</groupId>
|
||||||
|
<artifactId>icu4j</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- TODO Re-add for Graal.JS support -->
|
<!-- TODO Re-add for Graal.JS support -->
|
||||||
<!--<dependency>
|
<!--<dependency>
|
||||||
|
|
|
@ -163,7 +163,7 @@ public class SettingsSerializer
|
||||||
save("deprecated");
|
save("deprecated");
|
||||||
save("deprecated");
|
save("deprecated");
|
||||||
save("deprecated");
|
save("deprecated");
|
||||||
save(BytecodeViewer.viewer.fontSpinner.getValue());
|
save(BytecodeViewer.viewer.getFontSize());
|
||||||
save(Configuration.deleteForeignLibraries);
|
save(Configuration.deleteForeignLibraries);
|
||||||
|
|
||||||
if (BytecodeViewer.viewer.apkConversionGroup.isSelected(BytecodeViewer.viewer.apkConversionDex.getModel()))
|
if (BytecodeViewer.viewer.apkConversionGroup.isSelected(BytecodeViewer.viewer.apkConversionDex.getModel()))
|
||||||
|
@ -200,6 +200,7 @@ public class SettingsSerializer
|
||||||
save(Configuration.lastPluginDirectory);
|
save(Configuration.lastPluginDirectory);
|
||||||
save(Configuration.python2Extra);
|
save(Configuration.python2Extra);
|
||||||
save(Configuration.python3Extra);
|
save(Configuration.python3Extra);
|
||||||
|
save(BytecodeViewer.viewer.getMinSdkVersion());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
BytecodeViewer.handleException(e);
|
BytecodeViewer.handleException(e);
|
||||||
}
|
}
|
||||||
|
@ -396,6 +397,7 @@ public class SettingsSerializer
|
||||||
Configuration.lastPluginDirectory = asString(138);
|
Configuration.lastPluginDirectory = asString(138);
|
||||||
Configuration.python2Extra = asBoolean(139);
|
Configuration.python2Extra = asBoolean(139);
|
||||||
Configuration.python3Extra = asBoolean(140);
|
Configuration.python3Extra = asBoolean(140);
|
||||||
|
BytecodeViewer.viewer.minSdkVersionSpinner.setValue(asInt(141));
|
||||||
}
|
}
|
||||||
catch (IndexOutOfBoundsException e)
|
catch (IndexOutOfBoundsException e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -267,6 +267,10 @@ public class MainViewerGUI extends JFrame
|
||||||
public final JCheckBoxMenuItem forceTurningIFs = new TranslatedJCheckBoxMenuItem("Force Returning IFs", TranslatedComponents.FORCE_RETURNING_IFS);
|
public final JCheckBoxMenuItem forceTurningIFs = new TranslatedJCheckBoxMenuItem("Force Returning IFs", TranslatedComponents.FORCE_RETURNING_IFS);
|
||||||
public final JCheckBoxMenuItem forLoopAGGCapture = new TranslatedJCheckBoxMenuItem("For Loop AGG Capture", TranslatedComponents.FOR_LOOP_AGG_CAPTURE);
|
public final JCheckBoxMenuItem forLoopAGGCapture = new TranslatedJCheckBoxMenuItem("For Loop AGG Capture", TranslatedComponents.FOR_LOOP_AGG_CAPTURE);
|
||||||
|
|
||||||
|
//Smali/D2Jar
|
||||||
|
public final JMenu minSdkVersionMenu = new TranslatedJMenu("Minimum SDK version", TranslatedComponents.MIN_SDK_VERSION);
|
||||||
|
public final JSpinner minSdkVersionSpinner = new JSpinner();
|
||||||
|
|
||||||
//obfuscation
|
//obfuscation
|
||||||
public final JMenu obfuscate = new JMenu("Obfuscate");
|
public final JMenu obfuscate = new JMenu("Obfuscate");
|
||||||
public final JMenuItem renameFields = new JMenuItem("Rename Fields");
|
public final JMenuItem renameFields = new JMenuItem("Rename Fields");
|
||||||
|
@ -612,6 +616,13 @@ public class MainViewerGUI extends JFrame
|
||||||
bytecodeDecompilerSettingsDialog = new SettingsDialog(bytecodeDecompilerSettingsSecondaryMenu, new JPanel());
|
bytecodeDecompilerSettingsDialog = new SettingsDialog(bytecodeDecompilerSettingsSecondaryMenu, new JPanel());
|
||||||
bytecodeDecompilerSettings.addActionListener((e)-> bytecodeDecompilerSettingsDialog.showDialog());
|
bytecodeDecompilerSettings.addActionListener((e)-> bytecodeDecompilerSettingsDialog.showDialog());
|
||||||
|
|
||||||
|
//Smali minSdkVersion
|
||||||
|
minSdkVersionSpinner.setPreferredSize(new Dimension(60, 24));
|
||||||
|
minSdkVersionSpinner.setMinimumSize(new Dimension(60, 24));
|
||||||
|
minSdkVersionSpinner.setModel(new SpinnerNumberModel(26, 1, null, 1));
|
||||||
|
minSdkVersionMenu.add(minSdkVersionSpinner);
|
||||||
|
settingsMainMenu.add(minSdkVersionMenu);
|
||||||
|
|
||||||
deleteForeignOutdatedLibs.addActionListener(arg0 -> showForeignLibraryWarning());
|
deleteForeignOutdatedLibs.addActionListener(arg0 -> showForeignLibraryWarning());
|
||||||
forcePureAsciiAsText.addActionListener(arg0 -> SettingsSerializer.saveSettingsAsync());
|
forcePureAsciiAsText.addActionListener(arg0 -> SettingsSerializer.saveSettingsAsync());
|
||||||
setPython2.addActionListener(arg0 -> ExternalResources.getSingleton().selectPython2());
|
setPython2.addActionListener(arg0 -> ExternalResources.getSingleton().selectPython2());
|
||||||
|
@ -799,6 +810,11 @@ public class MainViewerGUI extends JFrame
|
||||||
return (int) fontSpinner.getValue();
|
return (int) fontSpinner.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMinSdkVersion()
|
||||||
|
{
|
||||||
|
return (int) minSdkVersionSpinner.getValue();
|
||||||
|
}
|
||||||
|
|
||||||
public synchronized void clearBusyStatus()
|
public synchronized void clearBusyStatus()
|
||||||
{
|
{
|
||||||
SwingUtilities.invokeLater(()->
|
SwingUtilities.invokeLater(()->
|
||||||
|
|
|
@ -250,6 +250,7 @@ public enum TranslatedComponents
|
||||||
DESC,
|
DESC,
|
||||||
RESULTS,
|
RESULTS,
|
||||||
REFRESH,
|
REFRESH,
|
||||||
|
MIN_SDK_VERSION,
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
package the.bytecode.club.bytecodeviewer.util;
|
package the.bytecode.club.bytecodeviewer.util;
|
||||||
|
|
||||||
import com.googlecode.d2j.dex.Dex2jar;
|
import com.googlecode.d2j.dex.Dex2jar;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -60,7 +59,9 @@ public class Dex2Jar {
|
||||||
|
|
||||||
public static synchronized void saveAsDex(File input, File output, boolean delete) {
|
public static synchronized void saveAsDex(File input, File output, boolean delete) {
|
||||||
try {
|
try {
|
||||||
com.googlecode.dex2jar.tools.Jar2Dex.main(input.getAbsolutePath(), "-o", output.getAbsolutePath());
|
com.googlecode.dex2jar.tools.Jar2Dex.main(input.getAbsolutePath(),
|
||||||
|
"-o", output.getAbsolutePath(),
|
||||||
|
"-s", BytecodeViewer.viewer.getMinSdkVersion() + "");
|
||||||
if (delete)
|
if (delete)
|
||||||
input.delete();
|
input.delete();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
@ -279,5 +279,6 @@
|
||||||
"SAVE": "Save...",
|
"SAVE": "Save...",
|
||||||
"SAVE_AS": "Save As...",
|
"SAVE_AS": "Save As...",
|
||||||
"RESULTS": "Results",
|
"RESULTS": "Results",
|
||||||
"REFRESH": "Refresh"
|
"REFRESH": "Refresh",
|
||||||
|
"MIN_SDK_VERSION": "Minimum SDK version"
|
||||||
}
|
}
|
|
@ -254,5 +254,6 @@
|
||||||
"CLOSE_ALL_BUT_THIS": "Alle außer diesen schließen",
|
"CLOSE_ALL_BUT_THIS": "Alle außer diesen schließen",
|
||||||
"CLOSE_TAB": "Tab schließen",
|
"CLOSE_TAB": "Tab schließen",
|
||||||
"PLEASE_SEND_THIS_ERROR_LOG_TO": "Bitte senden Sie dieses Fehlerprotokoll an",
|
"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"
|
"PLEASE_SEND_RESOURCES": "Wenn Sie entsprechende gesetzliche Rechte an der jeweiligen Klasse besitzen",
|
||||||
|
"MIN_SDK_VERSION": "Minimale SDK-Version"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue