Compare commits
15 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4c6fef5c9 | ||
|
|
029cc40cd9 | ||
|
|
38a9524bcc | ||
|
|
83ce04b650 | ||
|
|
afbe812d95 | ||
|
|
c60515c87c | ||
|
|
666550f9c9 | ||
|
|
0fbc5d1d5c | ||
|
|
fda3b3d5e6 | ||
|
|
d63f93c8d3 | ||
|
|
6c8b16d150 | ||
|
|
2cafc5ab61 | ||
|
|
8b7f5e040e | ||
|
|
8061ac7bb1 | ||
|
|
47e433a6b8 |
13 changed files with 480 additions and 0 deletions
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
/java-runtime-decompiler-2.0.tar.gz
|
||||||
|
/java-runtime-decompiler-3.0.tar.gz
|
||||||
|
/java-runtime-decompiler-4.0.tar.gz
|
||||||
|
/java-runtime-decompiler-5.0.beta2.tar.gz
|
||||||
|
/java-runtime-decompiler-5.0.rc1.tar.gz
|
||||||
|
/java-runtime-decompiler-5.1.tar.gz
|
||||||
16
excludeTrasnitiveTools.patch
Normal file
16
excludeTrasnitiveTools.patch
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
--- runtime-decompiler/pom.xml
|
||||||
|
+++ runtime-decompiler/pom.xml
|
||||||
|
@@ -163,6 +163,12 @@
|
||||||
|
<artifactId>byteman-install</artifactId>
|
||||||
|
<version>4.0.15</version>
|
||||||
|
<type>jar</type>
|
||||||
|
+ <exclusions>
|
||||||
|
+ <exclusion>
|
||||||
|
+ <groupId>com.sun</groupId>
|
||||||
|
+ <artifactId>tools</artifactId>
|
||||||
|
+ </exclusion>
|
||||||
|
+ </exclusions>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- For tests -->
|
||||||
|
|
||||||
19
fixDoclint.patch
Normal file
19
fixDoclint.patch
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
diff --git a/runtime-decompiler/src/main/java/org/jrd/frontend/MainFrame/MainFrameView.java b/runtime-decompiler/src/main/java/org/jrd/frontend/MainFrame/MainFrameView.java
|
||||||
|
index 86f9a87..18dce1a 100644
|
||||||
|
--- runtime-decompiler/src/main/java/org/jrd/frontend/MainFrame/MainFrameView.java
|
||||||
|
+++ runtime-decompiler/src/main/java/org/jrd/frontend/MainFrame/MainFrameView.java
|
||||||
|
@@ -174,11 +174,11 @@ public class MainFrameView {
|
||||||
|
welcomeJTextArea = new JTextArea(9, 40);
|
||||||
|
welcomeJTextArea.setText("Welcome to Java-Runtime-Decompiler\n" +
|
||||||
|
"\n" +
|
||||||
|
- "Before using the app, the Decompiler Agent's path needs to be selected in 'Configure → Decompiler Agent'.\n" +
|
||||||
|
+ "Before using the app, the Decompiler Agent's path needs to be selected in 'Configure -> Decompiler Agent'.\n" +
|
||||||
|
"It's a built-in project and can usually be found at '"+ ((isPortable())?"./libs/":"./decompiler_agent/target/") +"decompiler-agent-*.jar'.\n" +
|
||||||
|
"\n" +
|
||||||
|
"Internal javap decompiling tools are available by default.\n" +
|
||||||
|
- "You can also download an external decompiler, e.g. via 'mvn clean install -PdownloadPlugins', and set it up in 'Configure → Plugins'.\n" +
|
||||||
|
+ "You can also download an external decompiler, e.g. via 'mvn clean install -PdownloadPlugins', and set it up in 'Configure -> Plugins'.\n" +
|
||||||
|
"Currently supported decompilers are: Fernflower, Procyon.\n");
|
||||||
|
welcomeJTextArea.setFont(new Font(welcomeJTextArea.getFont().getFontName(), welcomeJTextArea.getFont().getStyle(), 20));
|
||||||
|
welcomeJTextArea.setLineWrap(true);
|
||||||
|
|
||||||
86
java-runtime-decompiler
Normal file
86
java-runtime-decompiler
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
# java runtime decompiler launch script
|
||||||
|
|
||||||
|
# JPackage Project <http://www.jpackage.org/>
|
||||||
|
# Source functions library
|
||||||
|
|
||||||
|
. /usr/share/java-utils/java-functions
|
||||||
|
|
||||||
|
# identify directory tree
|
||||||
|
JRD=`basename $0`
|
||||||
|
CONF_HOME=$XDG_CONFIG_HOME
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$CONF_HOME" = "" ] ; then
|
||||||
|
CONF_HOME=$HOME/.config/$JRD
|
||||||
|
|
||||||
|
else
|
||||||
|
CONF_HOME=$CONF_HOME/$JRD
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
LOG_DIR=$CONF_HOME/logs
|
||||||
|
|
||||||
|
CONF_DIR=$CONF_HOME/conf
|
||||||
|
|
||||||
|
# create directory tree
|
||||||
|
PLUGIN_HOME=$CONF_HOME/plugins
|
||||||
|
|
||||||
|
mkdir -p $LOG_DIR
|
||||||
|
|
||||||
|
mkdir -p $CONF_DIR
|
||||||
|
|
||||||
|
mkdir -p $PLUGIN_HOME
|
||||||
|
|
||||||
|
: ${MAIN_CLASS:=org.jrd.backend.data.Main}
|
||||||
|
|
||||||
|
# set java and jvm arguments
|
||||||
|
export _prefer_jre=false
|
||||||
|
_set_java_home
|
||||||
|
set_jvm
|
||||||
|
|
||||||
|
# all dependencies must be on classpath
|
||||||
|
set_classpath java-runtime-decompiler byteman google-gson classpathless-compiler
|
||||||
|
CLASSPATH=$CLASSPATH:${JAVA_HOME}/lib/tools.jar
|
||||||
|
|
||||||
|
# set path to agent automatically
|
||||||
|
AGENT="/usr/share/java/java-runtime-decompiler/decompiler-agent.jar"
|
||||||
|
CONFIG_FILE=$CONF_DIR/config.cfg
|
||||||
|
AGENT_PREFIX="AGENT_PATH==="
|
||||||
|
AGENT_STRING=$AGENT_PREFIX$AGENT
|
||||||
|
|
||||||
|
# copy json wrappers information to home so the users can edit
|
||||||
|
CP_FILES="$(ls /etc/$JRD/plugins/*.json)"
|
||||||
|
for cpfile in $CP_FILES; do
|
||||||
|
FILE_NAME="$(basename -- $cpfile)"
|
||||||
|
if [ ! -e "$PLUGIN_HOME/$FILE_NAME" ]
|
||||||
|
then
|
||||||
|
cp $cpfile $PLUGIN_HOME
|
||||||
|
else
|
||||||
|
echo "Configuration files were not copied for $FILE_NAME - the existing configuration would be overwritten." >&2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# create config file and add agent default path
|
||||||
|
touch $CONFIG_FILE
|
||||||
|
|
||||||
|
if [ -e $AGENT ]
|
||||||
|
then
|
||||||
|
if grep -Fxq $AGENT_STRING $CONFIG_FILE
|
||||||
|
then
|
||||||
|
echo "Default agent path is already set in $CONFIG_FILE. Skipping agent path setting." >&2
|
||||||
|
elif grep -rq $AGENT_PREFIX $CONFIG_FILE
|
||||||
|
then
|
||||||
|
RESULT_OF_GREP="$(grep -rq $AGENT_PREFIX $CONFIG_FILE)"
|
||||||
|
echo "Agent path is already set in $CONFIG_FILE as ${RESULT_OF_GREP}. Skipping agent path setting." >&2
|
||||||
|
else
|
||||||
|
echo $AGENT_STRING >> $CONFIG_FILE
|
||||||
|
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Agent was not found and agent path was not set correctly. This has to be done manually in the decompiler GUI, or set AGENT_PATH===path_to_agent_jar in the configuration file: $CONFIG_FILE" >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
export FLAGS="$FLAGS -Djdk.attach.allowAttachSelf=true"
|
||||||
|
run "$@"
|
||||||
182
java-runtime-decompiler.spec
Normal file
182
java-runtime-decompiler.spec
Normal file
|
|
@ -0,0 +1,182 @@
|
||||||
|
Summary: Application for extraction and decompilation of JVM byte code
|
||||||
|
Name: java-runtime-decompiler
|
||||||
|
Version: 5.1
|
||||||
|
Release: 1%{?dist}
|
||||||
|
License: GPLv3
|
||||||
|
URL: https://github.com/pmikova/java-runtime-decompiler
|
||||||
|
Source0: https://github.com/pmikova/%{name}/archive/%{name}-%{version}.tar.gz
|
||||||
|
Source1: java-runtime-decompiler
|
||||||
|
Source3: jrd.desktop
|
||||||
|
Patch0: remove_rsyntaxtextarea.patch
|
||||||
|
Patch1: systemFernflower.patch
|
||||||
|
Patch2: systemProcyon.patch
|
||||||
|
Patch4: systemCfr.patch
|
||||||
|
Patch5: systemJasm.patch
|
||||||
|
Patch6: systemJcoder.patch
|
||||||
|
#to fix issue, when byteman requires tools.jar
|
||||||
|
Patch7: excludeTrasnitiveTools.patch
|
||||||
|
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
BuildRequires: maven-local
|
||||||
|
BuildRequires: byteman
|
||||||
|
BuildRequires: junit
|
||||||
|
BuildRequires: ant-junit
|
||||||
|
BuildRequires: maven-surefire-provider-junit
|
||||||
|
BuildRequires: maven-surefire
|
||||||
|
BuildRequires: maven-surefire-plugin
|
||||||
|
BuildRequires: java-11-openjdk-devel
|
||||||
|
BuildRequires: google-gson
|
||||||
|
BuildRequires: desktop-file-utils
|
||||||
|
BuildRequires: classpathless-compiler
|
||||||
|
Requires: java-11-openjdk-headless
|
||||||
|
Requires: classpathless-compiler
|
||||||
|
Requires: fernflower
|
||||||
|
Requires: procyon-decompiler
|
||||||
|
Requires: CFR
|
||||||
|
Requires: openjdk-asmtools
|
||||||
|
|
||||||
|
%description
|
||||||
|
This application can access JVM memory at runtime,
|
||||||
|
extract byte code from the JVM and decompile it.
|
||||||
|
|
||||||
|
%package javadoc
|
||||||
|
Summary: Javadoc for %{name}
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description javadoc
|
||||||
|
This package contains the API documentation for %{name}.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{name}-%{name}-%{version}
|
||||||
|
%patch0 -p0
|
||||||
|
%patch1 -p0
|
||||||
|
%patch2 -p0
|
||||||
|
%patch4 -p0
|
||||||
|
%patch5 -p0
|
||||||
|
%patch6 -p0
|
||||||
|
%patch7 -p0
|
||||||
|
|
||||||
|
%build
|
||||||
|
pushd runtime-decompiler
|
||||||
|
%pom_remove_plugin :maven-jar-plugin
|
||||||
|
popd
|
||||||
|
export JAVA_TOOL_OPTIONS="-Dadditionalparam=-Xdoclint:none -DadditionalJOption=-Xdoclint:none"
|
||||||
|
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
|
||||||
|
%mvn_build -f
|
||||||
|
$JAVA_HOME/bin/java -cp /usr/share/java/classpathless-compiler/classpathless-compiler.jar:runtime-decompiler/target/runtime-decompiler-%{version}.jar org.jrd.backend.data.Help > %{name}.1
|
||||||
|
|
||||||
|
%install
|
||||||
|
%mvn_install
|
||||||
|
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1/
|
||||||
|
install -m 644 %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1/
|
||||||
|
|
||||||
|
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
|
||||||
|
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/
|
||||||
|
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/
|
||||||
|
cp -r %{_builddir}/%{name}-%{name}-%{version}/runtime-decompiler/src/plugins/ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/
|
||||||
|
|
||||||
|
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/applications
|
||||||
|
desktop-file-install --vendor="fedora" \
|
||||||
|
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE3}
|
||||||
|
|
||||||
|
%files -f .mfiles
|
||||||
|
%attr(755, root, -) %{_bindir}/java-runtime-decompiler
|
||||||
|
%{_mandir}/man1/java-runtime-decompiler.1*
|
||||||
|
# wrappers for decompilers
|
||||||
|
%dir %{_sysconfdir}/%{name}
|
||||||
|
%dir %{_sysconfdir}/%{name}/plugins
|
||||||
|
%config %{_sysconfdir}/%{name}/plugins/FernflowerDecompilerWrapper.java
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/plugins/FernflowerDecompilerWrapper.json
|
||||||
|
%config %{_sysconfdir}/%{name}/plugins/ProcyonDecompilerWrapper.java
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/plugins/ProcyonDecompilerWrapper.json
|
||||||
|
%config %{_sysconfdir}/%{name}/plugins/CfrDecompilerWrapper.java
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/plugins/CfrDecompilerWrapper.json
|
||||||
|
%config %{_sysconfdir}/%{name}/plugins/JasmDecompilerWrapper.java
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/plugins/JasmDecompilerWrapper.json
|
||||||
|
%config %{_sysconfdir}/%{name}/plugins/JcoderDecompilerWrapper.java
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/plugins/JcoderDecompilerWrapper.json
|
||||||
|
%license LICENSE
|
||||||
|
|
||||||
|
%dir %{_datadir}/applications
|
||||||
|
%{_datadir}/applications/fedora-jrd.desktop
|
||||||
|
|
||||||
|
%files javadoc -f .mfiles-javadoc
|
||||||
|
%license LICENSE
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Aug 12 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.1-1
|
||||||
|
- bumped to final sources
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.rc1-1
|
||||||
|
- adapted manpage
|
||||||
|
|
||||||
|
* Mon Aug 02 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.beta2-1
|
||||||
|
- updated to 5.0
|
||||||
|
- removed jdk8 subpkg due to compiler api
|
||||||
|
- added Cfr and asmtools plugins
|
||||||
|
- todo man page
|
||||||
|
|
||||||
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Dec 08 2020 Jiri Vanek <jvanek@redhat.com> - 4.0-2
|
||||||
|
- Added subpackage built by jdk8 to allow looking into jdk8 apps
|
||||||
|
- for some reason, jdk8 vm can not look into jdk11 vm, even if agent is correctly jdk8 version
|
||||||
|
- the config is still share, which is stupid, but I doubt there is another target audeince then me
|
||||||
|
|
||||||
|
* Tue Dec 08 2020 Jiri Vanek <jvanek@redhat.com> - 4.0-1
|
||||||
|
- built by jdk11
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 3.0-8
|
||||||
|
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
|
||||||
|
|
||||||
|
* Tue Mar 17 2020 Jiri Vanek <jvanek@redhat.com> - 3.0-7
|
||||||
|
- aligned rsyntaxtextarea version, fixed javadoc generation
|
||||||
|
|
||||||
|
* Tue Mar 17 2020 Jiri Vanek <jvanek@redhat.com> - 3.0-6
|
||||||
|
- changed jdk8 requirement
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Aug 27 2019 Jiri Vanek <jvanek@redhat.com> - 3.0-3
|
||||||
|
- all stdouts from customlauncher moved to stderr
|
||||||
|
|
||||||
|
* Mon Aug 26 2019 Jiri Vanek <jvanek@redhat.com> - 3.0-0
|
||||||
|
- moved to usptream version 3.0
|
||||||
|
- adjusted configs, removed lambda patch
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 17 2019 Jiri Vanek <jvanek@redhat.com> - 2.0-5
|
||||||
|
- improved Patch3, includeLambdas.patch to sort the lamdas t the bottom
|
||||||
|
|
||||||
|
* Thu Jan 17 2019 Jiri Vanek <jvanek@redhat.com> - 2.0-4
|
||||||
|
- added depndence of procyon decompiler (currenlty under review
|
||||||
|
- added and applied Patch2, systemProcyon.patch to enable system procyon out of thebox
|
||||||
|
- added and applied Patch3, includeLambdas.patch to at least list lamdas untill fixed in upstream
|
||||||
|
|
||||||
|
* Thu Jan 10 2019 Jiri Vanek <jvanek@redhat.com> - 2.0-3
|
||||||
|
- added depndence of fernflower decompiler
|
||||||
|
- added and applied Patch1, systemFernflower.patch to enable system fernflower
|
||||||
|
|
||||||
|
* Wed Nov 28 2018 Petra Mikova <petra.alice.mikova@gmail.com> - 2.0-2
|
||||||
|
- fixed changelog
|
||||||
|
|
||||||
|
* Mon Nov 19 2018 Petra Mikova <petra.alice.mikova@gmail.com> - 2.0-1
|
||||||
|
- fixed issues listed in review (rhbz#1636019)
|
||||||
|
- added installation of desktop file
|
||||||
|
|
||||||
|
* Wed Jun 06 2018 Petra Mikova <petra.alice.mikova@gmail.com> - 1.1-1
|
||||||
|
- initial commit
|
||||||
8
jrd.desktop
Normal file
8
jrd.desktop
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Type=Application
|
||||||
|
Categories=Development;Profiling;Java;
|
||||||
|
Version=1.0
|
||||||
|
Name=Java Runtime Decompiler
|
||||||
|
Exec=java-runtime-decompiler
|
||||||
|
Terminal=false
|
||||||
88
remove_rsyntaxtextarea.patch
Normal file
88
remove_rsyntaxtextarea.patch
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
diff --git a/runtime-decompiler/pom.xml b/runtime-decompiler/pom.xml
|
||||||
|
index 26a416e..e6e2425 100644
|
||||||
|
--- runtime-decompiler/pom.xml
|
||||||
|
+++ runtime-decompiler/pom.xml
|
||||||
|
@@ -157,11 +157,6 @@
|
||||||
|
<artifactId>directories</artifactId>
|
||||||
|
<version>10</version>
|
||||||
|
</dependency>-->
|
||||||
|
- <dependency>
|
||||||
|
- <groupId>com.fifesoft</groupId>
|
||||||
|
- <artifactId>rsyntaxtextarea</artifactId>
|
||||||
|
- <version>3.1.2</version>
|
||||||
|
- </dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jboss.byteman</groupId>
|
||||||
|
<artifactId>byteman-install</artifactId>
|
||||||
|
diff --git a/runtime-decompiler/src/main/java/org/jrd/frontend/BytecodeDecompilerView.java b/runtime-decompiler/src/main/java/org/jrd/frontend/BytecodeDecompilerView.java
|
||||||
|
index 9c19e2c..8d17775 100644
|
||||||
|
--- runtime-decompiler/src/main/java/org/jrd/frontend/MainFrame/BytecodeDecompilerView.java
|
||||||
|
+++ runtime-decompiler/src/main/java/org/jrd/frontend/MainFrame/BytecodeDecompilerView.java
|
||||||
|
@@ -4,11 +4,11 @@ import org.fife.ui.hex.event.HexSearchActionListener;
|
||||||
|
import org.fife.ui.hex.event.HexSearchDocumentListener;
|
||||||
|
import org.fife.ui.hex.swing.HexEditor;
|
||||||
|
import org.fife.ui.hex.swing.HexSearch;
|
||||||
|
-import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||||
|
-import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
||||||
|
-import org.fife.ui.rtextarea.RTextScrollPane;
|
||||||
|
-import org.fife.ui.rtextarea.SearchContext;
|
||||||
|
-import org.fife.ui.rtextarea.SearchEngine;
|
||||||
|
+//import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
|
||||||
|
+//import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
|
||||||
|
+//import org.fife.ui.rtextarea.RTextScrollPane;
|
||||||
|
+//import org.fife.ui.rtextarea.SearchContext;
|
||||||
|
+//import org.fife.ui.rtextarea.SearchEngine;
|
||||||
|
import org.jrd.backend.core.OutputController;
|
||||||
|
import org.jrd.backend.decompiling.DecompilerWrapperInformation;
|
||||||
|
|
||||||
|
@@ -52,8 +52,8 @@ public class BytecodeDecompilerView {
|
||||||
|
private JPanel rightBin;
|
||||||
|
private JScrollPane leftScrollPanel;
|
||||||
|
private JList<String> filteredClassesJlist;
|
||||||
|
- private RTextScrollPane bytecodeScrollPane;
|
||||||
|
- private RSyntaxTextArea bytecodeSyntaxTextArea;
|
||||||
|
+ private JScrollPane bytecodeScrollPane;
|
||||||
|
+ private JTextArea bytecodeSyntaxTextArea;
|
||||||
|
private HexEditor hex;
|
||||||
|
private JPanel hexControls;
|
||||||
|
private String lastDecompiledClass = "";
|
||||||
|
@@ -198,10 +198,10 @@ public class BytecodeDecompilerView {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
- bytecodeSyntaxTextArea = new RSyntaxTextArea();
|
||||||
|
- bytecodeSyntaxTextArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
|
||||||
|
- bytecodeSyntaxTextArea.setCodeFoldingEnabled(true);
|
||||||
|
- bytecodeScrollPane = new RTextScrollPane(bytecodeSyntaxTextArea);
|
||||||
|
+ bytecodeSyntaxTextArea = new JTextArea();
|
||||||
|
+ //bytecodeSyntaxTextArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
|
||||||
|
+ //bytecodeSyntaxTextArea.setCodeFoldingEnabled(true);
|
||||||
|
+ bytecodeScrollPane = new JScrollPane(bytecodeSyntaxTextArea);
|
||||||
|
|
||||||
|
hex = new HexEditor();
|
||||||
|
hexControls = new JPanel();
|
||||||
|
@@ -410,15 +410,15 @@ public class BytecodeDecompilerView {
|
||||||
|
* Search string in decompiled code
|
||||||
|
*/
|
||||||
|
private void searchCode() {
|
||||||
|
- SearchContext context = new SearchContext();
|
||||||
|
- String match = searchCodeField.getText();
|
||||||
|
- context.setSearchFor(match);
|
||||||
|
- context.setWholeWord(false);
|
||||||
|
- SearchEngine.markAll(bytecodeSyntaxTextArea, context);
|
||||||
|
- int line = SearchEngine.getNextMatchPos(match, bytecodeSyntaxTextArea.getText(), true, true, false);
|
||||||
|
- if (line >= 0) {
|
||||||
|
- bytecodeSyntaxTextArea.setCaretPosition(line);
|
||||||
|
- }
|
||||||
|
+// SearchContext context = new SearchContext();
|
||||||
|
+// String match = searchCodeField.getText();
|
||||||
|
+// context.setSearchFor(match);
|
||||||
|
+// context.setWholeWord(false);
|
||||||
|
+// SearchEngine.markAll(bytecodeSyntaxTextArea, context);
|
||||||
|
+// int line = SearchEngine.getNextMatchPos(match, bytecodeSyntaxTextArea.getText(), true, true, false);
|
||||||
|
+// if (line >= 0) {
|
||||||
|
+// bytecodeSyntaxTextArea.setCaretPosition(line);
|
||||||
|
+// }
|
||||||
|
}
|
||||||
|
|
||||||
|
private void classWorker(String name) {
|
||||||
1
sources
Normal file
1
sources
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
SHA512 (java-runtime-decompiler-5.1.tar.gz) = 0a1e644696c7fc0595a9b4ca05ef1f392a78e5a6bb6e9631ede8a93776740ae8cf65ced0cfaacd7890985ee659e41947bcf17a87d7bc3ba5958ae84a943b64d9
|
||||||
14
systemCfr.patch
Normal file
14
systemCfr.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
--- runtime-decompiler/src/plugins/CfrDecompilerWrapper.json
|
||||||
|
+++ runtime-decompiler/src/plugins/CfrDecompilerWrapper.json
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
{
|
||||||
|
"Name": "Cfr",
|
||||||
|
- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/CfrDecompilerWrapper.java",
|
||||||
|
+ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/CfrDecompilerWrapper.java",
|
||||||
|
"DependencyURL": [
|
||||||
|
- "file://${HOME}/.m2/repository/org/benf/cfr/0.151/cfr-0.151.jar"
|
||||||
|
+ "file:/usr/share/java/CFR/cfr.jar"
|
||||||
|
],
|
||||||
|
"DecompilerDownloadURL": "https://www.benf.org/other/cfr/faq.html"
|
||||||
|
}
|
||||||
|
|
||||||
15
systemFernflower.patch
Normal file
15
systemFernflower.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
--- runtime-decompiler/src/plugins/FernflowerDecompilerWrapper.json
|
||||||
|
+++ runtime-decompiler/src/plugins/FernflowerDecompilerWrapper.json
|
||||||
|
@@ -1,9 +1,8 @@
|
||||||
|
{
|
||||||
|
"Name": "Fernflower",
|
||||||
|
- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/FernflowerDecompilerWrapper.java",
|
||||||
|
+ "WrapperURL": "file:///etc/java-runtime-decompiler/plugins/FernflowerDecompilerWrapper.java",
|
||||||
|
"DependencyURL": [
|
||||||
|
- "file://${HOME}/.m2/repository/org/jboss/windup/decompiler/decompiler-fernflower/5.1.4.Final/decompiler-fernflower-5.1.4.Final.jar",
|
||||||
|
- "file://${HOME}/.m2/repository/org/jboss/windup/decompiler/fernflower/windup-fernflower/1.0.0.20171018/windup-fernflower-1.0.0.20171018.jar"
|
||||||
|
+ "file:///usr/share/java/fernflower.jar"
|
||||||
|
],
|
||||||
|
"DecompilerDownloadURL": "https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine"
|
||||||
|
}
|
||||||
|
|
||||||
14
systemJasm.patch
Normal file
14
systemJasm.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
--- runtime-decompiler/src/plugins/JasmDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100
|
||||||
|
+++ runtime-decompiler/src/plugins/JasmDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
{
|
||||||
|
"Name": "jasm",
|
||||||
|
- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JasmDecompilerWrapper.java",
|
||||||
|
+ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JasmDecompilerWrapper.java",
|
||||||
|
"DependencyURL": [
|
||||||
|
- "file://${HOME}/.m2/repository/org/openjdk/asmtools/asmtools-core/7.0.b10-ea/asmtools-core-7.0.b10-ea.jar"
|
||||||
|
+ "file:/usr/share/java/openjdk-asmtools/asmtools-core.jar"
|
||||||
|
],
|
||||||
|
"DecompilerDownloadURL": "https://github.com/openjdk/asmtools"
|
||||||
|
}
|
||||||
|
|
||||||
14
systemJcoder.patch
Normal file
14
systemJcoder.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
--- runtime-decompiler/src/plugins/JcoderDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100
|
||||||
|
+++ runtime-decompiler/src/plugins/JcoderDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
{
|
||||||
|
"Name": "jcoder",
|
||||||
|
- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/JcoderDecompilerWrapper.java",
|
||||||
|
+ "WrapperURL": "file:/etc/java-runtime-decompiler/plugins/JcoderDecompilerWrapper.java",
|
||||||
|
"DependencyURL": [
|
||||||
|
- "file://${HOME}/.m2/repository/org/openjdk/asmtools/7.0.b10-ea/asmtools-core-7.0.b10-ea.jar"
|
||||||
|
+ "file:/usr/share/java/openjdk-asmtools/asmtools-core.jar"
|
||||||
|
],
|
||||||
|
"DecompilerDownloadURL": "https://github.com/openjdk/asmtools"
|
||||||
|
}
|
||||||
|
|
||||||
17
systemProcyon.patch
Normal file
17
systemProcyon.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
--- runtime-decompiler/src/plugins/ProcyonDecompilerWrapper.json 2018-11-12 15:25:47.000000000 +0100
|
||||||
|
+++ runtime-decompiler/src/plugins/ProcyonDecompilerWrapper.json 2019-01-16 12:13:37.317778036 +0100
|
||||||
|
@@ -1,9 +1,10 @@
|
||||||
|
{
|
||||||
|
"Name": "Procyon",
|
||||||
|
- "WrapperURL": "file://${XDG_CONFIG_HOME}/plugins/ProcyonDecompilerWrapper.java",
|
||||||
|
+ "WrapperURL": "file:///etc/java-runtime-decompiler/plugins/ProcyonDecompilerWrapper.java",
|
||||||
|
"DependencyURL": [
|
||||||
|
- "file://${HOME}/.m2/repository/org/bitbucket/mstrobel/procyon-core/0.5.36/procyon-core-0.5.36.jar",
|
||||||
|
- "file://${HOME}/.m2/repository/org/bitbucket/mstrobel/procyon-compilertools/0.5.36/procyon-compilertools-0.5.36.jar"
|
||||||
|
+ "/usr/share/java/procyon/procyon-core.jar",
|
||||||
|
+ "/usr/share/java/procyon/procyon-compilertools.jar",
|
||||||
|
+ "/usr/share/java/procyon/procyon-decompiler.jar"
|
||||||
|
],
|
||||||
|
"DecompilerDownloadURL": "https://bitbucket.org/mstrobel/procyon/downloads/"
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue