commit
ec6db5cd23
143
pom.xml
143
pom.xml
|
@ -6,10 +6,50 @@
|
||||||
<version>2.10.16</version>
|
<version>2.10.16</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
<!-- Project settings -->
|
||||||
<java.version>1.8</java.version>
|
<java.version>1.8</java.version>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
|
||||||
|
<!-- Dependency versions -->
|
||||||
|
<annotations.version>22.0.0</annotations.version>
|
||||||
|
<apktool.version>2.5.0bcv2</apktool.version>
|
||||||
|
<asm.version>9.2</asm.version>
|
||||||
|
<cfr.version>0.151</cfr.version>
|
||||||
|
<cloning.version>1.9.12</cloning.version>
|
||||||
|
<commons-cli.version>1.4</commons-cli.version>
|
||||||
|
<commons-codec.version>1.15</commons-codec.version>
|
||||||
|
<commons-compiler.version>3.1.6</commons-compiler.version>
|
||||||
|
<commons-compress.version>1.21</commons-compress.version>
|
||||||
|
<commons-io.version>2.11.0</commons-io.version>
|
||||||
|
<commons-lang3.version>3.12.0</commons-lang3.version>
|
||||||
|
<commons-text.version>1.9</commons-text.version>
|
||||||
|
<decompiler-fernflower.version>5.2.0.Final</decompiler-fernflower.version>
|
||||||
|
<fernflower.version>47afd82034</fernflower.version>
|
||||||
|
<guava.version>30.1.1-jre</guava.version>
|
||||||
|
<gson.version>2.8.8</gson.version>
|
||||||
|
<imgscalr-lib.version>4.2</imgscalr-lib.version>
|
||||||
|
<janino.version>3.1.6</janino.version>
|
||||||
|
<jd-gui.version>1.6.6bcv</jd-gui.version>
|
||||||
|
<byteanalysis.version>1.0bcv</byteanalysis.version>
|
||||||
|
<jgraphx.version>3.4.1.3</jgraphx.version>
|
||||||
|
<objenesis.version>3.2</objenesis.version>
|
||||||
|
<procyon.version>0.5.36</procyon.version>
|
||||||
|
<rsyntaxtextarea.version>3.1.3</rsyntaxtextarea.version>
|
||||||
|
<slf4j.version>1.7.32</slf4j.version>
|
||||||
|
<smali.version>2.5.2</smali.version>
|
||||||
|
<snakeyaml.version>1.29</snakeyaml.version>
|
||||||
|
<xpp3.version>1.1.4c</xpp3.version>
|
||||||
|
<jadx.version>f681c89</jadx.version>
|
||||||
|
<dex2jar.version>v24</dex2jar.version>
|
||||||
|
<darklaf.version>2.7.2</darklaf.version>
|
||||||
|
<darklaf-extensions-rsta.version>0.3.4</darklaf-extensions-rsta.version>
|
||||||
|
<webp-imageio.version>0.2.2</webp-imageio.version>
|
||||||
|
<semantic-version.version>2.1.0</semantic-version.version>
|
||||||
|
<treelayout.version>1.0.3</treelayout.version>
|
||||||
|
<antlr4.version>4.9.2</antlr4.version>
|
||||||
|
<js.version>21.2.0</js.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
|
@ -31,87 +71,87 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jetbrains</groupId>
|
<groupId>org.jetbrains</groupId>
|
||||||
<artifactId>annotations</artifactId>
|
<artifactId>annotations</artifactId>
|
||||||
<version>21.0.1</version>
|
<version>${annotations.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apktool</groupId>
|
<groupId>org.apktool</groupId>
|
||||||
<artifactId>apktool</artifactId>
|
<artifactId>apktool</artifactId>
|
||||||
<version>2.5.0bcv2</version>
|
<version>${apktool.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.ow2.asm</groupId>
|
<groupId>org.ow2.asm</groupId>
|
||||||
<artifactId>asm</artifactId>
|
<artifactId>asm</artifactId>
|
||||||
<version>9.2</version>
|
<version>${asm.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.ow2.asm</groupId>
|
<groupId>org.ow2.asm</groupId>
|
||||||
<artifactId>asm-analysis</artifactId>
|
<artifactId>asm-analysis</artifactId>
|
||||||
<version>9.2</version>
|
<version>${asm.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.ow2.asm</groupId>
|
<groupId>org.ow2.asm</groupId>
|
||||||
<artifactId>asm-commons</artifactId>
|
<artifactId>asm-commons</artifactId>
|
||||||
<version>9.2</version>
|
<version>${asm.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.ow2.asm</groupId>
|
<groupId>org.ow2.asm</groupId>
|
||||||
<artifactId>asm-tree</artifactId>
|
<artifactId>asm-tree</artifactId>
|
||||||
<version>9.2</version>
|
<version>${asm.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.ow2.asm</groupId>
|
<groupId>org.ow2.asm</groupId>
|
||||||
<artifactId>asm-util</artifactId>
|
<artifactId>asm-util</artifactId>
|
||||||
<version>9.2</version>
|
<version>${asm.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.benf</groupId>
|
<groupId>org.benf</groupId>
|
||||||
<artifactId>cfr</artifactId>
|
<artifactId>cfr</artifactId>
|
||||||
<version>0.151</version>
|
<version>${cfr.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>uk.com.robust-it</groupId>
|
<groupId>uk.com.robust-it</groupId>
|
||||||
<artifactId>cloning</artifactId>
|
<artifactId>cloning</artifactId>
|
||||||
<version>1.9.12</version>
|
<version>${cloning.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-cli</groupId>
|
<groupId>commons-cli</groupId>
|
||||||
<artifactId>commons-cli</artifactId>
|
<artifactId>commons-cli</artifactId>
|
||||||
<version>1.4</version>
|
<version>${commons-cli.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-codec</groupId>
|
<groupId>commons-codec</groupId>
|
||||||
<artifactId>commons-codec</artifactId>
|
<artifactId>commons-codec</artifactId>
|
||||||
<version>1.15</version>
|
<version>${commons-codec.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.codehaus.janino</groupId>
|
<groupId>org.codehaus.janino</groupId>
|
||||||
<artifactId>commons-compiler</artifactId>
|
<artifactId>commons-compiler</artifactId>
|
||||||
<version>3.1.6</version>
|
<version>${commons-compiler.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-compress</artifactId>
|
<artifactId>commons-compress</artifactId>
|
||||||
<version>1.21</version>
|
<version>${commons-compress.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-io</groupId>
|
<groupId>commons-io</groupId>
|
||||||
<artifactId>commons-io</artifactId>
|
<artifactId>commons-io</artifactId>
|
||||||
<version>2.11.0</version>
|
<version>${commons-io.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-lang3</artifactId>
|
<artifactId>commons-lang3</artifactId>
|
||||||
<version>3.12.0</version>
|
<version>${commons-lang3.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-text</artifactId>
|
<artifactId>commons-text</artifactId>
|
||||||
<version>1.9</version>
|
<version>${commons-text.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jboss.windup.decompiler</groupId>
|
<groupId>org.jboss.windup.decompiler</groupId>
|
||||||
<artifactId>decompiler-fernflower</artifactId>
|
<artifactId>decompiler-fernflower</artifactId>
|
||||||
<version>5.2.0.Final</version>
|
<version>${decompiler-fernflower.version}</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<groupId>org.jboss.windup.decompiler.fernflower</groupId>
|
<groupId>org.jboss.windup.decompiler.fernflower</groupId>
|
||||||
|
@ -122,152 +162,152 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.ThexXTURBOXx</groupId>
|
<groupId>com.github.ThexXTURBOXx</groupId>
|
||||||
<artifactId>fernflower</artifactId>
|
<artifactId>fernflower</artifactId>
|
||||||
<version>47afd82034</version>
|
<version>${fernflower.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
<version>30.1.1-jre</version>
|
<version>${guava.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.code.gson</groupId>
|
<groupId>com.google.code.gson</groupId>
|
||||||
<artifactId>gson</artifactId>
|
<artifactId>gson</artifactId>
|
||||||
<version>2.8.7</version>
|
<version>${gson.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.imgscalr</groupId>
|
<groupId>org.imgscalr</groupId>
|
||||||
<artifactId>imgscalr-lib</artifactId>
|
<artifactId>imgscalr-lib</artifactId>
|
||||||
<version>4.2</version>
|
<version>${imgscalr-lib.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.codehaus.janino</groupId>
|
<groupId>org.codehaus.janino</groupId>
|
||||||
<artifactId>janino</artifactId>
|
<artifactId>janino</artifactId>
|
||||||
<version>3.1.6</version>
|
<version>${janino.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jd</groupId>
|
<groupId>org.jd</groupId>
|
||||||
<artifactId>jd-gui</artifactId>
|
<artifactId>jd-gui</artifactId>
|
||||||
<version>1.6.6bcv</version>
|
<version>${jd-gui.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>eu.bibl.banalysis</groupId>
|
<groupId>eu.bibl.banalysis</groupId>
|
||||||
<artifactId>byteanalysis</artifactId>
|
<artifactId>byteanalysis</artifactId>
|
||||||
<version>1.0bcv</version>
|
<version>${byteanalysis.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.tinyjee.jgraphx</groupId>
|
<groupId>org.tinyjee.jgraphx</groupId>
|
||||||
<artifactId>jgraphx</artifactId>
|
<artifactId>jgraphx</artifactId>
|
||||||
<version>3.4.1.3</version>
|
<version>${jgraphx.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.objenesis</groupId>
|
<groupId>org.objenesis</groupId>
|
||||||
<artifactId>objenesis</artifactId>
|
<artifactId>objenesis</artifactId>
|
||||||
<version>3.2</version>
|
<version>${objenesis.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bitbucket.mstrobel</groupId>
|
<groupId>org.bitbucket.mstrobel</groupId>
|
||||||
<artifactId>procyon-core</artifactId>
|
<artifactId>procyon-core</artifactId>
|
||||||
<version>0.5.36</version>
|
<version>${procyon.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bitbucket.mstrobel</groupId>
|
<groupId>org.bitbucket.mstrobel</groupId>
|
||||||
<artifactId>procyon-expressions</artifactId>
|
<artifactId>procyon-expressions</artifactId>
|
||||||
<version>0.5.36</version>
|
<version>${procyon.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bitbucket.mstrobel</groupId>
|
<groupId>org.bitbucket.mstrobel</groupId>
|
||||||
<artifactId>procyon-reflection</artifactId>
|
<artifactId>procyon-reflection</artifactId>
|
||||||
<version>0.5.36</version>
|
<version>${procyon.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bitbucket.mstrobel</groupId>
|
<groupId>org.bitbucket.mstrobel</groupId>
|
||||||
<artifactId>procyon-compilertools</artifactId>
|
<artifactId>procyon-compilertools</artifactId>
|
||||||
<version>0.5.36</version>
|
<version>${procyon.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fifesoft</groupId>
|
<groupId>com.fifesoft</groupId>
|
||||||
<artifactId>rsyntaxtextarea</artifactId>
|
<artifactId>rsyntaxtextarea</artifactId>
|
||||||
<version>3.1.3</version>
|
<version>${rsyntaxtextarea.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>slf4j-api</artifactId>
|
<artifactId>slf4j-api</artifactId>
|
||||||
<version>1.7.32</version>
|
<version>${slf4j.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.smali</groupId>
|
<groupId>org.smali</groupId>
|
||||||
<artifactId>smali</artifactId>
|
<artifactId>smali</artifactId>
|
||||||
<version>2.5.2</version>
|
<version>${smali.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.smali</groupId>
|
<groupId>org.smali</groupId>
|
||||||
<artifactId>baksmali</artifactId>
|
<artifactId>baksmali</artifactId>
|
||||||
<version>2.5.2</version>
|
<version>${smali.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.yaml</groupId>
|
<groupId>org.yaml</groupId>
|
||||||
<artifactId>snakeyaml</artifactId>
|
<artifactId>snakeyaml</artifactId>
|
||||||
<version>1.29</version>
|
<version>${snakeyaml.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>xpp3</groupId>
|
<groupId>xpp3</groupId>
|
||||||
<artifactId>xpp3</artifactId>
|
<artifactId>xpp3</artifactId>
|
||||||
<version>1.1.4c</version>
|
<version>${xpp3.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.skylot.jadx</groupId>
|
<groupId>com.github.skylot.jadx</groupId>
|
||||||
<artifactId>jadx-core</artifactId>
|
<artifactId>jadx-core</artifactId>
|
||||||
<version>c28e8142f4</version>
|
<version>${jadx.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.skylot.jadx</groupId>
|
<groupId>com.github.skylot.jadx</groupId>
|
||||||
<artifactId>jadx-java-convert</artifactId>
|
<artifactId>jadx-java-convert</artifactId>
|
||||||
<version>c28e8142f4</version>
|
<version>${jadx.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.skylot.jadx</groupId>
|
<groupId>com.github.skylot.jadx</groupId>
|
||||||
<artifactId>jadx-dex-input</artifactId>
|
<artifactId>jadx-dex-input</artifactId>
|
||||||
<version>c28e8142f4</version>
|
<version>${jadx.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.skylot.jadx</groupId>
|
<groupId>com.github.skylot.jadx</groupId>
|
||||||
<artifactId>jadx-smali-input</artifactId>
|
<artifactId>jadx-smali-input</artifactId>
|
||||||
<version>c28e8142f4</version>
|
<version>${jadx.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.ThexXTURBOXx</groupId>
|
<groupId>com.github.ThexXTURBOXx</groupId>
|
||||||
<artifactId>dex2jar</artifactId>
|
<artifactId>dex2jar</artifactId>
|
||||||
<version>v23</version>
|
<version>${dex2jar.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.weisj</groupId>
|
<groupId>com.github.weisj</groupId>
|
||||||
<artifactId>darklaf-core</artifactId>
|
<artifactId>darklaf-core</artifactId>
|
||||||
<version>2.7.2</version>
|
<version>${darklaf.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.weisj</groupId>
|
<groupId>com.github.weisj</groupId>
|
||||||
<artifactId>darklaf-extensions-rsyntaxarea</artifactId>
|
<artifactId>darklaf-extensions-rsyntaxarea</artifactId>
|
||||||
<version>0.3.4</version>
|
<version>${darklaf-extensions-rsta.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.gotson</groupId>
|
<groupId>com.github.gotson</groupId>
|
||||||
<artifactId>webp-imageio</artifactId>
|
<artifactId>webp-imageio</artifactId>
|
||||||
<version>0.2.2</version>
|
<version>${webp-imageio.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>de.skuzzle</groupId>
|
<groupId>de.skuzzle</groupId>
|
||||||
<artifactId>semantic-version</artifactId>
|
<artifactId>semantic-version</artifactId>
|
||||||
<version>2.1.0</version>
|
<version>${semantic-version.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.abego.treelayout</groupId>
|
<groupId>org.abego.treelayout</groupId>
|
||||||
<artifactId>org.abego.treelayout.core</artifactId>
|
<artifactId>org.abego.treelayout.core</artifactId>
|
||||||
<version>1.0.3</version>
|
<version>${treelayout.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.antlr</groupId>
|
<groupId>org.antlr</groupId>
|
||||||
<artifactId>antlr4</artifactId>
|
<artifactId>antlr4</artifactId>
|
||||||
<version>4.9.2</version>
|
<version>${antlr4.version}</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<groupId>com.ibm.icu</groupId>
|
<groupId>com.ibm.icu</groupId>
|
||||||
|
@ -280,12 +320,12 @@
|
||||||
<!--<dependency>
|
<!--<dependency>
|
||||||
<groupId>org.graalvm.js</groupId>
|
<groupId>org.graalvm.js</groupId>
|
||||||
<artifactId>js</artifactId>
|
<artifactId>js</artifactId>
|
||||||
<version>21.2.0</version>
|
<version>${js.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.graalvm.js</groupId>
|
<groupId>org.graalvm.js</groupId>
|
||||||
<artifactId>js-scriptengine</artifactId>
|
<artifactId>js-scriptengine</artifactId>
|
||||||
<version>21.2.0</version>
|
<version>${js.version}</version>
|
||||||
</dependency>-->
|
</dependency>-->
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
@ -325,6 +365,7 @@
|
||||||
<filter>
|
<filter>
|
||||||
<artifact>*:*</artifact>
|
<artifact>*:*</artifact>
|
||||||
<excludes>
|
<excludes>
|
||||||
|
<exclude>module-info.class</exclude>
|
||||||
<exclude>META-INF/*.SF</exclude>
|
<exclude>META-INF/*.SF</exclude>
|
||||||
<exclude>META-INF/*.DSA</exclude>
|
<exclude>META-INF/*.DSA</exclude>
|
||||||
<exclude>META-INF/*.RSA</exclude>
|
<exclude>META-INF/*.RSA</exclude>
|
||||||
|
@ -340,8 +381,12 @@
|
||||||
<mainClass>the.bytecode.club.bytecodeviewer.BytecodeViewer</mainClass>
|
<mainClass>the.bytecode.club.bytecodeviewer.BytecodeViewer</mainClass>
|
||||||
<manifestEntries>
|
<manifestEntries>
|
||||||
<Implementation-Version>${project.version}</Implementation-Version>
|
<Implementation-Version>${project.version}</Implementation-Version>
|
||||||
|
<X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK>
|
||||||
|
<X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK>
|
||||||
</manifestEntries>
|
</manifestEntries>
|
||||||
</transformer>
|
</transformer>
|
||||||
|
<transformer
|
||||||
|
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
|
||||||
</transformers>
|
</transformers>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -5,6 +5,8 @@ import java.io.File;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import the.bytecode.club.bytecodeviewer.util.EncodeUtils;
|
import the.bytecode.club.bytecodeviewer.util.EncodeUtils;
|
||||||
|
|
||||||
|
@ -17,14 +19,14 @@ import the.bytecode.club.bytecodeviewer.util.EncodeUtils;
|
||||||
public class DiskReader {
|
public class DiskReader {
|
||||||
|
|
||||||
public static Random random = new Random();
|
public static Random random = new Random();
|
||||||
public static HashMap<String, ArrayList<String>> map = new HashMap<>();
|
public static Map<String, List<String>> map = new HashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to load from file, allows caching
|
* Used to load from file, allows caching
|
||||||
*/
|
*/
|
||||||
public synchronized static ArrayList<String> loadArrayList(String fileName,
|
public synchronized static List<String> loadArrayList(String fileName,
|
||||||
boolean cache) {
|
boolean cache) {
|
||||||
ArrayList<String> array = new ArrayList<>();
|
List<String> array = new ArrayList<>();
|
||||||
if (!map.containsKey(fileName)) {
|
if (!map.containsKey(fileName)) {
|
||||||
try {
|
try {
|
||||||
File file = new File(fileName);
|
File file = new File(fileName);
|
||||||
|
@ -75,7 +77,7 @@ public class DiskReader {
|
||||||
public static String loadString(String fileName, int lineNumber,
|
public static String loadString(String fileName, int lineNumber,
|
||||||
boolean cache) throws Exception {
|
boolean cache) throws Exception {
|
||||||
|
|
||||||
ArrayList<String> array;
|
List<String> array;
|
||||||
if (!map.containsKey(fileName)) {
|
if (!map.containsKey(fileName)) {
|
||||||
array = new ArrayList<>();
|
array = new ArrayList<>();
|
||||||
File file = new File(fileName);
|
File file = new File(fileName);
|
||||||
|
@ -101,4 +103,4 @@ public class DiskReader {
|
||||||
return array.get(lineNumber);
|
return array.get(lineNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
package me.konloch.kontainer.io;
|
package me.konloch.kontainer.io;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.PrintWriter;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -201,4 +205,4 @@ public class DiskWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,7 +142,7 @@ public class HTTPRequest {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public String[] read() throws Exception {
|
public String[] read() throws Exception {
|
||||||
ArrayList<String> st;
|
List<String> st;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
setup();
|
setup();
|
||||||
|
@ -172,7 +172,7 @@ public class HTTPRequest {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public String[] read(int linesToRead) throws Exception {
|
public String[] read(int linesToRead) throws Exception {
|
||||||
ArrayList<String> st;
|
List<String> st;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
setup();
|
setup();
|
||||||
|
@ -273,4 +273,4 @@ public class HTTPRequest {
|
||||||
connection = null;
|
connection = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
package the.bytecode.club.bytecodeviewer;
|
package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.*;
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import me.konloch.kontainer.io.DiskReader;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.api.BCV;
|
import the.bytecode.club.bytecodeviewer.api.BCV;
|
||||||
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.Boot;
|
import the.bytecode.club.bytecodeviewer.bootloader.Boot;
|
||||||
|
@ -19,20 +20,29 @@ import the.bytecode.club.bytecodeviewer.bootloader.BootState;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.InstallFatJar;
|
import the.bytecode.club.bytecodeviewer.bootloader.InstallFatJar;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.UpdateCheck;
|
import the.bytecode.club.bytecodeviewer.bootloader.UpdateCheck;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.MainViewerGUI;
|
import the.bytecode.club.bytecodeviewer.gui.MainViewerGUI;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.*;
|
import the.bytecode.club.bytecodeviewer.gui.components.ExtendedJOptionPane;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.MultipleChoiceDialog;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourcelist.ResourceListIconRenderer;
|
import the.bytecode.club.bytecodeviewer.gui.resourcelist.ResourceListIconRenderer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.TabbedPane;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.TabbedPane;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginWriter;
|
|
||||||
import the.bytecode.club.bytecodeviewer.obfuscators.mapping.Refactorer;
|
import the.bytecode.club.bytecodeviewer.obfuscators.mapping.Refactorer;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.importing.ImportResource;
|
import the.bytecode.club.bytecodeviewer.resources.importing.ImportResource;
|
||||||
import the.bytecode.club.bytecodeviewer.util.*;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.BootCheck;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.ClassFileUtils;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.LazyNameUtil;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.PingBack;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.SecurityMan;
|
||||||
|
|
||||||
import static javax.swing.JOptionPane.QUESTION_MESSAGE;
|
import static javax.swing.JOptionPane.QUESTION_MESSAGE;
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.DEV_MODE;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.FAT_JAR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.VERSION;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -132,7 +142,7 @@ public class BytecodeViewer
|
||||||
public static MainViewerGUI viewer;
|
public static MainViewerGUI viewer;
|
||||||
|
|
||||||
//All of the opened resources (Files/Classes/Etc)
|
//All of the opened resources (Files/Classes/Etc)
|
||||||
public static LinkedHashMap<String,ResourceContainer> resourceContainers = new LinkedHashMap<>();
|
public static Map<String,ResourceContainer> resourceContainers = new LinkedHashMap<>();
|
||||||
|
|
||||||
//All of the created processes (Decompilers/etc)
|
//All of the created processes (Decompilers/etc)
|
||||||
public static List<Process> createdProcesses = new ArrayList<>();
|
public static List<Process> createdProcesses = new ArrayList<>();
|
||||||
|
@ -422,9 +432,9 @@ public class BytecodeViewer
|
||||||
* @return the loaded classes as an array list
|
* @return the loaded classes as an array list
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static ArrayList<ClassNode> getLoadedClasses()
|
public static List<ClassNode> getLoadedClasses()
|
||||||
{
|
{
|
||||||
ArrayList<ClassNode> a = new ArrayList<>();
|
List<ClassNode> a = new ArrayList<>();
|
||||||
|
|
||||||
for (ResourceContainer container : resourceContainers.values())
|
for (ResourceContainer container : resourceContainers.values())
|
||||||
for (ClassNode c : container.resourceClasses.values())
|
for (ClassNode c : container.resourceClasses.values())
|
||||||
|
|
|
@ -13,7 +13,9 @@ import the.bytecode.club.bytecodeviewer.translation.Language;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.VERSION;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer;
|
package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.BootState;
|
import the.bytecode.club.bytecodeviewer.bootloader.BootState;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.theme.RSTATheme;
|
import the.bytecode.club.bytecodeviewer.gui.theme.RSTATheme;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.Language;
|
import the.bytecode.club.bytecodeviewer.translation.Language;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
@ -139,4 +138,4 @@ public class Configuration
|
||||||
return new File(".");
|
return new File(".");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
package the.bytecode.club.bytecodeviewer;
|
package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
import org.objectweb.asm.Opcodes;
|
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceType;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
import org.objectweb.asm.Opcodes;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.ResourceType;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
package the.bytecode.club.bytecodeviewer;
|
package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.io.File;
|
||||||
|
import javax.swing.JFileChooser;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.FileChooser;
|
import the.bytecode.club.bytecodeviewer.gui.components.FileChooser;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.RunOptions;
|
import the.bytecode.club.bytecodeviewer.gui.components.RunOptions;
|
||||||
import the.bytecode.club.bytecodeviewer.util.DialogUtils;
|
import the.bytecode.club.bytecodeviewer.util.DialogUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,18 +1,20 @@
|
||||||
package the.bytecode.club.bytecodeviewer;
|
package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import me.konloch.kontainer.io.DiskReader;
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import me.konloch.kontainer.io.DiskWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.BytecodeViewer.gson;
|
import static the.bytecode.club.bytecodeviewer.BytecodeViewer.gson;
|
||||||
import static the.bytecode.club.bytecodeviewer.Configuration.maxRecentFiles;
|
import static the.bytecode.club.bytecodeviewer.Configuration.maxRecentFiles;
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.filesName;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.getBCVDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.pluginsName;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package the.bytecode.club.bytecodeviewer;
|
package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import me.konloch.kontainer.io.DiskReader;
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import me.konloch.kontainer.io.DiskWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
|
@ -9,9 +9,8 @@ import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.theme.RSTATheme;
|
import the.bytecode.club.bytecodeviewer.gui.theme.RSTATheme;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.Language;
|
import the.bytecode.club.bytecodeviewer.translation.Language;
|
||||||
|
|
||||||
import java.io.File;
|
import static the.bytecode.club.bytecodeviewer.Constants.VERSION;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.settingsName;
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -8,19 +8,20 @@ import java.util.Enumeration;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.jar.JarEntry;
|
import java.util.jar.JarEntry;
|
||||||
import java.util.jar.JarFile;
|
import java.util.jar.JarFile;
|
||||||
|
import javax.swing.JFrame;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.compilers.Compiler;
|
import the.bytecode.club.bytecodeviewer.compilers.Compiler;
|
||||||
import the.bytecode.club.bytecodeviewer.compilers.InternalCompiler;
|
import the.bytecode.club.bytecodeviewer.compilers.InternalCompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.EZInjection;
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.EZInjection;
|
||||||
import the.bytecode.club.bytecodeviewer.util.DialogUtils;
|
import the.bytecode.club.bytecodeviewer.util.DialogUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.DEV_MODE;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -188,7 +189,7 @@ public class BCV
|
||||||
*
|
*
|
||||||
* @return the loaded classes
|
* @return the loaded classes
|
||||||
*/
|
*/
|
||||||
public static ArrayList<ClassNode> getLoadedClasses() {
|
public static List<ClassNode> getLoadedClasses() {
|
||||||
return the.bytecode.club.bytecodeviewer.BytecodeViewer
|
return the.bytecode.club.bytecodeviewer.BytecodeViewer
|
||||||
.getLoadedClasses();
|
.getLoadedClasses();
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,8 @@ import java.security.cert.Certificate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import org.objectweb.asm.ClassWriter;
|
import org.objectweb.asm.ClassWriter;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
|
|
||||||
|
@ -35,7 +37,7 @@ import org.objectweb.asm.tree.ClassNode;
|
||||||
|
|
||||||
public final class ClassNodeLoader extends ClassLoader
|
public final class ClassNodeLoader extends ClassLoader
|
||||||
{
|
{
|
||||||
private final HashMap<String, ClassNode> classes = new HashMap<>();
|
private final Map<String, ClassNode> classes = new HashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the provided class node to the class loader
|
* Adds the provided class node to the class loader
|
||||||
|
@ -72,7 +74,7 @@ public final class ClassNodeLoader extends ClassLoader
|
||||||
* @return All classes in this loader
|
* @return All classes in this loader
|
||||||
*/
|
*/
|
||||||
public Collection<Class<?>> getAllClasses() {
|
public Collection<Class<?>> getAllClasses() {
|
||||||
ArrayList<Class<?>> classes = new ArrayList<>();
|
List<Class<?>> classes = new ArrayList<>();
|
||||||
for (String s : this.classes.keySet()) {
|
for (String s : this.classes.keySet()) {
|
||||||
try {
|
try {
|
||||||
classes.add(loadClass(s));
|
classes.add(loadClass(s));
|
||||||
|
|
|
@ -1,22 +1,20 @@
|
||||||
package the.bytecode.club.bytecodeviewer.api;
|
package the.bytecode.club.bytecodeviewer.api;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.CardLayout;
|
||||||
|
import java.awt.Dimension;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.JTextArea;
|
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.JFrameConsole;
|
import the.bytecode.club.bytecodeviewer.gui.components.JFrameConsole;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ComponentViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.FAT_JAR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.VERSION;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -144,4 +142,4 @@ public class ExceptionUI extends JFrameConsole
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = -5230501978224926296L;
|
private static final long serialVersionUID = -5230501978224926296L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,14 +2,10 @@ package the.bytecode.club.bytecodeviewer.api;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.strategies.JavascriptPluginLaunchStrategy;
|
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
||||||
|
|
||||||
import javax.script.ScriptEngine;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
@ -99,5 +95,5 @@ public abstract class Plugin extends Thread
|
||||||
*
|
*
|
||||||
* @param classNodeList all of the loaded classes for easy access.
|
* @param classNodeList all of the loaded classes for easy access.
|
||||||
*/
|
*/
|
||||||
public abstract void execute(ArrayList<ClassNode> classNodeList);
|
public abstract void execute(List<ClassNode> classNodeList);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,18 +11,22 @@ import javax.swing.JOptionPane;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import me.konloch.kontainer.io.HTTPRequest;
|
import me.konloch.kontainer.io.HTTPRequest;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
import the.bytecode.club.bytecodeviewer.Constants;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.loader.AbstractLoaderFactory;
|
import the.bytecode.club.bytecodeviewer.bootloader.loader.AbstractLoaderFactory;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.loader.ClassPathLoader;
|
import the.bytecode.club.bytecodeviewer.bootloader.loader.ClassPathLoader;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.loader.ILoader;
|
import the.bytecode.club.bytecodeviewer.bootloader.loader.ILoader;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.resource.external.EmptyExternalResource;
|
import the.bytecode.club.bytecodeviewer.bootloader.resource.external.EmptyExternalResource;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.resource.external.ExternalResource;
|
import the.bytecode.club.bytecodeviewer.bootloader.resource.external.ExternalResource;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
|
||||||
import the.bytecode.club.bytecodeviewer.Constants;
|
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.ZipUtils;
|
import the.bytecode.club.bytecodeviewer.util.ZipUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.getBCVDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.krakatauVersion;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.krakatauWorkingDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -11,10 +11,9 @@ import java.io.IOException;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JProgressBar;
|
import javax.swing.JProgressBar;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.HTMLPane;
|
import the.bytecode.club.bytecodeviewer.gui.components.HTMLPane;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Configuration.language;
|
import static the.bytecode.club.bytecodeviewer.Configuration.language;
|
||||||
|
|
||||||
|
@ -104,4 +103,4 @@ public class InitialBootScreen extends JFrame
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = -1098467609722393444L;
|
private static final long serialVersionUID = -1098467609722393444L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package the.bytecode.club.bytecodeviewer.bootloader;
|
package the.bytecode.club.bytecodeviewer.bootloader;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.Boot;
|
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.AUTOMATIC_LIBRARY_UPDATING;
|
import static the.bytecode.club.bytecodeviewer.Constants.AUTOMATIC_LIBRARY_UPDATING;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
@ -56,4 +54,4 @@ public class InstallFatJar implements Runnable
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
package the.bytecode.club.bytecodeviewer.bootloader;
|
package the.bytecode.club.bytecodeviewer.bootloader;
|
||||||
|
|
||||||
import de.skuzzle.semantic.Version;
|
import de.skuzzle.semantic.Version;
|
||||||
|
import java.awt.Desktop;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.net.URL;
|
||||||
|
import javax.swing.JFileChooser;
|
||||||
import me.konloch.kontainer.io.HTTPRequest;
|
import me.konloch.kontainer.io.HTTPRequest;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
@ -9,13 +18,8 @@ import the.bytecode.club.bytecodeviewer.gui.components.FileChooser;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.MultipleChoiceDialog;
|
import the.bytecode.club.bytecodeviewer.gui.components.MultipleChoiceDialog;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.VERSION;
|
||||||
import java.awt.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
import java.io.*;
|
|
||||||
import java.net.URI;
|
|
||||||
import java.net.URL;
|
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -9,9 +9,9 @@ import java.util.Set;
|
||||||
import org.objectweb.asm.ClassReader;
|
import org.objectweb.asm.ClassReader;
|
||||||
import org.objectweb.asm.ClassWriter;
|
import org.objectweb.asm.ClassWriter;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
|
import the.bytecode.club.bytecodeviewer.bootloader.classtree.ClassTree;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.resource.external.ExternalResource;
|
import the.bytecode.club.bytecodeviewer.bootloader.resource.external.ExternalResource;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.resource.jar.contents.JarContents;
|
import the.bytecode.club.bytecodeviewer.bootloader.resource.jar.contents.JarContents;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.classtree.ClassTree;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -168,4 +168,4 @@ public class LibraryClassLoader extends ClassLoader implements ILoader<JarConten
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,9 +11,9 @@ import java.util.jar.JarEntry;
|
||||||
import java.util.jar.JarFile;
|
import java.util.jar.JarFile;
|
||||||
import org.objectweb.asm.ClassReader;
|
import org.objectweb.asm.ClassReader;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.resource.jar.contents.JarContents;
|
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.resource.jar.JarInfo;
|
import the.bytecode.club.bytecodeviewer.bootloader.resource.jar.JarInfo;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.resource.jar.JarResource;
|
import the.bytecode.club.bytecodeviewer.bootloader.resource.jar.JarResource;
|
||||||
|
import the.bytecode.club.bytecodeviewer.bootloader.resource.jar.contents.JarContents;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -106,4 +106,4 @@ public class ExternalLibrary extends ExternalResource<JarContents<ClassNode>> {
|
||||||
|
|
||||||
return contents;
|
return contents;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,9 @@ import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -5,7 +5,6 @@ import java.io.File;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import me.konloch.kontainer.io.DiskWriter;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
|
@ -18,7 +17,9 @@ import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.krakatauWorkingDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -11,7 +11,8 @@ import the.bytecode.club.bytecodeviewer.util.Enjarify;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.ZipUtils;
|
import the.bytecode.club.bytecodeviewer.util.ZipUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -73,9 +74,9 @@ public class SmaliAssembler extends InternalCompiler
|
||||||
Dex2Jar.dex2Jar(tempDex, tempJar);
|
Dex2Jar.dex2Jar(tempDex, tempJar);
|
||||||
else if (BytecodeViewer.viewer.apkConversionGroup.isSelected(BytecodeViewer.viewer.apkConversionEnjarify.getModel()))
|
else if (BytecodeViewer.viewer.apkConversionGroup.isSelected(BytecodeViewer.viewer.apkConversionEnjarify.getModel()))
|
||||||
Enjarify.apk2Jar(tempDex, tempJar);
|
Enjarify.apk2Jar(tempDex, tempJar);
|
||||||
|
|
||||||
System.out.println("Temporary dex: " + tempDex.getAbsolutePath());
|
System.out.println("Temporary dex: " + tempDex.getAbsolutePath());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
System.out.println("Unzipping to " + tempJarFolder.getAbsolutePath());
|
System.out.println("Unzipping to " + tempJarFolder.getAbsolutePath());
|
||||||
ZipUtils.unzipFilesToPath(tempJar.getAbsolutePath(), tempJarFolder.getAbsolutePath());
|
ZipUtils.unzipFilesToPath(tempJar.getAbsolutePath(), tempJarFolder.getAbsolutePath());
|
||||||
|
@ -95,7 +96,7 @@ public class SmaliAssembler extends InternalCompiler
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Saved as: " + outputClass.getAbsolutePath());
|
System.out.println("Saved as: " + outputClass.getAbsolutePath());
|
||||||
|
|
||||||
return FileUtils.readFileToByteArray(outputClass);
|
return FileUtils.readFileToByteArray(outputClass);
|
||||||
|
|
|
@ -1,6 +1,16 @@
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers;
|
package the.bytecode.club.bytecodeviewer.decompilers;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.impl.*;
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.ASMTextifierDisassembler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.BytecodeDisassembler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.CFRDecompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.FernFlowerDecompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.JADXDecompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.JDGUIDecompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.JavapDisassembler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.KrakatauDecompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.KrakatauDisassembler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.ProcyonDecompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.impl.SmaliDisassembler;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -62,4 +72,4 @@ public enum Decompiler
|
||||||
{
|
{
|
||||||
return decompiler;
|
return decompiler;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ import org.objectweb.asm.tree.InnerClassNode;
|
||||||
import org.objectweb.asm.tree.MethodNode;
|
import org.objectweb.asm.tree.MethodNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -38,9 +38,9 @@ import static the.bytecode.club.bytecodeviewer.Constants.*;
|
||||||
public class ClassNodeDecompiler
|
public class ClassNodeDecompiler
|
||||||
{
|
{
|
||||||
public static PrefixedStringBuilder decompile(
|
public static PrefixedStringBuilder decompile(
|
||||||
PrefixedStringBuilder sb, ArrayList<String> decompiledClasses,
|
PrefixedStringBuilder sb, List<String> decompiledClasses,
|
||||||
ClassNode cn) {
|
ClassNode cn) {
|
||||||
ArrayList<String> unableToDecompile = new ArrayList<>();
|
List<String> unableToDecompile = new ArrayList<>();
|
||||||
decompiledClasses.add(cn.name);
|
decompiledClasses.add(cn.name);
|
||||||
sb.append(getAccessString(cn.access));
|
sb.append(getAccessString(cn.access));
|
||||||
sb.append(" ");
|
sb.append(" ");
|
||||||
|
@ -173,4 +173,4 @@ public class ClassNodeDecompiler
|
||||||
}
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,6 @@ import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.ListIterator;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.apache.commons.text.StringEscapeUtils;
|
import org.apache.commons.text.StringEscapeUtils;
|
||||||
import org.objectweb.asm.Type;
|
import org.objectweb.asm.Type;
|
||||||
|
@ -70,7 +69,7 @@ public class InstructionPrinter {
|
||||||
protected List<AbstractInsnNode> matchedInsns;
|
protected List<AbstractInsnNode> matchedInsns;
|
||||||
protected Map<LabelNode, Integer> labels;
|
protected Map<LabelNode, Integer> labels;
|
||||||
private boolean firstLabel = false;
|
private boolean firstLabel = false;
|
||||||
private final ArrayList<String> info = new ArrayList<>();
|
private final List<String> info = new ArrayList<>();
|
||||||
|
|
||||||
public InstructionPrinter(MethodNode m, TypeAndName[] args) {
|
public InstructionPrinter(MethodNode m, TypeAndName[] args) {
|
||||||
this.args = args;
|
this.args = args;
|
||||||
|
@ -100,7 +99,7 @@ public class InstructionPrinter {
|
||||||
*
|
*
|
||||||
* @return The print as an ArrayList
|
* @return The print as an ArrayList
|
||||||
*/
|
*/
|
||||||
public ArrayList<String> createPrint() {
|
public List<String> createPrint() {
|
||||||
firstLabel = false;
|
firstLabel = false;
|
||||||
info.clear();
|
info.clear();
|
||||||
for (AbstractInsnNode ain : mNode.instructions) {
|
for (AbstractInsnNode ain : mNode.instructions) {
|
||||||
|
|
|
@ -12,7 +12,7 @@ import org.objectweb.asm.tree.MethodNode;
|
||||||
import org.objectweb.asm.tree.TryCatchBlockNode;
|
import org.objectweb.asm.tree.TryCatchBlockNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -246,4 +246,4 @@ public class MethodNodeDecompiler {
|
||||||
}
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.bytecode.ClassNodeDecompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.bytecode.ClassNodeDecompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.bytecode.PrefixedStringBuilder;
|
import the.bytecode.club.bytecodeviewer.decompilers.bytecode.PrefixedStringBuilder;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -21,8 +21,11 @@ import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.CFR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.ERROR;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -13,8 +13,12 @@ import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.LAUNCH_DECOMPILERS_IN_NEW_PROCESS;
|
||||||
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.ERROR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.FERNFLOWER;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -16,8 +16,11 @@ import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.ERROR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.JADX;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -6,23 +6,24 @@ import java.io.IOException;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.jdgui.DirectoryLoader;
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.jdgui.CommonPreferences;
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.jdgui.PlainTextPrinter;
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.jdgui.JDGUIClassFileUtil;
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import me.konloch.kontainer.io.DiskReader;
|
||||||
import org.jd.core.v1.ClassFileToJavaSourceDecompiler;
|
import org.jd.core.v1.ClassFileToJavaSourceDecompiler;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Constants;
|
import the.bytecode.club.bytecodeviewer.Constants;
|
||||||
|
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.jdgui.CommonPreferences;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.jdgui.DirectoryLoader;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.jdgui.JDGUIClassFileUtil;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.jdgui.PlainTextPrinter;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.ERROR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.JDGUI;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -123,4 +124,4 @@ public class JDGUIDecompiler extends InternalDecompiler
|
||||||
@Override
|
@Override
|
||||||
public void decompileToZip(String sourceJar, String zipName) {
|
public void decompileToZip(String sourceJar, String zipName) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLClassLoader;
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import me.konloch.kontainer.io.DiskWriter;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
@ -10,11 +14,6 @@ import the.bytecode.club.bytecodeviewer.gui.components.JFrameConsolePrintStream;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ExternalResources;
|
import the.bytecode.club.bytecodeviewer.resources.ExternalResources;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.net.URLClassLoader;
|
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
import static the.bytecode.club.bytecodeviewer.api.ExceptionUI.SEND_STACKTRACE_TO;
|
import static the.bytecode.club.bytecodeviewer.api.ExceptionUI.SEND_STACKTRACE_TO;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,10 @@ import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.ZipUtils;
|
import the.bytecode.club.bytecodeviewer.util.ZipUtils;
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.krakatauWorkingDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -20,7 +20,9 @@ import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.ZipUtils;
|
import the.bytecode.club.bytecodeviewer.util.ZipUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.krakatauWorkingDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -38,8 +38,11 @@ import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.EncodeUtils;
|
import the.bytecode.club.bytecodeviewer.util.EncodeUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.ERROR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.PROCYON;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -10,15 +10,18 @@ import me.konloch.kontainer.io.DiskReader;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Constants;
|
|
||||||
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.Dex2Jar;
|
import the.bytecode.club.bytecodeviewer.util.Dex2Jar;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.DISASSEMBLER;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.ERROR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.translation.TranslatedStrings.SMALI;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -3,7 +3,6 @@ package the.bytecode.club.bytecodeviewer.decompilers.jdgui;
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
||||||
import org.jd.core.v1.api.printer.Printer;
|
import org.jd.core.v1.api.printer.Printer;
|
||||||
|
|
||||||
public class PlainTextPrinter implements Printer, Closeable {
|
public class PlainTextPrinter implements Printer, Closeable {
|
||||||
|
|
|
@ -1,15 +1,38 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui;
|
package the.bytecode.club.bytecodeviewer.gui;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.Component;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.KeyboardFocusManager;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import javax.swing.*;
|
import javax.swing.BoxLayout;
|
||||||
|
import javax.swing.ButtonGroup;
|
||||||
import the.bytecode.club.bytecodeviewer.*;
|
import javax.swing.JCheckBoxMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.*;
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JMenuBar;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButtonMenuItem;
|
||||||
|
import javax.swing.JSeparator;
|
||||||
|
import javax.swing.JSpinner;
|
||||||
|
import javax.swing.JSplitPane;
|
||||||
|
import javax.swing.SpinnerNumberModel;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
import the.bytecode.club.bytecodeviewer.Constants;
|
||||||
|
import the.bytecode.club.bytecodeviewer.SettingsSerializer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.AboutWindow;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.FileChooser;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.MultipleChoiceDialog;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.RunOptions;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.SettingsDialog;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.VisibleComponent;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.WaitBusyIcon;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.plugins.MaliciousCodeScannerOptions;
|
import the.bytecode.club.bytecodeviewer.gui.plugins.MaliciousCodeScannerOptions;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.plugins.ReplaceStringsOptions;
|
import the.bytecode.club.bytecodeviewer.gui.plugins.ReplaceStringsOptions;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourcelist.ResourceListPane;
|
import the.bytecode.club.bytecodeviewer.gui.resourcelist.ResourceListPane;
|
||||||
|
@ -25,23 +48,38 @@ import the.bytecode.club.bytecodeviewer.obfuscators.rename.RenameFields;
|
||||||
import the.bytecode.club.bytecodeviewer.obfuscators.rename.RenameMethods;
|
import the.bytecode.club.bytecodeviewer.obfuscators.rename.RenameMethods;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginTemplate;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginTemplate;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.*;
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.AllatoriStringDecrypter;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ChangeClassFileVersions;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.CodeSequenceDiagram;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ShowAllStrings;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ShowMainMethods;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.StackFramesRemover;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ViewAPKAndroidPermissions;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ViewManifest;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ZKMStringDecrypter;
|
||||||
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ZStringArrayDecrypter;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ExternalResources;
|
import the.bytecode.club.bytecodeviewer.resources.ExternalResources;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.exporting.Export;
|
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBoxMenuItem;
|
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJRadioButtonMenuItem;
|
|
||||||
import the.bytecode.club.bytecodeviewer.util.*;
|
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceDecompiling;
|
import the.bytecode.club.bytecodeviewer.resources.ResourceDecompiling;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.exporting.Export;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.Language;
|
import the.bytecode.club.bytecodeviewer.translation.Language;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBoxMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJMenu;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJMenu;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJMenuItem;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJMenuItem;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJRadioButtonMenuItem;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.DialogUtils;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.KeyEventDispatch;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.LazyNameUtil;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.WindowClosingAdapter;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.WindowStateChangeAdapter;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Configuration.useNewSettingsDialog;
|
import static the.bytecode.club.bytecodeviewer.Configuration.useNewSettingsDialog;
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.VERSION;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.fs;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -72,7 +110,7 @@ public class MainViewerGUI extends JFrame
|
||||||
public final List<JMenuItem> waitIcons = new ArrayList<>();
|
public final List<JMenuItem> waitIcons = new ArrayList<>();
|
||||||
|
|
||||||
//main UI components
|
//main UI components
|
||||||
public final ArrayList<VisibleComponent> uiComponents = new ArrayList<>();
|
public final List<VisibleComponent> uiComponents = new ArrayList<>();
|
||||||
public final Workspace workPane = new Workspace();
|
public final Workspace workPane = new Workspace();
|
||||||
public final ResourceListPane resourcePane = new ResourceListPane();
|
public final ResourceListPane resourcePane = new ResourceListPane();
|
||||||
public final SearchBoxPane searchBoxPane = new SearchBoxPane();
|
public final SearchBoxPane searchBoxPane = new SearchBoxPane();
|
||||||
|
@ -877,7 +915,7 @@ public class MainViewerGUI extends JFrame
|
||||||
if (dialog.promptChoice() == 0)
|
if (dialog.promptChoice() == 0)
|
||||||
{
|
{
|
||||||
LazyNameUtil.reset();
|
LazyNameUtil.reset();
|
||||||
ArrayList<File> reopen = new ArrayList<>();
|
List<File> reopen = new ArrayList<>();
|
||||||
|
|
||||||
for (ResourceContainer container : BytecodeViewer.resourceContainers.values())
|
for (ResourceContainer container : BytecodeViewer.resourceContainers.values())
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.CardLayout;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.InitialBootScreen;
|
import the.bytecode.club.bytecodeviewer.bootloader.InitialBootScreen;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Configuration.*;
|
import static the.bytecode.club.bytecodeviewer.Configuration.language;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import javax.swing.*;
|
import java.awt.Component;
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
import javax.swing.AbstractButton;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,14 +1,20 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import javax.swing.ButtonGroup;
|
||||||
|
import javax.swing.JCheckBoxMenuItem;
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JRadioButtonMenuItem;
|
||||||
|
import javax.swing.JSeparator;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.WorkspaceRefreshEvent;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBoxMenuItem;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBoxMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJRadioButtonMenuItem;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJRadioButtonMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.WorkspaceRefreshEvent;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.BYTECODE;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.BYTECODE_NON_EDITABLE;
|
||||||
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.*;
|
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.JAVA;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.JAVA_AND_BYTECODE;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -116,4 +122,4 @@ public class DecompilerViewComponent
|
||||||
BYTECODE_NON_EDITABLE,
|
BYTECODE_NON_EDITABLE,
|
||||||
JAVA_AND_BYTECODE
|
JAVA_AND_BYTECODE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,26 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.HeadlessException;
|
||||||
|
import javax.swing.Icon;
|
||||||
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JRootPane;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.UIManager;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
|
||||||
import javax.swing.*;
|
import static javax.swing.JOptionPane.CLOSED_OPTION;
|
||||||
import java.awt.*;
|
import static javax.swing.JOptionPane.DEFAULT_OPTION;
|
||||||
|
import static javax.swing.JOptionPane.ERROR_MESSAGE;
|
||||||
import static javax.swing.JOptionPane.*;
|
import static javax.swing.JOptionPane.INFORMATION_MESSAGE;
|
||||||
|
import static javax.swing.JOptionPane.OK_CANCEL_OPTION;
|
||||||
|
import static javax.swing.JOptionPane.PLAIN_MESSAGE;
|
||||||
|
import static javax.swing.JOptionPane.QUESTION_MESSAGE;
|
||||||
|
import static javax.swing.JOptionPane.UNINITIALIZED_VALUE;
|
||||||
|
import static javax.swing.JOptionPane.WARNING_MESSAGE;
|
||||||
|
import static javax.swing.JOptionPane.getRootFrame;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -228,4 +243,4 @@ public class ExtendedJOptionPane
|
||||||
{
|
{
|
||||||
void onCreate(JDialog dialog);
|
void onCreate(JDialog dialog);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import javax.swing.filechooser.FileFilter;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import javax.swing.JFileChooser;
|
||||||
|
import javax.swing.filechooser.FileFilter;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -41,7 +41,7 @@ public class FileChooser extends JFileChooser
|
||||||
|
|
||||||
public FileChooser(boolean skipFileFilter, File file, String title, String description, String... extensions)
|
public FileChooser(boolean skipFileFilter, File file, String title, String description, String... extensions)
|
||||||
{
|
{
|
||||||
HashSet<String> extensionSet = new HashSet<>(Arrays.asList(extensions));
|
Set<String> extensionSet = new HashSet<>(Arrays.asList(extensions));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if(file.isDirectory())
|
if(file.isDirectory())
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.InitialBootScreen;
|
import javax.swing.JEditorPane;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import javax.swing.text.html.HTMLEditorKit;
|
import javax.swing.text.html.HTMLEditorKit;
|
||||||
import java.io.IOException;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
import the.bytecode.club.bytecodeviewer.bootloader.InitialBootScreen;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.BCVDir;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.FAT_JAR;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.enjarifyVersion;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.enjarifyWorkingDirectory;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.krakatauVersion;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.Constants.krakatauWorkingDirectory;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -83,4 +87,4 @@ public class HTMLPane extends JEditorPane
|
||||||
return s.hasNext() ? s.next() : "";
|
return s.hasNext() ? s.next() : "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import javax.swing.*;
|
import java.awt.Image;
|
||||||
import java.awt.*;
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.io.File;
|
||||||
|
import javax.swing.JFrame;
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import me.konloch.kontainer.io.DiskWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
import static the.bytecode.club.bytecodeviewer.Constants.tempDirectory;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.Constants;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import the.bytecode.club.bytecodeviewer.Constants;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JTabbedPane;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import javax.swing.*;
|
import java.awt.Dimension;
|
||||||
import java.awt.*;
|
import java.awt.Graphics;
|
||||||
|
import javax.swing.Icon;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
|
import javax.swing.UIManager;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -2,9 +2,9 @@ package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import javax.swing.*;
|
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
import javax.swing.JTextArea;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import javax.swing.*;
|
import java.awt.Dimension;
|
||||||
import java.awt.*;
|
import javax.swing.JLabel;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JList;
|
||||||
|
import javax.swing.ListCellRenderer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.util.BytecodeViewPanelUpdater;
|
import the.bytecode.club.bytecodeviewer.gui.util.BytecodeViewPanelUpdater;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MethodParser;
|
import the.bytecode.club.bytecodeviewer.util.MethodParser;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -6,11 +6,10 @@ import javax.swing.JCheckBox;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
|
||||||
import the.bytecode.club.bytecodeviewer.api.ASMResourceUtil;
|
import the.bytecode.club.bytecodeviewer.api.ASMResourceUtil;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.EZInjection;
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.EZInjection;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,19 +1,25 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import java.awt.BorderLayout;
|
||||||
import the.bytecode.club.bytecodeviewer.GlobalHotKeys;
|
import java.awt.Font;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.listeners.PressKeyListener;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.listeners.ReleaseKeyListener;
|
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBox;
|
|
||||||
import the.bytecode.club.bytecodeviewer.util.JTextAreaUtils;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.event.InputEvent;
|
import java.awt.event.InputEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.MouseWheelListener;
|
import java.awt.event.MouseWheelListener;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JCheckBox;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTextArea;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.GlobalHotKeys;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.listeners.PressKeyListener;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.components.listeners.ReleaseKeyListener;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBox;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.JTextAreaUtils;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,25 +1,31 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.event.InputEvent;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.MouseWheelListener;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JCheckBox;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import javax.swing.text.BadLocationException;
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.GlobalHotKeys;
|
import the.bytecode.club.bytecodeviewer.GlobalHotKeys;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.listeners.PressKeyListener;
|
import the.bytecode.club.bytecodeviewer.gui.components.listeners.PressKeyListener;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.listeners.ReleaseKeyListener;
|
import the.bytecode.club.bytecodeviewer.gui.components.listeners.ReleaseKeyListener;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBox;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBox;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JTextAreaUtils;
|
import the.bytecode.club.bytecodeviewer.util.JTextAreaUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import javax.swing.text.BadLocationException;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.event.InputEvent;
|
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
import java.awt.event.MouseWheelListener;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import javax.swing.*;
|
import java.awt.Component;
|
||||||
import java.awt.*;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import javax.swing.BoxLayout;
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Configuration.useNewSettingsDialog;
|
import static the.bytecode.club.bytecodeviewer.Configuration.useNewSettingsDialog;
|
||||||
|
|
||||||
|
@ -95,4 +101,4 @@ public class SettingsDialog extends JScrollPane
|
||||||
|
|
||||||
return menu.getText();
|
return menu.getText();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import com.github.weisj.darklaf.icons.ThemedSVGIcon;
|
import com.github.weisj.darklaf.icons.ThemedSVGIcon;
|
||||||
|
import javax.swing.BorderFactory;
|
||||||
|
import javax.swing.JInternalFrame;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.Workspace;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.Workspace;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
|
||||||
import javax.swing.JInternalFrame;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
@ -65,4 +64,4 @@ public abstract class VisibleComponent extends JInternalFrame
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = -6453413772343643526L;
|
private static final long serialVersionUID = -6453413772343643526L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
|
import javax.swing.Icon;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components.listeners;
|
package the.bytecode.club.bytecodeviewer.gui.components.listeners;
|
||||||
|
|
||||||
import java.awt.event.*;
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.awt.event.MouseListener;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu;
|
||||||
|
|
||||||
|
import javax.swing.JPopupMenu;
|
||||||
|
import javax.swing.tree.TreePath;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourcelist.ResourceTree;
|
import the.bytecode.club.bytecodeviewer.gui.resourcelist.ResourceTree;
|
||||||
import the.bytecode.club.bytecodeviewer.searching.LDCSearchTreeNodeResult;
|
import the.bytecode.club.bytecodeviewer.searching.LDCSearchTreeNodeResult;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import javax.swing.tree.TreePath;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,16 +1,19 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import java.util.ArrayList;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourcelist.ResourceTree;
|
import java.util.List;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist.*;
|
import javax.swing.JPopupMenu;
|
||||||
import the.bytecode.club.bytecodeviewer.searching.LDCSearchTreeNodeResult;
|
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import javax.swing.tree.DefaultMutableTreeNode;
|
import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
import javax.swing.tree.TreePath;
|
import javax.swing.tree.TreePath;
|
||||||
import java.awt.event.ActionEvent;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist.Collapse;
|
||||||
import java.util.ArrayList;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist.Expand;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist.New;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist.Open;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist.QuickEdit;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist.QuickOpen;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist.Remove;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.resourcelist.ResourceTree;
|
||||||
|
import the.bytecode.club.bytecodeviewer.searching.LDCSearchTreeNodeResult;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -37,7 +40,7 @@ import java.util.ArrayList;
|
||||||
public class ContextMenu
|
public class ContextMenu
|
||||||
{
|
{
|
||||||
private static ContextMenu SINGLETON = new ContextMenu();
|
private static ContextMenu SINGLETON = new ContextMenu();
|
||||||
private final ArrayList<ContextMenuItem> contextMenuItems = new ArrayList<>();
|
private final List<ContextMenuItem> contextMenuItems = new ArrayList<>();
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import javax.swing.AbstractAction;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import javax.swing.AbstractAction;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
||||||
|
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
|
import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
|
import javax.swing.tree.TreeNode;
|
||||||
|
import javax.swing.tree.TreePath;
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
@ -9,12 +15,6 @@ import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import javax.swing.tree.DefaultMutableTreeNode;
|
|
||||||
import javax.swing.tree.TreeNode;
|
|
||||||
import javax.swing.tree.TreePath;
|
|
||||||
import java.util.Enumeration;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
@ -171,4 +171,4 @@ public class New extends ContextMenuItem
|
||||||
FILE,
|
FILE,
|
||||||
DIRECTORY,
|
DIRECTORY,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import javax.swing.AbstractAction;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
||||||
|
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
||||||
|
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.resourcelist;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import javax.swing.AbstractAction;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.searchbox;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.searchbox;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import javax.swing.AbstractAction;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.searchbox;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.searchbox;
|
||||||
|
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.contextmenu.searchbox;
|
package the.bytecode.club.bytecodeviewer.gui.contextmenu.searchbox;
|
||||||
|
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuItem;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenuType;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,18 +1,26 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.hexviewer;
|
package the.bytecode.club.bytecodeviewer.gui.hexviewer;
|
||||||
|
|
||||||
import java.awt.Graphics2D;
|
|
||||||
import java.awt.RenderingHints;
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.FontMetrics;
|
import java.awt.FontMetrics;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.event.*;
|
import java.awt.RenderingHints;
|
||||||
import javax.swing.*;
|
import java.awt.event.AdjustmentEvent;
|
||||||
|
import java.awt.event.AdjustmentListener;
|
||||||
|
import java.awt.event.FocusEvent;
|
||||||
|
import java.awt.event.FocusListener;
|
||||||
|
import java.awt.event.InputEvent;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.MouseWheelEvent;
|
||||||
|
import java.awt.event.MouseWheelListener;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollBar;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.hexviewer;
|
package the.bytecode.club.bytecodeviewer.gui.hexviewer;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.FontMetrics;
|
import java.awt.FontMetrics;
|
||||||
|
@ -11,6 +9,7 @@ import java.awt.event.KeyListener;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.MouseListener;
|
import java.awt.event.MouseListener;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author laullon
|
* @author laullon
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.plugins;
|
package the.bytecode.club.bytecodeviewer.gui.plugins;
|
||||||
|
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JCheckBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
|
||||||
import the.bytecode.club.bytecodeviewer.malwarescanner.MalwareScanModule;
|
import the.bytecode.club.bytecodeviewer.malwarescanner.MalwareScanModule;
|
||||||
import the.bytecode.club.bytecodeviewer.malwarescanner.util.MaliciousCodeOptions;
|
import the.bytecode.club.bytecodeviewer.malwarescanner.util.MaliciousCodeOptions;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.MaliciousCodeScanner;
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.MaliciousCodeScanner;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -54,7 +56,7 @@ public class MaliciousCodeScannerOptions extends JFrame
|
||||||
setResizable(false);
|
setResizable(false);
|
||||||
setTitle("Malicious Code Scanner Options");
|
setTitle("Malicious Code Scanner Options");
|
||||||
getContentPane().setLayout(null);
|
getContentPane().setLayout(null);
|
||||||
ArrayList<MaliciousCodeOptions> checkBoxes = new ArrayList<>();
|
List<MaliciousCodeOptions> checkBoxes = new ArrayList<>();
|
||||||
|
|
||||||
int y = 7;
|
int y = 7;
|
||||||
for(MalwareScanModule module : MalwareScanModule.values())
|
for(MalwareScanModule module : MalwareScanModule.values())
|
||||||
|
@ -80,4 +82,4 @@ public class MaliciousCodeScannerOptions extends JFrame
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = -2662514582647810868L;
|
private static final long serialVersionUID = -2662514582647810868L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,10 @@ import javax.swing.JCheckBox;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ReplaceStrings;
|
import the.bytecode.club.bytecodeviewer.plugin.preinstalled.ReplaceStrings;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,16 +1,18 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JTree;
|
||||||
|
import javax.swing.tree.DefaultTreeCellRenderer;
|
||||||
|
import javax.swing.tree.TreeNode;
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceType;
|
import the.bytecode.club.bytecodeviewer.resources.ResourceType;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import javax.swing.tree.DefaultTreeCellRenderer;
|
|
||||||
import javax.swing.tree.TreeNode;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author http://stackoverflow.com/questions/14968005
|
* @author http://stackoverflow.com/questions/14968005
|
||||||
* @author Konloch
|
* @author Konloch
|
||||||
|
@ -19,7 +21,7 @@ import java.util.HashMap;
|
||||||
public class ResourceListIconRenderer extends DefaultTreeCellRenderer
|
public class ResourceListIconRenderer extends DefaultTreeCellRenderer
|
||||||
{
|
{
|
||||||
//TODO the icon cache needs to be cleared on treenode removal
|
//TODO the icon cache needs to be cleared on treenode removal
|
||||||
public static HashMap<ResourceTreeNode, ImageIcon> iconCache = new HashMap<>();
|
public static Map<ResourceTreeNode, ImageIcon> iconCache = new HashMap<>();
|
||||||
|
|
||||||
//called every time there is a pane update
|
//called every time there is a pane update
|
||||||
@Override
|
@Override
|
||||||
|
@ -76,8 +78,8 @@ public class ResourceListIconRenderer extends DefaultTreeCellRenderer
|
||||||
//folders
|
//folders
|
||||||
if (node.getChildCount() > 0)
|
if (node.getChildCount() > 0)
|
||||||
{
|
{
|
||||||
ArrayList<TreeNode> nodes = new ArrayList<>();
|
List<TreeNode> nodes = new ArrayList<>();
|
||||||
ArrayList<TreeNode> totalNodes = new ArrayList<>();
|
List<TreeNode> totalNodes = new ArrayList<>();
|
||||||
|
|
||||||
nodes.add(node);
|
nodes.add(node);
|
||||||
totalNodes.add(node);
|
totalNodes.add(node);
|
||||||
|
|
|
@ -12,22 +12,27 @@ import java.awt.event.MouseEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import javax.swing.*;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JCheckBox;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JPopupMenu;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.JTree;
|
||||||
import javax.swing.tree.TreeNode;
|
import javax.swing.tree.TreeNode;
|
||||||
import javax.swing.tree.TreePath;
|
import javax.swing.tree.TreePath;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import me.konloch.kontainer.io.DiskWriter;
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenu;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenu;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.importing.Import;
|
import the.bytecode.club.bytecodeviewer.resources.importing.Import;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBox;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBox;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJTextField;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJTextField;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedVisibleComponent;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedVisibleComponent;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.util.FileDrop;
|
import the.bytecode.club.bytecodeviewer.util.FileDrop;
|
||||||
import the.bytecode.club.bytecodeviewer.util.LazyNameUtil;
|
import the.bytecode.club.bytecodeviewer.util.LazyNameUtil;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
@ -501,4 +506,4 @@ public class ResourceListPane extends TranslatedVisibleComponent implements File
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.RenderingHints;
|
||||||
|
import javax.swing.JTree;
|
||||||
|
import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.util.StringMetricsUtil;
|
import the.bytecode.club.bytecodeviewer.gui.util.StringMetricsUtil;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import javax.swing.tree.DefaultMutableTreeNode;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
||||||
|
|
||||||
|
import java.util.Comparator;
|
||||||
import javax.swing.tree.DefaultMutableTreeNode;
|
import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
import javax.swing.tree.MutableTreeNode;
|
import javax.swing.tree.MutableTreeNode;
|
||||||
import java.util.Comparator;
|
|
||||||
import javax.swing.tree.TreeNode;
|
import javax.swing.tree.TreeNode;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
|
||||||
|
|
||||||
import javax.swing.tree.TreeNode;
|
|
||||||
import javax.swing.tree.TreePath;
|
|
||||||
import java.awt.event.KeyAdapter;
|
import java.awt.event.KeyAdapter;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
|
import javax.swing.tree.TreeNode;
|
||||||
|
import javax.swing.tree.TreePath;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,17 +1,14 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourcesearch;
|
package the.bytecode.club.bytecodeviewer.gui.resourcesearch;
|
||||||
|
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.searching.BackgroundSearchThread;
|
|
||||||
import the.bytecode.club.bytecodeviewer.searching.RegexInsnFinder;
|
|
||||||
import the.bytecode.club.bytecodeviewer.searching.impl.LDCSearch;
|
|
||||||
import the.bytecode.club.bytecodeviewer.searching.impl.RegexSearch;
|
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
|
||||||
|
|
||||||
import javax.swing.tree.TreePath;
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.regex.PatternSyntaxException;
|
import java.util.regex.PatternSyntaxException;
|
||||||
|
import javax.swing.tree.TreePath;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.searching.BackgroundSearchThread;
|
||||||
|
import the.bytecode.club.bytecodeviewer.searching.RegexInsnFinder;
|
||||||
|
import the.bytecode.club.bytecodeviewer.searching.impl.RegexSearch;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -6,10 +6,16 @@ import java.awt.event.ItemListener;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import javax.swing.*;
|
import javax.swing.DefaultComboBoxModel;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JCheckBox;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JPopupMenu;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTree;
|
||||||
import javax.swing.tree.DefaultTreeModel;
|
import javax.swing.tree.DefaultTreeModel;
|
||||||
import javax.swing.tree.TreePath;
|
import javax.swing.tree.TreePath;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenu;
|
import the.bytecode.club.bytecodeviewer.gui.contextmenu.ContextMenu;
|
||||||
|
@ -17,7 +23,11 @@ import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer
|
||||||
import the.bytecode.club.bytecodeviewer.searching.BackgroundSearchThread;
|
import the.bytecode.club.bytecodeviewer.searching.BackgroundSearchThread;
|
||||||
import the.bytecode.club.bytecodeviewer.searching.LDCSearchTreeNodeResult;
|
import the.bytecode.club.bytecodeviewer.searching.LDCSearchTreeNodeResult;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.*;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedDefaultMutableTreeNode;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJButton;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJCheckBox;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJLabel;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedVisibleComponent;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -242,4 +252,4 @@ public class SearchBoxPane extends TranslatedVisibleComponent
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = -1098524689236993932L;
|
private static final long serialVersionUID = -1098524689236993932L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.compilers.Compiler;
|
import the.bytecode.club.bytecodeviewer.compilers.Compiler;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
|
@ -10,9 +14,6 @@ import the.bytecode.club.bytecodeviewer.gui.util.BytecodeViewPanelUpdater;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
import static the.bytecode.club.bytecodeviewer.Constants.nl;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.swing.AbstractButton;
|
||||||
|
import javax.swing.ButtonGroup;
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JRadioButtonMenuItem;
|
||||||
|
import javax.swing.JSeparator;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.SettingsSerializer;
|
import the.bytecode.club.bytecodeviewer.SettingsSerializer;
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.BootState;
|
import the.bytecode.club.bytecodeviewer.bootloader.BootState;
|
||||||
|
@ -9,14 +18,10 @@ import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJMenu;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJMenu;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJRadioButtonMenuItem;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJRadioButtonMenuItem;
|
||||||
|
|
||||||
import javax.swing.*;
|
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.BYTECODE;
|
||||||
|
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.BYTECODE_NON_EDITABLE;
|
||||||
import java.util.ArrayList;
|
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.JAVA;
|
||||||
import java.util.Arrays;
|
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.JAVA_AND_BYTECODE;
|
||||||
import java.util.Enumeration;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.gui.components.DecompilerViewComponent.DecompilerComponentType.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
||||||
|
|
||||||
import javax.swing.*;
|
import java.awt.BasicStroke;
|
||||||
import javax.swing.plaf.basic.BasicButtonUI;
|
import java.awt.Color;
|
||||||
import java.awt.*;
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import javax.swing.BorderFactory;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.plaf.basic.BasicButtonUI;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import java.awt.Component;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.FileViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.resources.Resource;
|
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.event.ContainerEvent;
|
import java.awt.event.ContainerEvent;
|
||||||
import java.awt.event.ContainerListener;
|
import java.awt.event.ContainerListener;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -8,8 +8,14 @@ import java.awt.event.InputEvent;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.MouseListener;
|
import java.awt.event.MouseListener;
|
||||||
import javax.swing.*;
|
import javax.swing.BorderFactory;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JPopupMenu;
|
||||||
|
import javax.swing.JTabbedPane;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.ButtonHoverAnimation;
|
import the.bytecode.club.bytecodeviewer.gui.components.ButtonHoverAnimation;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.MaxWidthJLabel;
|
import the.bytecode.club.bytecodeviewer.gui.components.MaxWidthJLabel;
|
||||||
|
@ -252,4 +258,4 @@ public class TabbedPane extends JPanel
|
||||||
|
|
||||||
private static final long serialVersionUID = -4774885688297538774L;
|
private static final long serialVersionUID = -4774885688297538774L;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,28 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.Rectangle;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.MouseListener;
|
import java.awt.event.MouseListener;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import javax.swing.*;
|
import java.util.Set;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JPopupMenu;
|
||||||
|
import javax.swing.JTabbedPane;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.FileViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.FileViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJButton;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedJButton;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedVisibleComponent;
|
import the.bytecode.club.bytecodeviewer.translation.components.TranslatedVisibleComponent;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.BLOCK_TAB_MENU;
|
import static the.bytecode.club.bytecodeviewer.Constants.BLOCK_TAB_MENU;
|
||||||
|
|
||||||
|
@ -50,7 +57,7 @@ public class Workspace extends TranslatedVisibleComponent
|
||||||
public final JTabbedPane tabs;
|
public final JTabbedPane tabs;
|
||||||
public final JPanel buttonPanel;
|
public final JPanel buttonPanel;
|
||||||
public final JButton refreshClass;
|
public final JButton refreshClass;
|
||||||
public final HashSet<String> openedTabs = new HashSet<>();
|
public final Set<String> openedTabs = new HashSet<>();
|
||||||
|
|
||||||
public Workspace()
|
public Workspace()
|
||||||
{
|
{
|
||||||
|
@ -253,4 +260,4 @@ public class Workspace extends TranslatedVisibleComponent
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = 6542337997679487946L;
|
private static final long serialVersionUID = 6542337997679487946L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.FileViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.api.ASMUtil;
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.BytecodeViewPanel;
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Container;
|
import java.awt.Container;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
|
@ -18,14 +14,15 @@ import javax.swing.JSplitPane;
|
||||||
import javax.swing.JViewport;
|
import javax.swing.JViewport;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.text.BadLocationException;
|
import javax.swing.text.BadLocationException;
|
||||||
|
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.SettingsSerializer;
|
import the.bytecode.club.bytecodeviewer.SettingsSerializer;
|
||||||
|
import the.bytecode.club.bytecodeviewer.api.ASMUtil;
|
||||||
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.BytecodeViewPanel;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.Resource;
|
import the.bytecode.club.bytecodeviewer.resources.Resource;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
|
||||||
import the.bytecode.club.bytecodeviewer.util.MethodParser;
|
import the.bytecode.club.bytecodeviewer.util.MethodParser;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.util.MethodParser.Method;
|
import static the.bytecode.club.bytecodeviewer.util.MethodParser.Method;
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Component;
|
||||||
|
import javax.swing.JButton;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.Resource;
|
import the.bytecode.club.bytecodeviewer.resources.Resource;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -7,7 +7,6 @@ import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
import org.imgscalr.Scalr;
|
import org.imgscalr.Scalr;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JPanel;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.TabbedPane;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.TabbedPane;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.Resource;
|
import the.bytecode.club.bytecodeviewer.resources.Resource;
|
||||||
|
@ -74,4 +74,4 @@ public abstract class ResourceViewer extends JPanel
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = -2965538493489119191L;
|
private static final long serialVersionUID = -2965538493489119191L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.synchronizedscroll;
|
package the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.synchronizedscroll;
|
||||||
|
|
||||||
import org.objectweb.asm.Type;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import org.objectweb.asm.Type;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
|
|
@ -1,16 +1,24 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.theme;
|
package the.bytecode.club.bytecodeviewer.gui.theme;
|
||||||
|
|
||||||
import com.github.weisj.darklaf.LafManager;
|
import com.github.weisj.darklaf.LafManager;
|
||||||
import com.github.weisj.darklaf.theme.*;
|
import com.github.weisj.darklaf.theme.DarculaTheme;
|
||||||
|
import com.github.weisj.darklaf.theme.HighContrastDarkTheme;
|
||||||
|
import com.github.weisj.darklaf.theme.HighContrastLightTheme;
|
||||||
|
import com.github.weisj.darklaf.theme.IntelliJTheme;
|
||||||
|
import com.github.weisj.darklaf.theme.OneDarkTheme;
|
||||||
|
import com.github.weisj.darklaf.theme.SolarizedDarkTheme;
|
||||||
|
import com.github.weisj.darklaf.theme.SolarizedLightTheme;
|
||||||
|
import java.awt.Dialog;
|
||||||
|
import javax.swing.JInternalFrame;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import javax.swing.UIManager;
|
||||||
|
import javax.swing.UnsupportedLookAndFeelException;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.SettingsDialog;
|
import the.bytecode.club.bytecodeviewer.gui.components.SettingsDialog;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.VisibleComponent;
|
import the.bytecode.club.bytecodeviewer.gui.components.VisibleComponent;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedComponents;
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
* Copyright (C) 2014 Kalen 'Konloch' Kinloch - http://bytecodeviewer.com *
|
||||||
|
|
|
@ -1,18 +1,19 @@
|
||||||
package the.bytecode.club.bytecodeviewer.gui.util;
|
package the.bytecode.club.bytecodeviewer.gui.util;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.event.InputEvent;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import javax.swing.*;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JViewport;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.event.CaretEvent;
|
import javax.swing.event.CaretEvent;
|
||||||
import javax.swing.event.CaretListener;
|
import javax.swing.event.CaretListener;
|
||||||
import javax.swing.event.ChangeEvent;
|
import javax.swing.event.ChangeEvent;
|
||||||
import javax.swing.event.ChangeListener;
|
import javax.swing.event.ChangeListener;
|
||||||
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||||
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
||||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
|
||||||
import org.objectweb.asm.ClassWriter;
|
import org.objectweb.asm.ClassWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
@ -373,4 +374,4 @@ public class BytecodeViewPanelUpdater implements Runnable
|
||||||
String editable = isPanelEditable ? " - " + EDITABLE : "";
|
String editable = isPanelEditable ? " - " + EDITABLE : "";
|
||||||
bytecodeViewPanel.textArea.getTitleHeader().setText(decompiler.getDecompilerName() + editable);
|
bytecodeViewPanel.textArea.getTitleHeader().setText(decompiler.getDecompilerName() + editable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue