Skip to content

Commit

Permalink
Burp Extender Legacy API Latest
Browse files Browse the repository at this point in the history
  • Loading branch information
isayan committed Feb 17, 2023
1 parent 48ece8f commit 636008e
Show file tree
Hide file tree
Showing 16 changed files with 74 additions and 66 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ dependencies {
// https://github.com/raise-isayan/BurpExtensionCommons
implementation fileTree(dir: 'libs', include: ['*.jar'])
// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation 'com.google.code.gson:gson:2.9.1'
implementation 'com.google.code.gson:gson:2.10.1'
// https://mvnrepository.com/artifact/com.googlecode.juniversalchardet/juniversalchardet
implementation 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'

Expand All @@ -101,7 +101,7 @@ dependencies {
// https://mvnrepository.com/artifact/commons-codec/commons-codec
implementation 'commons-codec:commons-codec:1.15'
// https://mvnrepository.com/artifact/com.fifesoft/rsyntaxtextarea
implementation 'com.fifesoft:rsyntaxtextarea:3.2.0'
implementation 'com.fifesoft:rsyntaxtextarea:3.3.2'
// https://mvnrepository.com/artifact/org.jsoup/jsoup/
implementation 'org.jsoup:jsoup:1.15.2'
// Unit Test
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
netbeans.org-netbeans-modules-javascript2-requirejs.enabled=true
release_version_major=2.2
release_version_minor=13.7
release_version_minor=14.0
2 changes: 1 addition & 1 deletion help/help-ja.html
Original file line number Diff line number Diff line change
Expand Up @@ -2075,7 +2075,7 @@ <h3 id="_version">2.9. Version</h3>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2022-09-04 22:30:03 +0900
Last updated 2023-02-17 19:45:01 +0900
</div>
</div>
</body>
Expand Down
2 changes: 1 addition & 1 deletion help/help.html
Original file line number Diff line number Diff line change
Expand Up @@ -2101,7 +2101,7 @@ <h3 id="_version">2.9. Version</h3>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2022-09-04 22:30:26 +0900
Last updated 2023-02-17 19:45:01 +0900
</div>
</div>
</body>
Expand Down
Binary file removed libs/BurpExtensionCommons-v0.5.4.0.jar
Binary file not shown.
Binary file added libs/BurpExtensionCommons-v0.5.5.0.jar
Binary file not shown.
Binary file modified release/YaguraExtender-v2.2.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion src/main/java/burp/BurpExtender.java
Original file line number Diff line number Diff line change
Expand Up @@ -896,7 +896,7 @@ public void sendToAddToExcludeScope(IContextMenuInvocation contextMenu, IHttpReq

@Override
public void extensionUnloaded() {
ThemeUI.removeAllUIManagerListener();
ThemeUI.removePropertyChangeListener();
}

}
74 changes: 39 additions & 35 deletions src/main/java/extend/util/external/ThemeUI.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package extend.util.external;

import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
Expand All @@ -12,41 +14,43 @@
* @author isayan
*/
public class ThemeUI {
private final static List<PropertyChangeListener> listeners = new ArrayList<>();

/***
StringBuilder builder = new StringBuilder();
BurpExtender.outPrintln("=====================");
Enumeration<Object> key = UIManager.getDefaults().keys();
while (key.hasMoreElements()) {
builder.append(key.nextElement());
builder.append("\n");
}
BurpExtender.outPrintln(builder.toString());
BurpExtender.outPrintln("=====================");
**/

public static void changeStyleTheme(RSyntaxTextArea textArea) {
try {
SwingUtilities.invokeLater(() -> {
textArea.setForeground(UIManager.getColor("EditorPane.foreground"));
textArea.setBackground(UIManager.getColor("TextField.background"));
textArea.setSelectedTextColor(UIManager.getColor("TextArea.selectedForeground"));
textArea.setSelectionColor(UIManager.getColor("TextArea.selectedBackground"));
Gutter gutter = RSyntaxUtilities.getGutter(textArea);
if (gutter!=null) {
gutter.setBackground(UIManager.getColor("TextField.background"));
gutter.setLineNumberColor(UIManager.getColor("TextField.foreground"));
}
});
} catch (NullPointerException ex) {
public static void addPropertyChangeListener(PropertyChangeListener listener) {
UIManager.addPropertyChangeListener(listener);
listeners.add(listener);
}

public static void removePropertyChangeListener(PropertyChangeListener listener) {
UIManager.removePropertyChangeListener(listener);
listeners.remove(listener);
}

public static void removePropertyChangeListener() {
for (PropertyChangeListener l : listeners) {
UIManager.removePropertyChangeListener(l);
}
}

public static void removeAllUIManagerListener() {
PropertyChangeListener[] listener = UIManager.getPropertyChangeListeners();
for (PropertyChangeListener l : listener) {
UIManager.removePropertyChangeListener(l);
}
}

}

public static void changeStyleTheme(RSyntaxTextArea textArea) {
if (textArea == null) return;
SwingUtilities.invokeLater(() -> {
// BurpExtender.getMontoyaApi().userInterface().applyThemeToComponent(textArea);
// Gutter gutter = RSyntaxUtilities.getGutter(textArea);
// if (gutter != null) {
// BurpExtender.getMontoyaApi().userInterface().applyThemeToComponent(gutter);
// }

textArea.setForeground(UIManager.getColor("EditorPane.foreground"));
textArea.setBackground(UIManager.getColor("TextField.background"));
textArea.setSelectedTextColor(UIManager.getColor("TextArea.selectedForeground"));
textArea.setSelectionColor(UIManager.getColor("TextArea.selectedBackground"));
Gutter gutter = RSyntaxUtilities.getGutter(textArea);
if (gutter!=null) {
gutter.setBackground(UIManager.getColor("TextField.background"));
gutter.setLineNumberColor(UIManager.getColor("TextField.foreground"));
}
});
}

}
5 changes: 2 additions & 3 deletions src/main/java/yagura/view/GeneratePoCTab.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.SwingWorker;
import javax.swing.UIManager;
import javax.swing.text.JTextComponent;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
import yagura.model.UniversalViewProperty;
Expand Down Expand Up @@ -112,7 +111,7 @@ private void customizeComponents() {
add(this.quickSearchTab, java.awt.BorderLayout.SOUTH);

this.listener.propertyChange(null);
UIManager.addPropertyChangeListener(listener);
ThemeUI.addPropertyChangeListener(listener);

}

Expand Down Expand Up @@ -870,7 +869,7 @@ private String generatePoC(GenerateCsrfParameter csrfParam) {
IHttpService httpService = HttpService.getHttpService(reqmsg.getHost(), reqmsg.getPort(), csrfParam.isUseHttps());
String csrfUrl = reqmsg.getUrl(httpService);
if ("GET".equals(reqmsg.getMethod())) {
csrfUrl = reqmsg.gePath(httpService);
csrfUrl = reqmsg.gePath(httpService);
}
IRequestInfo requestInfo = callback.getHelpers().analyzeRequest(reqmsg.getMessageBytes());
buff.append("<html>\n");
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/yagura/view/HtmlCommetViewTab.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ public void propertyChange(PropertyChangeEvent evt) {
ThemeUI.changeStyleTheme(txtHtmlComment);
}
};


/**
* Creates new form HtmlCommetViewTab
*/
Expand Down Expand Up @@ -91,8 +91,8 @@ private void customizeComponents() {
add(this.quickSearchTab, java.awt.BorderLayout.SOUTH);

this.listener.propertyChange(null);
UIManager.addPropertyChangeListener(listener);
ThemeUI.addPropertyChangeListener(listener);

}

private final java.awt.event.ItemListener encodingItemStateChanged = new java.awt.event.ItemListener() {
Expand Down
7 changes: 3 additions & 4 deletions src/main/java/yagura/view/JSONView.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import java.util.logging.Logger;
import javax.swing.Icon;
import javax.swing.SwingWorker;
import javax.swing.UIManager;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
Expand Down Expand Up @@ -55,7 +54,7 @@ public void propertyChange(PropertyChangeEvent evt) {
ThemeUI.changeStyleTheme(txtJSON);
}
};

// private final EditorKit jsonStyleEditorKit = new StyledEditorKit() {
// @Override
// public Document createDefaultDocument() {
Expand Down Expand Up @@ -158,8 +157,8 @@ private void customizeComponents() {
this.modelJSON = (DefaultTreeModel) this.treeJSON.getModel();

this.listener.propertyChange(null);
UIManager.addPropertyChangeListener(listener);
ThemeUI.addPropertyChangeListener(listener);

}

private void btnExpandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExpandActionPerformed
Expand Down
17 changes: 13 additions & 4 deletions src/main/java/yagura/view/JSearchTab.java
Original file line number Diff line number Diff line change
Expand Up @@ -390,10 +390,19 @@ public Component getTableCellRendererComponent(JTable table,
component.setForeground(table.getSelectionForeground());
component.setBackground(table.getSelectionBackground());
} else {
if (namedColor != null && namedColor.isDefaultColor()) {
component.setForeground(namedColor.getTextColor());
component.setBackground(namedColor);
}
if (namedColor != null) {
if (!namedColor.isDefaultColor()) {
component.setForeground(namedColor.getTextColor());
component.setBackground(namedColor);
} else {
if (namedColor.getColor().equals(table.getBackground())) {
component.setForeground(table.getForeground());
} else {
component.setForeground(NamedColor.getTextColor(table.getForeground()));
}
component.setBackground(table.getBackground());
}
}
else {
component.setForeground(table.getForeground());
component.setBackground(table.getBackground());
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/yagura/view/JTransCoderTab.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@
import java.util.Date;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.UIManager;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
import yagura.model.JTransCoderProperty;
import yagura.model.UniversalViewProperty;
Expand Down Expand Up @@ -91,7 +90,7 @@ public JTransCoderTab() {
initComponents();
customizeComponents();
this.listener.propertyChange(null);
UIManager.addPropertyChangeListener(this.listener);
ThemeUI.addPropertyChangeListener(this.listener);
}
private final QuickSearchTab quickSearchTabRaw = new QuickSearchTab();
private final QuickSearchTab quickSearchTabFormat = new QuickSearchTab();
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/yagura/view/JWTViewTab.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.UIManager;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
import passive.JWTToken;
import yagura.model.UniversalViewProperty;
Expand Down Expand Up @@ -148,7 +147,7 @@ private void customizeComponents() {
// this.txtPayloadJSON.setContentType("text/json");

this.listener.propertyChange(null);
UIManager.addPropertyChangeListener(listener);
ThemeUI.addPropertyChangeListener(listener);

}

Expand Down
11 changes: 5 additions & 6 deletions src/main/java/yagura/view/RawViewTab.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.SwingWorker;
import javax.swing.UIManager;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
Expand All @@ -40,10 +39,10 @@ public class RawViewTab extends javax.swing.JPanel implements IMessageEditorTab
final PropertyChangeListener listener = new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
ThemeUI.changeStyleTheme(txtURaw);
ThemeUI.changeStyleTheme(txtURaw);
}
};

private boolean request = false;
private boolean textModified = false;
private boolean editable = false;
Expand Down Expand Up @@ -76,7 +75,7 @@ public RawViewTab(IMessageEditorController controller, boolean editable, boolean
//this.editable = editable;
this.editable = false;
initComponents();
customizeComponents();
customizeComponents();
}

private final QuickSearchTab quickSearchTab = new QuickSearchTab();
Expand Down Expand Up @@ -133,9 +132,9 @@ public void changedUpdate(DocumentEvent e) {
// this.txtRaw.setContentType("text/html");

this.add(this.quickSearchTab, java.awt.BorderLayout.SOUTH);

this.listener.propertyChange(null);
UIManager.addPropertyChangeListener(listener);
ThemeUI.addPropertyChangeListener(listener);
}

private final java.awt.event.ItemListener encodingItemStateChanged = new java.awt.event.ItemListener() {
Expand Down

0 comments on commit 636008e

Please sign in to comment.