diff --git a/Readme-ja.md b/Readme-ja.md index 208bf1d..daeaff7 100644 --- a/Readme-ja.md +++ b/Readme-ja.md @@ -30,8 +30,8 @@ gradlew release * v2020以上 (http://www.portswigger.net/burp/) ### 開発環境 -* NetBean 12.2 (https://netbeans.apache.org/) -* Gradle 6.8.1 (https://gradle.org/) +* NetBean 12.4 (https://netbeans.apache.org/) +* Gradle 7.0.2 (https://gradle.org/) * asciidoc (http://asciidoc.org/) ## 必須ライブラリ diff --git a/Readme.md b/Readme.md index 125318d..d60cb0a 100644 --- a/Readme.md +++ b/Readme.md @@ -30,8 +30,8 @@ gradlew release * v2020 or higher (http://www.portswigger.net/burp/) ### Development environment -* NetBean 12.2 (https://netbeans.apache.org/) -* Gradle 6.8.1 (https://gradle.org/) +* NetBean 12.4 (https://netbeans.apache.org/) +* Gradle 7.0.2 (https://gradle.org/) * asciidoc (http://asciidoc.org/) ## Required library diff --git a/build.gradle b/build.gradle index d4df2c6..d12b45e 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ targetCompatibility = '11' // -target mainClassName = 'yagura.view.MainFrame' repositories { - jcenter() + mavenCentral() } tasks.withType(JavaCompile) { @@ -97,7 +97,8 @@ dependencies { implementation 'commons-codec:commons-codec:1.15' // https://mvnrepository.com/artifact/com.fifesoft/rsyntaxtextarea implementation 'com.fifesoft:rsyntaxtextarea:3.1.3' - // https://mvnrepository.com/artifact/org.jsoup/jsoup + // https://mvnrepository.com/artifact/com.squareup.okhttp + implementation 'com.squareup.okhttp3:okhttp:3.14.9' implementation 'org.jsoup:jsoup:1.13.1' // Unit Test diff --git a/gradle.properties b/gradle.properties index 8ff294e..7891509 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ netbeans.org-netbeans-modules-javascript2-requirejs.enabled=true release_version_major=2.2 -release_version_minor=6.0 +release_version_minor=7.0 diff --git a/libs/BurpExtensionCommons-v0.4.5.0.jar b/libs/BurpExtensionCommons-v0.4.6.0.jar similarity index 89% rename from libs/BurpExtensionCommons-v0.4.5.0.jar rename to libs/BurpExtensionCommons-v0.4.6.0.jar index a9113f1..4893a00 100644 Binary files a/libs/BurpExtensionCommons-v0.4.5.0.jar and b/libs/BurpExtensionCommons-v0.4.6.0.jar differ diff --git a/release/YaguraExtender-v2.2.jar b/release/YaguraExtender-v2.2.jar index 6b9cf39..5e1055a 100644 Binary files a/release/YaguraExtender-v2.2.jar and b/release/YaguraExtender-v2.2.jar differ diff --git a/src/main/java/aspx/viewstate/ViewStateParser.java b/src/main/java/aspx/viewstate/ViewStateParser.java index a7c6f56..12a215b 100644 --- a/src/main/java/aspx/viewstate/ViewStateParser.java +++ b/src/main/java/aspx/viewstate/ViewStateParser.java @@ -13,8 +13,6 @@ import java.util.ArrayList; import java.util.Base64; import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; /** * Base Code diff --git a/src/main/java/burp/BurpExtender.java b/src/main/java/burp/BurpExtender.java index 8bdbef4..234d0b7 100644 --- a/src/main/java/burp/BurpExtender.java +++ b/src/main/java/burp/BurpExtender.java @@ -72,7 +72,7 @@ * @author isayan */ public class BurpExtender extends BurpExtenderImpl - implements IHttpListener, IProxyListener, IExtensionStateListener { + implements IHttpListener, IProxyListener { private final static Logger logger = Logger.getLogger(BurpExtender.class.getName()); @@ -224,9 +224,9 @@ public void uncaughtException(Thread t, Throwable ex) { callbacks.registerHttpListener(this); callbacks.registerProxyListener(this); - callbacks.registerExtensionStateListener(this); SwingUtilities.invokeLater(() -> { callbacks.addSuiteTab(this.tabbetOption); + callbacks.registerExtensionStateListener(this.tabbetOption); setSendToMenu(new SendToMenu(callbacks, this.option.getSendToProperty())); callbacks.registerContextMenuFactory(this.getSendToMenu()); }); @@ -236,12 +236,6 @@ public void uncaughtException(Thread t, Throwable ex) { this.registerView(); } - @Override - public void extensionUnloaded() { - System.gc(); -// DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventPostProcessor(dispatcher); - } - public void registerView() { IBurpExtenderCallbacks cb = getCallbacks(); cb.registerMessageEditorTabFactory(this.requestRawTab); diff --git a/src/main/java/extend/util/external/ThemeUI.java b/src/main/java/extend/util/external/ThemeUI.java index 3240615..b519023 100644 --- a/src/main/java/extend/util/external/ThemeUI.java +++ b/src/main/java/extend/util/external/ThemeUI.java @@ -1,11 +1,11 @@ package extend.util.external; +import java.awt.Color; import javax.swing.SwingUtilities; import javax.swing.UIManager; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; import org.fife.ui.rtextarea.Gutter; -import yagura.model.SendToMenu; /** * diff --git a/src/main/java/yagura/view/JTransCoderTab.java b/src/main/java/yagura/view/JTransCoderTab.java index 2267239..d72d973 100644 --- a/src/main/java/yagura/view/JTransCoderTab.java +++ b/src/main/java/yagura/view/JTransCoderTab.java @@ -1,5 +1,6 @@ package yagura.view; +import burp.IExtensionStateListener; import burp.ITab; import extend.util.external.TransUtil; import java.awt.BorderLayout; @@ -63,7 +64,7 @@ * * @author isayan */ -public class JTransCoderTab extends javax.swing.JPanel implements ITab { +public class JTransCoderTab extends javax.swing.JPanel implements ITab, IExtensionStateListener { private final static Logger logger = Logger.getLogger(JTransCoderTab.class.getName()); @@ -3626,4 +3627,9 @@ public void setProperty(JTransCoderProperty transcoderProp) { chkViewLineWrapActionPerformed(null); } + @Override + public void extensionUnloaded() { + UIManager.removePropertyChangeListener(listener); + } + } diff --git a/src/main/java/yagura/view/MessageViewTab.java b/src/main/java/yagura/view/MessageViewTab.java index f1ae28f..26f92ef 100644 --- a/src/main/java/yagura/view/MessageViewTab.java +++ b/src/main/java/yagura/view/MessageViewTab.java @@ -2,6 +2,7 @@ import burp.IHttpRequestResponse; import burp.BurpExtender; +import burp.IExtensionStateListener; import yagura.model.*; import java.awt.Font; import java.awt.event.MouseAdapter; @@ -9,13 +10,14 @@ import java.util.EnumSet; import java.util.logging.Level; import java.util.logging.Logger; +import javax.swing.UIManager; import yagura.model.UniversalViewProperty.UniversalView; /** * * @author isayan */ -public class MessageViewTab extends javax.swing.JPanel implements SendToMessage { +public class MessageViewTab extends javax.swing.JPanel implements SendToMessage, IExtensionStateListener { private final static Logger logger = Logger.getLogger(MessageViewTab.class.getName()); /** @@ -283,5 +285,11 @@ public void setResponseLineWrap(boolean lineWrap) { this.tabResponseRawView.setLineWrap(lineWrap); } + @Override + public void extensionUnloaded() { + this.tabRequestRawView.extensionUnloaded(); + this.tabResponseRawView.extensionUnloaded(); + } + } diff --git a/src/main/java/yagura/view/RawViewTab.java b/src/main/java/yagura/view/RawViewTab.java index 66a6862..2be06f7 100644 --- a/src/main/java/yagura/view/RawViewTab.java +++ b/src/main/java/yagura/view/RawViewTab.java @@ -1,6 +1,7 @@ package yagura.view; import burp.BurpExtender; +import burp.IExtensionStateListener; import burp.IMessageEditorController; import burp.IMessageEditorTab; import extend.util.external.ThemeUI; @@ -36,7 +37,7 @@ * * @author isayan */ -public class RawViewTab extends javax.swing.JPanel implements IMessageEditorTab { +public class RawViewTab extends javax.swing.JPanel implements IMessageEditorTab, IExtensionStateListener { private final static Logger logger = Logger.getLogger(RawViewTab.class.getName()); final PropertyChangeListener listener = new PropertyChangeListener() { @@ -365,4 +366,9 @@ public void setLineWrap(boolean lineWrap) { this.txtURaw.setLineWrap(lineWrap); } + @Override + public void extensionUnloaded() { + UIManager.removePropertyChangeListener(listener); + } + } diff --git a/src/main/java/yagura/view/TabbetOption.java b/src/main/java/yagura/view/TabbetOption.java index 45fa4d3..da2719a 100644 --- a/src/main/java/yagura/view/TabbetOption.java +++ b/src/main/java/yagura/view/TabbetOption.java @@ -1,5 +1,6 @@ package yagura.view; +import burp.IExtensionStateListener; import burp.ITab; import extension.helpers.BurpUtil; import java.awt.Component; @@ -19,7 +20,7 @@ * * @author isayan */ -public class TabbetOption extends javax.swing.JTabbedPane implements IOptionProperty, ITab, PropertyChangeListener { +public class TabbetOption extends javax.swing.JTabbedPane implements IOptionProperty, ITab, IExtensionStateListener, PropertyChangeListener { public TabbetOption() { super(); @@ -221,4 +222,9 @@ public byte[] receiveFromJTransCoder() { return this.tabJTransCoder.receiveFromJTransCoder(); } + @Override + public void extensionUnloaded() { + this.tabJTransCoder.extensionUnloaded(); + } + }