elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Archivos de broma con C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Archivos de broma con C#  (Leído 5,698 veces)
Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Archivos de broma con C#
« en: 12 Diciembre 2009, 00:42 am »

Hola:

Me ha enviado un archivo en CMD de broma que me llena los PenDrive de 8 GB a tope. En mi caso le quiero devolver la jugada en plan broma y lo único que se me ocurre es esto. Tarda en escribirse, pero él lo hacía más rapido  que mi método. ¿Alguien le sale mejor?

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. using System.IO; // No olvidar desde aquí.
  7.  
  8. namespace CMD_Serie
  9. {
  10.    class Program
  11.    {
  12.        private const string FILE_NAME = "Archivo.txt";
  13.  
  14.        static void Main(string[] args)
  15.        {
  16.            if (File.Exists(FILE_NAME))
  17.            {
  18.                Console.WriteLine("{0} ya existe.", FILE_NAME);
  19.                Console.ReadKey();
  20.                return;
  21.            }
  22.            using (StreamWriter sw = File.CreateText(FILE_NAME))
  23.            {
  24.                for (long i = 1; i <= 999999999999999999; i++)
  25.                {
  26.                    Console.WriteLine(i);
  27.                    sw.WriteLine(i);
  28.                    //sw.Close();
  29.                }
  30.            }
  31.        }
  32.    }
  33. }
  34.  

Saludo.


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #1 en: 12 Diciembre 2009, 00:53 am »

y si en vez de escribir un archivo, copias tu mismo ejecutable?? Usa File.Copy y Application.StartUpPath + ExeName  ;D


En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #2 en: 12 Diciembre 2009, 01:04 am »

Jejejejej ¿Qué logras exactamente con eso?  ;D ;-)

Ideas las puedes sacar de aquí, sobre los archivos.
http://msdn.microsoft.com/es-es/library/system.io.streamwriter%28VS.80%29.aspx

Lo bueno sería que no se viece la ventana mientas se le llena el disco duro o pendriver.



Saludo.
« Última modificación: 12 Diciembre 2009, 01:14 am por Meta » En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #3 en: 12 Diciembre 2009, 04:39 am »

jeje me acuerdo cuando hacia esto, con pascal  :P, pero lo hacia de la siguiente forma, en vez de hacer un For como estas haciendo, lo hacia con un bucle que no terminaba, un do while...y como condición le ponia 1=3 , como el 1 nunca va a ser igual a 3 entonces el bucle seguia indefinidamente y se trababa toda la pc , casi usando todo el recurso al 100%, y si no te dabas cuenta en 1 minuto te podia consumir el disco de 80GB.... te lo aseguro  :P. y para colmo le ponia que inice con windows y no habia manera de pararlo, se iniciaba el widnows y empezaba a escribir como loco...como veran yo tuve mis momentos de furia.. :P
En línea

isseu


Desconectado Desconectado

Mensajes: 325


°º¤ø,¸¸,El conocimiento es poder°º¤ø,¸¸,ø¤º°`°º¤ø,


Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #4 en: 12 Diciembre 2009, 04:49 am »

jeje me acuerdo cuando hacia esto, con pascal  :P, pero lo hacia de la siguiente forma, en vez de hacer un For como estas haciendo, lo hacia con un bucle que no terminaba, un do while
Cierto, pero yo haria algo asi:
Código
  1. while (true)
  2. {
  3.    Console.WriteLine(i);
  4.    sw.WriteLine(i);
  5. }
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #5 en: 12 Diciembre 2009, 15:03 pm »

Claro, pero si llenan la consola nunca se tildaria, un formualrio invisible (o mejor, un proyecto Windows sin formularios ;-) y en algun momento se tendria que cerrar el archivo a escribirse no?

Jejejejej ¿Qué logras exactamente con eso?  ;D ;-)

Seria interminable y bloquearia la PC. Imagina, Copias 3 veces tu propio ejectuable (esta bien, son 3kb, agregale algun recurso "pesado") y luego ejecuta cada uno de los 3 y vuelves a copiarte y vuelves a ejecutarlos y vuelves a copiarte ;-) (pasas de 1 a 3, de 3 a 9, de 9 a 27, de 27 a .... ya sabes xD)
Y para que no te tire excepcion de archivos duplicados, agrega un numero id al ejecutable, y cuando lo copias le sumas uno, cuando se ejecuta obten su propio numero a partir de su nombre, si no tiene es por que es el primero ;-)
« Última modificación: 12 Diciembre 2009, 15:05 pm por raul338 » En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #6 en: 12 Diciembre 2009, 22:18 pm »

No tengo aun VS, me ha dado de todo bajarlo jaja mi conexión anda lenta.. Espero complile xD

Pruebalo asi jajaj debería escribir hasta que se llene el disco/unidad/o lo que sea jaja de un exception y termine el ciclo =P

Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.IO; // No olvidar desde aquí.
 
namespace CMD_Serie
{
    class Program
    {
        private const string FILE_NAME = "Archivo.txt";
 
        static void Main(string[] args)
        {
            using (StreamWriter sw = File.CreateText(FILE_NAME))
            {
                while(true)
                {
                   try
                   {
                        sw.WriteLine("Hola viteh!!");
                   }
                   catch { break; // =P}
                   
                }
            }
        }
    }
}
 
En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #7 en: 12 Diciembre 2009, 23:00 pm »

Está buena las ideas. ME dieron este nuevo. Este si que va rápido, aunque el de arriba dice qeu en un minuto ya tiene 80GB, eso es imposible, cuando lo vea me lo creo, ni con el último i7 o el nuevo i9.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.IO;
  5. using System.Diagnostics.CodeAnalysis;
  6.  
  7. namespace CMD_serie
  8. {
  9.    class Program
  10.    {
  11.        private const string FILE_NAME = "Archivo.txt";
  12.        public static BinaryWriter sw;
  13.  
  14.        public static void data(IAsyncResult x)
  15.        {
  16.            sw.BaseStream.EndWrite(x);
  17.        }
  18.  
  19.        static void Main(string[] args)
  20.        {
  21.            byte[] datos = Encoding.ASCII.GetBytes((new string('A', 45000000)));
  22.  
  23.            if (File.Exists(FILE_NAME))
  24.            {
  25.                Console.WriteLine("{0} ya existe.", FILE_NAME);
  26.                Console.ReadKey();
  27.                return;
  28.            }
  29.            FileStream fs = new FileStream(FILE_NAME, FileMode.Create);
  30.  
  31.            sw = new BinaryWriter(fs);
  32.  
  33.            for (long i = 1; i <= 30; i++)  // En lugar de escribir 9999999999999999 pocos bytes
  34.            {                                          // Mejor escribo 45000000 de letras A 30 veces
  35.                sw.BaseStream.Flush();
  36.                sw.BaseStream.BeginWrite(datos, 0, datos.Length, new AsyncCallback(data), sw);//sw.Close();                    
  37.            }
  38.            sw.Close();
  39.        }
  40.  
  41.    }
  42. }
  43.  

raul338
Ahora lo pillo, eres muy listo.  ;-) ;-) ;-)

Lo del truco del

Código
  1. while (true)
  2. {
  3.    Console.WriteLine(i);
  4.    sw.WriteLine(i);
  5. }
  6.  

no había caído. Está bueno también.
En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #8 en: 19 Diciembre 2009, 06:46 am »

si, creo que exagere un poco con el tiempo y el tamaño, pero en una PC buena tenes por lo menos 6GB en un minuto, y si es una i7 o i9 entonces tenemos por lo menos 10GB por minuto.

saludos.
En línea

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: Archivos de broma con C#
« Respuesta #9 en: 19 Diciembre 2009, 13:35 pm »

jejje, aún así es mucho para una broma, 10GB por minuto.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines