diff --git a/src/messageTab/U2C/ChineseTab.java b/src/messageTab/U2C/ChineseTab.java index d79d46e..71a2619 100644 --- a/src/messageTab/U2C/ChineseTab.java +++ b/src/messageTab/U2C/ChineseTab.java @@ -1,14 +1,21 @@ package messageTab.U2C; -import burp.*; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.text.StringEscapeUtils; - -import java.awt.*; +import java.awt.Component; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import javax.swing.SwingWorker; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringEscapeUtils; + +import burp.BurpExtender; +import burp.IBurpExtenderCallbacks; +import burp.IExtensionHelpers; +import burp.IMessageEditorController; +import burp.IMessageEditorTab; + /** * @author bit4woo * @version CreateTime:2022年1月15日 下午11:07:59 @@ -86,13 +93,20 @@ public String getNextCharSet() { @Override public void setMessage(byte[] content, boolean isRequest) { - originContent = content; - detectedCharset = BurpExtender.getHelperPlus().detectCharset(isRequest, content); - if (StringUtils.isEmpty(detectedCharset)) { - panel.display(content, isRequest, "UTF-8"); - } else { - panel.display(content, isRequest, detectedCharset); - } + SwingWorker worker = new SwingWorker() { + @Override + protected Void doInBackground() throws Exception { + originContent = content; + detectedCharset = BurpExtender.getHelperPlus().detectCharset(isRequest, content); + if (StringUtils.isEmpty(detectedCharset)) { + panel.display(content, isRequest, "UTF-8"); + } else { + panel.display(content, isRequest, detectedCharset); + } + return null; + } + }; + worker.execute(); } /** @@ -111,7 +125,7 @@ public boolean isModified() { @Override public byte[] getSelectedData() { -// return txtInput.getSelectedText(); + // return txtInput.getSelectedText(); return null; }