-
Notifications
You must be signed in to change notification settings - Fork 97
Expand file tree
/
Copy pathGUI.java
More file actions
98 lines (83 loc) · 2.54 KB
/
GUI.java
File metadata and controls
98 lines (83 loc) · 2.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package burp;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTable;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
/**
* @author bit4woo
* @github https://github.com/bit4woo
* @version CreateTime:2021年7月11日 下午5:22:02
*/
//Lession9对应的源码
public class GUI extends JFrame implements IMessageEditorController {
private JPanel contentPane;
private IHttpRequestResponse GUIMessage;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GUI frame = new GUI();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public GUI() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
//添加一个editor,用于显示HTTP数据包
IMessageEditor editor = BurpExtender.getCallbacks().createMessageEditor(this, false);
contentPane.add(editor.getComponent(), BorderLayout.CENTER);
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.NORTH);
JButton btnNewButton = new JButton("displayRequest");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
editor.setMessage(getRequest(), true);//调用IMessageEditorController的函数来显示请求包
}
});
panel.add(btnNewButton);
JButton btnNewButton_1 = new JButton("displayResponse");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
editor.setMessage(getResponse(), true);//调用IMessageEditorController的函数来显示响应包
}
});
panel.add(btnNewButton_1);
}
@Override //IMessageEditorController的函数
public IHttpService getHttpService() {
return GUIMessage.getHttpService();
}
@Override //IMessageEditorController的函数
public byte[] getRequest() {
return GUIMessage.getRequest();
}
@Override //IMessageEditorController的函数
public byte[] getResponse() {
return GUIMessage.getResponse();
}
public IHttpRequestResponse getGUIMessage() {
return GUIMessage;
}
public void setGUIMessage(IHttpRequestResponse gUIMessage) {
GUIMessage = gUIMessage;
}
}