Xeno-rat
|
Public Member Functions | |
MainForm () | |
void | OnMenuClick (object sender, ToolStripItemClickedEventArgs e) |
Handles the click event of the menu item and performs the corresponding action based on the selected client and command. | |
void | MenuClick (Node client, string command) |
Handles the menu click event and starts the corresponding plugin based on the provided command. | |
Static Public Member Functions | |
static void | SetEncryptionKey (ModuleDefMD module, byte[] EncryptionKey) |
Sets the encryption key for the specified method in the given module. | |
static void | SetServerIp (ModuleDefMD module, string ip) |
Sets the server IP address in the specified module. | |
static void | SetServerPort (ModuleDefMD module, int port) |
Sets the server port for the specified module. | |
static void | SetDelay (ModuleDefMD module, int delay) |
Sets the delay for a specific instruction in the specified method of the given module. | |
static void | SetMutex (ModuleDefMD module, string mutex) |
Sets the mutex value in the specified method of the given module. | |
static void | SetStartup (ModuleDefMD module, bool dostartup) |
Sets the startup for the specified module. | |
static void | SetInstallenv (ModuleDefMD module, string env) |
Sets the installation environment for the specified module. | |
static void | SetStartupName (ModuleDefMD module, string name) |
Sets the startup name in the specified module. | |
Protected Member Functions | |
override void | OnFormClosed (FormClosedEventArgs e) |
Raises the FormClosed event and terminates the current process. | |
override void | Dispose (bool disposing) |
Releases the unmanaged resources used by the Component and optionally releases the managed resources. | |
Private Member Functions | |
async Task | OnConnect (Socket socket) |
Handles the connection of a socket and performs necessary setup operations. | |
List< ListViewItem > | GetClientsByHwid (string hwid) |
Retrieves a list of clients based on the specified hardware ID. | |
async Task | CompleteOnConnectTasks (Node client) |
Completes tasks on connection with the client node. | |
async Task< ListViewItem > | GetAddInfo (Node type0node) |
Retrieves additional information and returns a ListViewItem object. | |
void | OnDisconnect (Node client) |
Handles the disconnection of a client node. | |
async Task | ListViewUpdater (ListViewItem item, Node client) |
Updates the ListView with information received from the client node. | |
async Task | HeartBeat (Node HeartSock, Node MainSock) |
Sends a heartbeat signal from the HeartSock to the MainSock and handles error messages if received. | |
void | MainForm_Load (object sender, EventArgs e) |
Handles the MainForm load event. | |
string | SerializeControlsToJson () |
Serializes the control data to JSON format and returns the serialized data. | |
void | DeserializeControlsFromJson (string jsonData) |
Deserializes control data from JSON string and populates the UI controls with the deserialized values. | |
void | ConfigUpdateTimer_Tick (object sender, EventArgs e) |
Updates the configuration file at regular intervals. | |
void | button1_Click (object sender, EventArgs e) |
Handles the button click event to start a listener on the specified port. | |
void | remove_port (ListViewItem portItem) |
Removes a port from the list and stops the listener on that port. | |
void | listView1_MouseClick (object sender, MouseEventArgs e) |
Handles the mouse click event on the list view and displays a context menu if the right mouse button is clicked on a list view item. | |
void | listView2_SelectedIndexChanged (object sender, EventArgs e) |
Occurs when the selected index of the ListView2 control changes. | |
void | tabPage1_Click (object sender, EventArgs e) |
Event handler for the Click event of tabPage1. | |
void | AddLog (string message, Color textcolor) |
Adds a log message to the list view with the specified text color. | |
async Task | StartChat (Node client) |
Starts a chat with the specified client node. | |
async Task | StartProcessManager (Node client) |
Starts the process manager for the specified client node. | |
async Task | StartHvnc (Node client) |
Asynchronously starts the HVNC (Hidden VNC) functionality for the specified client node. | |
async Task | StartReverseProxy (Node client) |
Asynchronously starts a reverse proxy using the provided client node. | |
async Task | StartFileManager (Node client) |
Asynchronously starts the file manager for the specified client node. | |
async Task | StartRegistryManager (Node client) |
Asynchronously starts the registry manager for the specified client . | |
async Task | StartLiveMicrophone (Node client) |
Asynchronously starts the live microphone functionality for the specified client node. | |
async Task | StartShell (Node client) |
Asynchronously starts the shell for the specified client. | |
async Task | StartWebCam (Node client) |
Asynchronously starts the webcam functionality for the specified client node. | |
async Task | StartKeyLogger (Node client) |
Asynchronously starts the key logger for the specified client node. | |
async Task | StartOfflineKeyLogger (Node client) |
Asynchronously starts the offline keylogger for the specified client node. | |
async Task | StartCmstpUacBypass (Node client) |
Asynchronously starts the Cmstp UAC bypass on the specified client node. | |
async Task | StartWinDirBypass (Node client) |
Asynchronously starts the WinDirBypass process using the provided client . | |
async Task | StartFodHelperBypass (Node client) |
Starts the FodHelper Bypass process using the specified client node. | |
async Task | StartRequestForAdmin (Node client) |
Initiates a request for admin privileges using the Uacbypass plugin. | |
async Task | StartDeescalateperms (Node client) |
Asynchronously starts the de-escalation of permissions for the specified client node. | |
async Task | StartScreenControl (Node client) |
Asynchronously starts the screen control for the specified client node. | |
async Task | StartBlueScreen (Node client) |
Starts the blue screen process by creating a subnode, loading a DLL, and sending a byte array. | |
async Task | StartInfoGrab (Node client) |
Asynchronously starts the information grabbing process using the provided client . | |
async Task | DisplayMsgBox (Node client, string messageBox_text) |
Displays a message box using the provided client and message text. | |
async Task | StartMessageBox (Node client) |
Displays a message box with the specified message. | |
async Task | StartFunMenu (Node client) |
Asynchronously starts the FunMenu for the specified client node. | |
async Task | StartStartup (Node client) |
Asynchronously starts the startup process for the provided client node. | |
async Task | StartRemoveStartup (Node client) |
Asynchronously starts the process of removing the startup using the provided client . | |
async Task | StartClose (Node client) |
Sends a byte array to the specified Node client, waits for 1 second, and then disconnects the client. | |
async Task | StartRelaunch (Node client) |
Sends a byte array to the specified client and then disconnects after a delay of 1000 milliseconds. | |
async Task | StartUninstall (Node client) |
Initiates the uninstall process for the specified node. | |
async Task | StartShutdown (Node client) |
Initiates the shutdown process for the specified client node by performing the following steps: | |
async Task | StartRestart (Node client) |
Asynchronously starts or restarts the specified client node. | |
async Task | StartDebugInfo (Node client) |
Starts the debug information for the specified client node. | |
void | StartPlugin (Func< Node, Task > func, Node client) |
Starts a plugin by executing the provided function asynchronously. | |
void | StartPluginSTA (Func< Node, Task > func, Node client) |
Starts a new thread with a single-threaded apartment (STA) and executes the provided asynchronous function with the specified client node. | |
void | LaunchContext (Node client) |
Launches a context menu for the specified client node. | |
void | listView2_MouseClick (object sender, MouseEventArgs e) |
Handles the mouse click event for listView2 and launches the context menu for the focused item if the right mouse button is clicked. | |
void | button2_Click (object sender, EventArgs e) |
Handles the click event of button2. Builds the client with the specified configurations and saves it to a selected location. | |
void | button3_Click (object sender, EventArgs e) |
Opens a file dialog to select an ICO file and sets the selected file path to a label. | |
void | button4_Click (object sender, EventArgs e) |
Sets the text of label16 to "No Icon Selected" when button4 is clicked. | |
void | button5_Click (object sender, EventArgs e) |
Updates the label text with the current password and calculates the SHA256 hash of the input password. | |
void | listView2_ClientSizeChanged (object sender, EventArgs e) |
Event handler for the ClientSizeChanged event of listView2. | |
void | tabPage5_Click (object sender, EventArgs e) |
Event handler for the Click event of tabPage5. | |
void | textBox8_TextChanged (object sender, EventArgs e) |
Event handler for the TextChanged event of textBox8. | |
void | label10_Click (object sender, EventArgs e) |
Represents the event handler for the Click event of the label10 control. | |
void | checkBox1_CheckedChanged (object sender, EventArgs e) |
Enables or disables the textBox16 based on the checked state of checkBox1. | |
void | checkBox2_CheckedChanged (object sender, EventArgs e) |
Handles the event when the state of checkBox2 is changed. | |
void | checkBox3_CheckedChanged (object sender, EventArgs e) |
Handles the CheckedChanged event for checkBox3. | |
void | listView4_MouseUp (object sender, MouseEventArgs e) |
Handles the MouseUp event for listView4, displaying a context menu with options to start offline keylogger, infograber, and remove items. | |
void | richTextBox1_TextChanged (object sender, EventArgs e) |
Event handler for the TextChanged event of the richTextBox1 control. | |
void | listView3_SelectedIndexChanged (object sender, EventArgs e) |
Event handler for the SelectedIndexChanged event of listView3. | |
void | listView3_MouseClick (object sender, MouseEventArgs e) |
Handles the mouse click event on listView3 and copies the selected item's value to the clipboard. | |
void | checkBox4_CheckedChanged (object sender, EventArgs e) |
Sets the LogErrors property based on the checked state of the checkbox. | |
void | InitializeComponent () |
Initializes the components of the MainForm. | |
Private Attributes | |
DatabaseReader | ip2countryDatabase |
Listener | ListeningHandler |
Dictionary< string, string[]> | Commands = new Dictionary<string, string[]>() |
List< string > | OnConnectTasks = new List<string>() |
System.Windows.Forms.Timer | ConfigUpdateTimer |
string | LastConfig = "" |
System.ComponentModel.IContainer | components = null |
Required designer variable. | |
System.Windows.Forms.TabControl | tabControl1 |
System.Windows.Forms.TabPage | tabPage2 |
System.Windows.Forms.ListView | listView2 |
System.Windows.Forms.ColumnHeader | columnHeader3 |
System.Windows.Forms.ColumnHeader | columnHeader4 |
System.Windows.Forms.ColumnHeader | columnHeader5 |
System.Windows.Forms.ColumnHeader | columnHeader2 |
System.Windows.Forms.ColumnHeader | columnHeader6 |
System.Windows.Forms.ColumnHeader | columnHeader7 |
System.Windows.Forms.ColumnHeader | columnHeader8 |
System.Windows.Forms.ColumnHeader | columnHeader9 |
System.Windows.Forms.ColumnHeader | columnHeader10 |
System.Windows.Forms.TabPage | tabPage4 |
System.Windows.Forms.ListView | listView1 |
System.Windows.Forms.Label | label2 |
System.Windows.Forms.Button | button1 |
System.Windows.Forms.Button | button5 |
System.Windows.Forms.Label | label1 |
System.Windows.Forms.TextBox | textBox5 |
System.Windows.Forms.Label | label17 |
System.Windows.Forms.TextBox | textBox1 |
System.Windows.Forms.TabPage | tabPage7 |
System.Windows.Forms.CheckBox | checkBox1 |
System.Windows.Forms.Button | button2 |
System.Windows.Forms.Button | button4 |
System.Windows.Forms.TextBox | textBox2 |
System.Windows.Forms.Label | label16 |
System.Windows.Forms.TextBox | textBox6 |
System.Windows.Forms.Label | label15 |
System.Windows.Forms.TextBox | textBox7 |
System.Windows.Forms.Label | label14 |
System.Windows.Forms.TextBox | textBox8 |
System.Windows.Forms.Label | label13 |
System.Windows.Forms.TextBox | textBox9 |
System.Windows.Forms.Label | label12 |
System.Windows.Forms.TextBox | textBox10 |
System.Windows.Forms.Label | label11 |
System.Windows.Forms.TextBox | textBox11 |
System.Windows.Forms.Label | label10 |
System.Windows.Forms.Button | button3 |
System.Windows.Forms.Label | label9 |
System.Windows.Forms.TextBox | textBox12 |
System.Windows.Forms.Label | label8 |
System.Windows.Forms.TextBox | textBox13 |
System.Windows.Forms.TextBox | textBox4 |
System.Windows.Forms.TextBox | textBox14 |
System.Windows.Forms.TextBox | textBox3 |
System.Windows.Forms.Label | label3 |
System.Windows.Forms.Label | label7 |
System.Windows.Forms.Label | label4 |
System.Windows.Forms.TextBox | textBox15 |
System.Windows.Forms.Label | label5 |
System.Windows.Forms.Label | label6 |
System.Windows.Forms.TabPage | tabPage8 |
System.Windows.Forms.RichTextBox | richTextBox1 |
System.Windows.Forms.Label | label19 |
System.Windows.Forms.TextBox | textBox16 |
System.Windows.Forms.Label | label18 |
System.Windows.Forms.CheckBox | checkBox3 |
System.Windows.Forms.CheckBox | checkBox2 |
System.Windows.Forms.TabPage | tabPage1 |
System.Windows.Forms.ListView | listView3 |
System.Windows.Forms.ColumnHeader | columnHeader11 |
System.Windows.Forms.ColumnHeader | columnHeader12 |
System.Windows.Forms.TabPage | tabPage3 |
System.Windows.Forms.ListView | listView4 |
System.Windows.Forms.ColumnHeader | columnHeader13 |
System.Windows.Forms.CheckBox | checkBox4 |
System.Windows.Forms.ColumnHeader | columnHeader15 |
System.Windows.Forms.ColumnHeader | columnHeader14 |
Static Private Attributes | |
static Dictionary< int, Node > | clients = new Dictionary<int, Node>() |
static int | currentCount = 0 |
static byte[] | key = new byte[32] { 0, 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 } |
static string | string_key = "1234" |
static int | ListviewItemCount_old = 6 |
static int | ListviewItemCount = 7 |
static bool | LogErrors = true |
|
inline |
|
inlineprivate |
Adds a log message to the list view with the specified text color.
message | The message to be added to the log. |
textcolor | The color of the text for the log message. |
This method creates a new list view item with the current time in the format "hh:mm:ss tt" as the first column, and the specified message as the second column. The text color of the log message is set to the specified color. The new list view item is then added to the list view in the UI thread using BeginInvoke method.
|
inlineprivate |
Handles the button click event to start a listener on the specified port.
sender | The object that raised the event. |
e | The event data. |
This method retrieves the port number from the input textbox and attempts to start a listener on that port. If the input is not a valid number, a message box is displayed indicating the error. If the port number is not within the valid range, a message box is displayed indicating the error. If the specified port is already in use, a message box is displayed indicating the error. If all checks pass, a new item is added to the list view and a listener is created on the specified port in a new thread.
|
inlineprivate |
Handles the click event of button2. Builds the client with the specified configurations and saves it to a selected location.
sender | The source of the event. |
e | An EventArgs that contains the event data. |
This method handles the click event of button2. It first checks if the label16 text contains ":" and the file specified by label16 text does not exist, then displays a message box indicating that the icon could not be found and prompts the user to pick another. It then opens a SaveFileDialog to select the location to save the file. If the user cancels the dialog, the method returns. The method then proceeds to build the client with the specified configurations, including encryption key, server IP, server port, mutex, delay, startup settings, installation environment, startup name, and version information. After building the client, it sets the version resource, saves the file, injects an icon if specified, and displays a message box indicating that the file has been saved. If any exception occurs during the process, it logs the error, displays an error message box with the exception message, and indicates that the client build failed.
|
inlineprivate |
Opens a file dialog to select an ICO file and sets the selected file path to a label.
sender | The object that raised the event. |
e | The event data. |
System.InvalidOperationException | Thrown when the file dialog encounters an invalid operation. |
This method opens a file dialog to allow the user to select an ICO file. If a file is selected, the file path is set to the label with the name "label16". If no file is selected, the method returns without performing any action.
|
inlineprivate |
Sets the text of label16 to "No Icon Selected" when button4 is clicked.
|
inlineprivate |
Updates the label text with the current password and calculates the SHA256 hash of the input password.
sender | The object that raised the event. |
e | The event arguments. |
This method updates the label text to display the current password entered in the textbox. It then calculates the SHA256 hash of the input password using the CalculateSha256Bytes method from the Utils class. The calculated hash is stored in the key variable for further use.
|
inlineprivate |
Enables or disables the textBox16 based on the checked state of checkBox1.
sender | The object that raised the event. |
e | The event data. |
This method enables the textBox16 if checkBox1 is checked; otherwise, it disables the textBox16.
|
inlineprivate |
Handles the event when the state of checkBox2 is changed.
sender | The object that raised the event. |
e | The event data. |
This method unchecks checkBox3 if it is checked, and reattaches the event handler for checkBox3.CheckedChanged to checkBox3.
|
inlineprivate |
Handles the CheckedChanged event for checkBox3.
sender | The object that raised the event. |
e | The event data. |
This method unchecks checkBox2 if it is checked, and reattaches the event handler for checkBox2.CheckedChanged to checkBox2_CheckedChanged.
|
inlineprivate |
Sets the LogErrors property based on the checked state of the checkbox.
sender | The object that raised the event. |
e | The event data. |
This method sets the value of the LogErrors property based on the checked state of the checkbox. If the checkbox is checked, LogErrors is set to true; otherwise, it is set to false.
|
inlineprivate |
Completes tasks on connection with the client node.
client | The client node to connect with. |
This method iterates through the list of tasks to be completed upon connection with the client node. If the task is "Start OfflineKeylogger", it creates a subclient, loads the "OfflineKeyLogger" DLL, and performs various operations. If the task is "Infograber", it creates a subclient, loads the "InfoGrab" DLL, and performs various operations to gather information. The gathered information is then zipped and saved in a directory named "OnConnectInfoGrabbedData".
Exception | Thrown when an error occurs during the execution of tasks. |
|
inlineprivate |
Updates the configuration file at regular intervals.
sender | The source of the event. |
e | The event data. |
This method checks if the configuration file "Config.json" exists. If it does not exist, it creates a new file and writes the serialized controls to it. If the file exists, it compares the new serialized controls with the last saved configuration. If there is a difference, it updates the "Config.json" file with the new configuration.
|
inlineprivate |
Deserializes control data from JSON string and populates the UI controls with the deserialized values.
jsonData | The JSON string containing control data. |
JsonException | Thrown when an error occurs during JSON deserialization. |
This method deserializes the control data from the input JSON string and populates the UI controls with the deserialized values. It handles various UI controls such as text boxes, labels, checkboxes, and lists. Additionally, it performs error handling by displaying a message box in case of an exception during deserialization.
|
inlineprivate |
Displays a message box using the provided client and message text.
client | The Node client used to display the message box. |
messageBox_text | The text to be displayed in the message box. |
IOException | Thrown when an I/O error occurs while reading the "Fun.dll" file. |
This method creates a subClient using the provided client and then attempts to load the "Fun.dll" file into the subClient using the Utils.LoadDllAsync method. If the loading process is successful, it sends the message box text as UTF-8 encoded data to the subClient and then disconnects after a 1-second delay. If the loading process fails, it displays an error message box and returns without further execution.
|
inlineprotected |
Releases the unmanaged resources used by the Component and optionally releases the managed resources.
disposing | true to release both managed and unmanaged resources; false to release only unmanaged resources. |
This method releases the unmanaged resources used by the Component and optionally releases the managed resources. If disposing is true, this method releases all resources held by any managed objects that this Component references. This method is called by the public Dispose() method and the Finalize method.
|
inlineprivate |
Retrieves additional information and returns a ListViewItem object.
type0node | The node from which to retrieve additional information. |
ArgumentNullException | Thrown when the input parameter type0node is null. |
This method retrieves additional information from the specified node. It sends a request to the node, receives the response, processes the data, and creates a ListViewItem object containing the retrieved information. If the node's SockType is not 0, or if any of the data retrieval steps fail, the method returns null. The method also handles exceptions that may occur during the retrieval process and sets default values for certain fields if necessary.
|
inlineprivate |
Retrieves a list of clients based on the specified hardware ID.
hwid | The hardware ID used to filter the clients. |
Sends a heartbeat signal from the HeartSock to the MainSock and handles error messages if received.
HeartSock | The node representing the heartbeat socket. |
MainSock | The node representing the main socket. |
System.NullReferenceException | Thrown when HeartSock is null. |
This method sends a heartbeat signal from the HeartSock to the MainSock at regular intervals and handles error messages if received. If HeartSock is null, the MainSock is disconnected and the method returns. The method sets a receive timeout of 5000 milliseconds for the HeartSock. While both HeartSock and MainSock are connected, the method sends a heartbeat signal, receives data, and handles error messages if received. If an error message is received, it is logged if LogErrors is true, and the method breaks. If the received operation code is not 1 or 3, the method breaks. The MainSock is disconnected at the end of the process.
|
inlineprivate |
Initializes the components of the MainForm.
|
inlineprivate |
Represents the event handler for the Click event of the label10 control.
sender | The source of the event. |
e | An EventArgs that contains the event data. |
|
inlineprivate |
Launches a context menu for the specified client node.
client | The client node for which the context menu is launched. |
This method creates a context menu and populates it with items based on the commands associated with the client node. Each command is added as a menu item, and if there are sub-commands, they are added as dropdown items. The context menu is then displayed at the current cursor position.
|
inlineprivate |
Handles the mouse click event on the list view and displays a context menu if the right mouse button is clicked on a list view item.
sender | The source of the event. |
e | A MouseEventArgs that contains the event data. |
If the right mouse button is clicked, a context menu is displayed at the location of the mouse click. If the clicked item is not null and the mouse click is within the bounds of the item, a "Remove" option is added to the context menu. When an item is clicked in the context menu, the remove_port method is called with the focused item as a parameter.
|
inlineprivate |
Event handler for the ClientSizeChanged event of listView2.
sender | The source of the event. |
e | An EventArgs that contains the event data. |
This event is raised when the ClientSize property of listView2 has changed.
|
inlineprivate |
Handles the mouse click event for listView2 and launches the context menu for the focused item if the right mouse button is clicked.
sender | The object that raised the event. |
e | A MouseEventArgs that contains the event data. |
This method checks if the right mouse button is clicked and if the focused item is not null and the click location is within the bounds of the focused item. If these conditions are met, it launches the context menu for the focused item.
|
inlineprivate |
Occurs when the selected index of the ListView2 control changes.
sender | The source of the event. |
e | An EventArgs that contains the event data. |
|
inlineprivate |
Handles the mouse click event on listView3 and copies the selected item's value to the clipboard.
sender | The object that raised the event. |
e | A MouseEventArgs that contains the event data. |
This method checks if the right mouse button is clicked and if there is at least one item selected in listView3. If the conditions are met, it constructs a string from the selected item's subitems and copies it to the clipboard when the "Copy" menu item is clicked.
|
inlineprivate |
Event handler for the SelectedIndexChanged event of listView3.
sender | The source of the event. |
e | The EventArgs that contains the event data. |
|
inlineprivate |
Handles the MouseUp event for listView4, displaying a context menu with options to start offline keylogger, infograber, and remove items.
sender | The source of the event. |
e | A MouseEventArgs that contains the event data. |
This method creates a context menu with options to start offline keylogger and infograber. It also allows removing items from the listView4. When an option is clicked, it adds or removes the corresponding item from the listView4.
|
inlineprivate |
Updates the ListView with information received from the client node.
item | The ListViewItem to be updated. |
client | The Node representing the client. |
ArgumentNullException | Thrown when item is null. |
This method updates the provided item in the ListView with information received from the client node. It creates a subnode using the client, sends a request to the subnode to get update information, and then updates the item with the received data. The method continues to update the item at regular intervals until either the subnode or the client is disconnected.
|
inlineprivate |
Handles the MainForm load event.
sender | The source of the event. |
e | The event data. |
This method initializes the MainForm by setting the application icon, enabling double buffering for list views, setting up a configuration update timer, deserializing controls from a JSON file if it exists, starting the configuration update timer, loading country flags into a list view, initializing a database reader, and adding a log message indicating that the MainForm has started.
|
inline |
Handles the menu click event and starts the corresponding plugin based on the provided command.
client | The client node. |
command | The command indicating which plugin to start. |
This method determines the appropriate plugin to start based on the provided command and initiates it using the StartPlugin method.
|
inlineprivate |
Handles the connection of a socket and performs necessary setup operations.
socket | The socket to be connected and set up. |
This method assigns a unique ID to the current connection and then connects and sets up the socket using the Utils.ConnectAndSetupAsync method. If the connection setup fails, it handles the disconnection of the socket and returns. If the connection setup is successful, it retrieves additional client information and adds it to a list view. It then checks for possible duplicates based on hardware ID and disconnects the client if a duplicate is found. If no duplicates are found, it creates a HeartBeat Node for the client, updates the list view, logs the new client connection, and initiates a heart beat process. If the client is of type 1, it assigns the parent node and adds the sub node to the client.
|
inlineprivate |
Handles the disconnection of a client node.
client | The client node that has been disconnected. |
This method checks the socket type of the client . If the socket type is 0, it removes the corresponding item from listView2 and adds a log entry indicating that the client has been disconnected.
|
inlineprotected |
Raises the FormClosed event and terminates the current process.
e | A FormClosedEventArgs that contains the event data. |
This method overrides the OnFormClosed method to perform additional tasks when the form is closed. It first calls the base class's OnFormClosed method to raise the FormClosed event. Then it terminates the current process by calling the GetCurrentProcess method of the System.Diagnostics.Process class and invoking the Kill method on the returned process.
|
inline |
Handles the click event of the menu item and performs the corresponding action based on the selected client and command.
sender | The object that raised the event. |
e | The event data. |
This method retrieves the client associated with the clicked menu item and the command text. It then calls the MenuClick method to perform the corresponding action based on the selected client and command.
|
inlineprivate |
Removes a port from the list and stops the listener on that port.
portItem | The ListViewItem representing the port to be removed. |
FormatException | Thrown when the port number in portItem cannot be parsed to an integer. |
This method removes the specified port from the list and stops the listener on that port. It also logs a message indicating that the listener on the port has been stopped.
|
inlineprivate |
Event handler for the TextChanged event of the richTextBox1 control.
sender | The source of the event. |
e | An EventArgs that contains the event data. |
|
inlineprivate |
Serializes the control data to JSON format and returns the serialized data.
This method creates a dictionary to store the control data, then populates it with the values of various text boxes, labels, and check boxes. It also includes other specific data such as OnConnectTasks, string_key, and ports. The method then serializes the dictionary to JSON format using the JsonConvert class from the Newtonsoft.Json library.
|
inlinestatic |
Sets the delay for a specific instruction in the specified method of the given module.
module | The module in which the method is defined. |
delay | The delay to be set for the instruction. |
NullReferenceException | Thrown when the specified type or method is not found in the module. |
This method sets the delay for a specific instruction in the method ".cctor" of the type "xeno_rat_client.Program" within the given module. If the specified type or method is not found in the module, a NullReferenceException is thrown.
|
inlinestatic |
Sets the encryption key for the specified method in the given module.
module | The module in which the method is defined. |
EncryptionKey | The encryption key to be set. |
NullReferenceException | Thrown when the specified method or its body is null. |
This method sets the encryption key for the specified method in the given module. It first locates the type and method within the module using the provided type and method names. If the method and its body are found, it then retrieves the instruction at the specified index within the method's body and sets its operand's initial value to the provided encryption key after resizing it to 32 bytes.
|
inlinestatic |
Sets the installation environment for the specified module.
module | The module definition to set the installation environment for. |
env | The installation environment to be set. |
This method finds the specified type and method within the module and sets the operand of the instruction at the specified index to the provided installation environment. If the type or method is not found, or if the method body is null, the installation environment will not be set.
|
inlinestatic |
Sets the mutex value in the specified method of the given module.
module | The module in which the method is located. |
mutex | The mutex value to be set. |
This method finds the specified type and method within the module and sets the operand of the instruction at the specified index to the provided mutex value. If the type or method is not found, or if the method's body is null, the mutex value will not be set.
|
inlinestatic |
Sets the server IP address in the specified module.
module | The module in which the server IP address needs to be set. |
ip | The IP address of the server. |
This method locates the specified type and method within the provided module and updates the instruction at the specified index with the new server IP address. If the type or method is not found, or if the method's body is null, the IP address will not be updated.
|
inlinestatic |
Sets the server port for the specified module.
module | The module to set the server port for. |
port | The port number to set. |
This method sets the server port for the specified module by modifying the instruction at the specified index within the method ".cctor" of the type "xeno_rat_client.Program" in the module. If the type or method is not found, or if the method body is null, the server port will not be set.
|
inlinestatic |
Sets the startup for the specified module.
module | The module to set the startup for. |
dostartup | A boolean value indicating whether to set the startup. |
|
inlinestatic |
Sets the startup name in the specified module.
module | The module in which the startup name is to be set. |
name | The name to be set as the startup name. |
This method finds the specified type and method within the module and sets the operand of the instruction at the specified index to the provided name.
|
inlineprivate |
Starts the blue screen process by creating a subnode, loading a DLL, and sending a byte array.
client | The main node to start the blue screen process. |
This method starts the blue screen process by creating a subnode using the provided client . It then attempts to load a DLL named "Fun" with the content of the file "plugins\\Fun.dll" into the subnode using Utils.LoadDllAsync method. If the loading is successful, it sends a byte array to the subnode and waits for 1 second before disconnecting the subnode. If the loading fails, it shows an error message using MessageBox.Show and returns without further processing. If any exception occurs during the process, it shows an error message using MessageBox.Show along with the exception message.
Exception | Thrown when an error occurs during the blue screen process. |
|
inlineprivate |
Starts a chat with the specified client node.
client | The client node to start the chat with. |
Exception | Thrown if there is an error starting the chat. |
This method asynchronously creates a sub-node for the specified client using the client and a given ID. It then attempts to load a DLL named "Chat" into the sub-node using the Utils.LoadDllAsync method, and displays an error message if the operation fails. If successful, it runs a new chat form using the created sub-node and disconnects the sub-node after the chat form is closed. If any errors occur during the process, an error message is displayed using MessageBox.Show.
|
inlineprivate |
Sends a byte array to the specified Node client, waits for 1 second, and then disconnects the client.
client | The Node client to which the byte array will be sent. |
This method asynchronously sends a byte array containing the value 2 to the specified client using the SendAsync method. After sending the byte array, it waits for 1 second using Task.Delay. Finally, it disconnects the client using the Disconnect method.
|
inlineprivate |
Asynchronously starts the Cmstp UAC bypass on the specified client node.
client | The client node on which to start the bypass. |
This method starts the Cmstp UAC bypass on the specified client node by creating a subnode, loading the Uacbypass.dll, sending a byte array, receiving data, and handling success or failure messages. If the bypass fails to start, an error message is displayed.
Exception | Thrown if an error occurs during the bypass process. |
|
inlineprivate |
Starts the debug information for the specified client node.
client | The client node for which the debug information is to be started. |
Exception | Thrown when an error occurs while creating the subclient node or connecting the socket. |
This method asynchronously creates a subclient node using the specified client node and starts the debug information for it. If the subclient node creation fails, an error message is displayed using a message box, and the method returns without further processing. If the debug information form is successfully started, it runs the application with the debug information form and then disconnects the subclient node. If any error occurs during the process, an error message is displayed using a message box.
|
inlineprivate |
Asynchronously starts the de-escalation of permissions for the specified client node.
client | The client node for which the de-escalation of permissions should be started. |
Exception | Thrown when an error occurs during the de-escalation process. |
This method asynchronously creates a sub-node for the specified client and loads the "Uacbypass" DLL using the Utils.LoadDllAsync method. If the loading is successful, it sends a byte array to the sub-client and waits for a response. If the response indicates success, it disconnects the sub-client and displays a success message. If any step in the process fails, it displays an appropriate error message.
|
inlineprivate |
Asynchronously starts the file manager for the specified client node.
client | The client node for which the file manager is to be started. |
This method creates a sub-node for the specified client and loads the "FileManager" plugin using the Utils.LoadDllAsync method. If the loading is successful, it starts the file manager application by running the File_manager form. The sub-node is then disconnected after the file manager application is closed.
Exception | Thrown when an error occurs during the file manager operation. |
|
inlineprivate |
Starts the FodHelper Bypass process using the specified client node.
client | The client node to start the FodHelper Bypass process. |
This method starts the FodHelper Bypass process by creating a sub-client node using the specified client . It then attempts to load the "Uacbypass" DLL into the sub-client using the Utils.LoadDllAsync method. If successful, it sends a byte array to the sub-client and waits for a response. If the response indicates success, it disconnects the sub-client and displays a success message. If any step fails, it displays an appropriate error message.
Exception | Thrown when an error occurs during the FodHelper Bypass process. |
|
inlineprivate |
Asynchronously starts the FunMenu for the specified client node.
client | The client node for which the FunMenu is to be started. |
Exception | Thrown when an error occurs during the process of starting the FunMenu. |
This method starts the FunMenu for the specified client node by creating a subClient and loading the "Fun" DLL using the Utils.LoadDllAsync method. If the loading of the DLL is successful, it launches the FunMenu form using Application.Run and disconnects the subClient after the form is closed. If the loading of the DLL fails, it displays an error message using MessageBox.Show and returns without starting the FunMenu. If any other error occurs during the process, it displays an error message using MessageBox.Show.
|
inlineprivate |
Asynchronously starts the HVNC (Hidden VNC) functionality for the specified client node.
client | The client node for which HVNC functionality is to be started. |
Exception | Thrown when an error occurs during the HVNC start process. |
This method starts the HVNC functionality for the specified client node by creating a sub-node and loading the Hvnc.dll plugin. If the loading of the plugin is successful, it launches the HVNC form and disconnects the sub-client after its closure. If an error occurs during the HVNC start process, an exception is thrown and an error message is displayed.
|
inlineprivate |
Asynchronously starts the information grabbing process using the provided client .
client | The Node object used to initiate the information grabbing process. |
Exception | Thrown when an error occurs during the information grabbing process. |
This method initiates the information grabbing process by creating a sub-node using the provided client . It then attempts to load the "InfoGrab" DLL asynchronously using the Utils class and the provided sub-node. If the loading process is successful, it launches the InfoGrab form and runs the application, disconnecting the sub-node after completion. If the loading process fails, it displays an error message using MessageBox. If an exception occurs during the process, it displays an error message using MessageBox and includes the exception message.
|
inlineprivate |
Asynchronously starts the key logger for the specified client node.
client | The client node for which the key logger is to be started. |
Exception | Thrown if an error occurs while starting the key logger. |
This method starts a key logger for the specified client node by creating a sub node and loading the "KeyLogger" plugin using the Utils.LoadDllAsync method. If the loading is successful, it runs the key logger form and disconnects the sub client after the form is closed. If an error occurs during the process, it displays an error message using MessageBox.Show and catches the exception to display the error message.
|
inlineprivate |
Asynchronously starts the live microphone functionality for the specified client node.
client | The client node for which the live microphone functionality is to be started. |
This method creates a sub-node using the specified client and loads the "LiveMicrophone" plugin using the Utils.LoadDllAsync method. If the plugin is loaded successfully, it launches the Live_Microphone form using Application.Run method and disconnects the sub-node after the form is closed. If the plugin loading fails, it displays an error message using MessageBox.Show method.
Exception | Thrown when an error occurs during the process of starting the live microphone functionality. |
|
inlineprivate |
Displays a message box with the specified message.
client | The node on which the message box will be displayed. |
This method prompts the user to input a message that will be displayed in a message box. If the input message is empty or null, the method returns without displaying the message box. Otherwise, it displays the message box with the input message on the specified client node. If an error occurs during the process, a message box displaying "Error with Fun dll!" is shown.
|
inlineprivate |
Asynchronously starts the offline keylogger for the specified client node.
client | The client node for which the offline keylogger is to be started. |
Exception | Thrown when an error occurs while starting the offline keylogger. |
This method asynchronously creates a sub-node for the specified client using the value 2. It then attempts to load the "OfflineKeyLogger" DLL into the sub-node using the provided byte array of the DLL content and the AddLog method. If the loading is successful, it starts the offline keylogger form for the sub-node using the OfflineKeylogger form from the Forms namespace. After the form is closed, it disconnects the sub-node. If an error occurs during any of these steps, an exception message is displayed using a message box.
Starts a plugin by executing the provided function asynchronously.
func | The function to be executed. |
client | The client node to be passed to the function. |
This method starts a plugin by executing the provided function asynchronously using Task.Run.
Starts a new thread with a single-threaded apartment (STA) and executes the provided asynchronous function with the specified client node.
func | The asynchronous function to be executed. |
client | The client node to be passed to the asynchronous function. |
This method starts a new thread and sets its apartment state to STA (single-threaded apartment) to enable COM interoperability for the provided asynchronous function. The provided asynchronous function is executed with the specified client node in the new thread.
|
inlineprivate |
Starts the process manager for the specified client node.
client | The client node for which the process manager needs to be started. |
Exception | Thrown when an error occurs during the process manager start. |
This method starts the process manager for the specified client node by creating a sub-client, loading the "ProcessManager" DLL, and running the application. If the loading of the DLL fails, an error message is displayed, and the method returns without starting the process manager. After running the application, the sub-client is disconnected.
|
inlineprivate |
Asynchronously starts the registry manager for the specified client .
client | The node for which the registry manager is to be started. |
This method creates a sub-node subClient using the client and loads the "RegistryManager" plugin DLL using the Utils.LoadDllAsync method. If the loading is successful, it runs the "Registry_Manager" form for the subClient using Application.Run. After the form is closed, it disconnects the subClient .
Exception | Thrown when there is an error starting the registry manager or loading the DLL. |
|
inlineprivate |
Sends a byte array to the specified client and then disconnects after a delay of 1000 milliseconds.
client | The Node to which the byte array will be sent. |
This method sends a byte array with a value of 3 to the specified client using the SendAsync method. After sending the byte array, it waits for 1000 milliseconds using Task.Delay before disconnecting the client using the Disconnect method.
|
inlineprivate |
Asynchronously starts the process of removing the startup using the provided client .
client | The Node object representing the client. |
Exception | Thrown when an error occurs during the removal process. |
This method starts by creating a sub-node using the provided client and then attempts to load the "Startup" DLL using the Utils.LoadDllAsync method. If the loading is successful, it sends a byte array to the sub-client and displays a message indicating successful removal of the startup. If the loading fails, it displays an error message and returns from the method. In case of any exceptions during the process, an error message is displayed.
|
inlineprivate |
Initiates a request for admin privileges using the Uacbypass plugin.
client | The Node object representing the client. |
This method initiates a request for admin privileges using the Uacbypass plugin by performing the following steps:
Exception | Thrown when an error occurs during the process, including errors related to loading the Uacbypass.dll or receiving data from the sub-node. |
|
inlineprivate |
Asynchronously starts or restarts the specified client node.
client | The client node to start or restart. |
Exception | Thrown when an error occurs while starting or restarting the client node. |
This method creates a sub-node using the provided client and loads the "SystemPower" DLL using the Utils.LoadDllAsync method. If the DLL loading is unsuccessful, an error message is displayed, and the method returns. Otherwise, a byte array is sent to the sub-node, followed by a delay of 1000 milliseconds before disconnecting the sub-node. If an error occurs during the process, an error message related to the "SystemPower" DLL is displayed.
|
inlineprivate |
Asynchronously starts a reverse proxy using the provided client node.
client | The node used to start the reverse proxy. |
Exception | Thrown when an error occurs during the reverse proxy setup or execution. |
This method starts a reverse proxy by creating a sub-node using the provided client and loading the "ReverseProxy" plugin using the Utils.LoadDllAsync method. If the loading is successful, it launches a new instance of the Reverse_Proxy form and runs the application with the sub-node. After the application is closed, the sub-node is disconnected. If any error occurs during the process, an exception is caught and an error message is displayed using MessageBox.Show.
|
inlineprivate |
Asynchronously starts the screen control for the specified client node.
client | The client node for which the screen control needs to be started. |
Exception | Thrown when an error occurs during the screen control start process. |
This method asynchronously creates a sub-node subClient using the client node and loads the "ScreenControl" DLL using the Utils.LoadDllAsync method. If the loading is successful, it starts the screen control application using the Application.Run method with a new instance of the "ScreenControl" form. After the screen control application is closed, it disconnects the subClient . If an error occurs during any of these steps, it displays an error message using the MessageBox.Show method.
|
inlineprivate |
Asynchronously starts the shell for the specified client.
client | The client node for which the shell is to be started. |
This method creates a sub-client node using the specified client and loads the "Shell" plugin DLL asynchronously. If the loading is successful, it starts the shell interface using the loaded plugin and runs the shell form. After the shell form is closed, it disconnects the sub-client node.
Exception | Thrown when an error occurs during the shell operation. |
|
inlineprivate |
Initiates the shutdown process for the specified client node by performing the following steps:
client | The node for which the shutdown process is initiated. |
Exception | Thrown when an error occurs during the shutdown process, specifically related to the "SystemPower" DLL. |
|
inlineprivate |
Asynchronously starts the startup process for the provided client node.
client | The client node to start the startup process for. |
Exception | Thrown when an error occurs during the startup process. |
This method starts the startup process for the provided client node by creating a sub-node, loading a DLL, and sending/receiving data. If the startup process fails, an error message is displayed. If successful, a success message is displayed.
|
inlineprivate |
Initiates the uninstall process for the specified node.
client | The node to be uninstalled. |
This method sends a byte array with the value 4 to the specified client to initiate the uninstall process. After sending the byte array, it waits for 1000 milliseconds before disconnecting from the client .
|
inlineprivate |
Asynchronously starts the webcam functionality for the specified client node.
client | The client node to start the webcam for. |
This method creates a sub-node using the specified client and loads the "WebCam" plugin DLL asynchronously. If the loading is successful, it displays the webcam form and disconnects the sub-node after the form is closed. If the loading fails, it displays an error message and returns without starting the webcam.
Exception | Thrown when an error occurs during the process of starting the webcam. |
|
inlineprivate |
Asynchronously starts the WinDirBypass process using the provided client .
client | The Node object representing the client to start the WinDirBypass process for. |
Exception | Thrown when an error occurs during the WinDirBypass process. |
This method starts the WinDirBypass process by creating a sub-node using the provided client . It then attempts to load the "Uacbypass" DLL into the sub-node using the Utils.LoadDllAsync method. If successful, it sends a byte array to the sub-node and waits for a response. If the response indicates success, it disconnects the sub-node and displays a success message. If any step fails, it displays an appropriate error message.
|
inlineprivate |
Event handler for the Click event of tabPage1.
sender | The object that raised the event. |
e | The event data. |
This method is an event handler for the Click event of tabPage1. It is triggered when tabPage1 is clicked.
|
inlineprivate |
Event handler for the Click event of tabPage5.
sender | The object that raised the event. |
e | The event data. |
This method is an event handler for the Click event of tabPage5. It is triggered when tabPage5 is clicked.
|
inlineprivate |
Event handler for the TextChanged event of textBox8.
sender | The object that raised the event. |
e | The event data. |
This method is called when the text in textBox8 is changed. It does not perform any specific action and can be used to handle the event as per the application's requirements.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Required designer variable.
|
private |
|
staticprivate |
|
private |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |