The Burp Suite User Forum was discontinued on the 1st November 2024.

Burp Suite User Forum

For support requests, go to the Support Center. To discuss with other Burp users, head to our Discord page.

SUPPORT CENTER DISCORD

Highlighting in IMessageEditor

Eddie | Last updated: Jan 02, 2019 04:33PM UTC

Hello, I am trying to create an extension in which you can highlight single or multiple lines of text in the request or response tabs. I am having an issue when you add a “Graphic” to the IMessageEditor text area that it disappears when it is either selected or you highlight a new line of text. Highlight Method: /* * Graphics g: Takes components graphics object. * IMessageEditor req: Request Text Area * IMessageEditor res: Response Text Area * String text: Selected line to highlight * Int x,y,width,height: Dimensions */ public Graphics highlight(Graphics g, IMessageEditor req, IMessageEditor res, String text, int x, int y, int width, int height) { Graphics2D gr = (Graphics2D) g; FontRenderContext context = gr.getFontRenderContext(); Font font = gr.getFont(); int textWidth = (int) font.getStringBounds(text, context).getWidth(); LineMetrics ln = font.getLineMetrics(text, context); int textHeight = (int)(ln.getAscent() + ln.getDescent()); int x1 = x + (width - textWidth)/2; int y1 = (int)(y + (height + textHeight)/2 - ln.getDescent()); gr.setComposite(alphaComp); gr.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); gr.setColor(Color.YELLOW); gr.setBackground(Color.YELLOW); gr.fillRect(x, y, width, height); return g; } I am accessing the text area component with the following methods: IMessageEditor requestViewer = messageEditor.getRequestViewer(); JTabbedPane requestViewerPane = (JTabbedPane) requestViewer.getComponent(); //Request Tab JPanel jCompPanel = (JPanel) requestViewerPane.getComponent(0); //Get Request’s Raw Tab JComponent jComp2 = (JComponent) jCompPanel.getComponent(1); //Get Layout JComponent txtArea = (JComponent) jComp2.getComponent(0); //Request text area Highlight Call: highlightUtils.highlight(txtArea.getGraphics(), requestViewer, responseViewer, "Cookie: 12345", e.getX(), e.getY(), strw, strh); How would I got about fixing this issue and is there a better way to implement this type of highlighting?

PortSwigger Agent | Last updated: Jan 03, 2019 07:57AM UTC