Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Tomas1982 en 19 Diciembre 2016, 02:26 am



Título: Corromper documentos
Publicado por: Tomas1982 en 19 Diciembre 2016, 02:26 am
Buenas ante todo, si no les e de mucha molestia, necesito saber si existe la forma de dañar documentos de forma automática y como hacerlo. Saludos 


Título: Re: Corromper documentos
Publicado por: engel lex en 19 Diciembre 2016, 02:40 am
depende de la estructura del documento con alterar algunos bits del inicio, el medio o el fin, estarán muertos...


Título: Re: Corromper documentos
Publicado por: Tomas1982 en 19 Diciembre 2016, 03:15 am
me pudieras explicar como hacerlo. gracias


Título: Re: Corromper documentos
Publicado por: engel lex en 19 Diciembre 2016, 03:18 am
literalmente solo modificar bits... ya sea que uses un lenguaje de programación y reescribes una sección del archivo, ya sea que uses un editor y alteres cosas a mano... incluso puedes con un script borrar el archivo, y crear otro lleno con basura con el mismo nombre y extensión


Título: Re: Corromper documentos
Publicado por: Eleкtro en 19 Diciembre 2016, 16:56 pm
Si por "dañar" te refieres a estropear el documento de forma irrecuperable, entonces no es necesario estudiarse la estructura del formato, bastaría con crear un archivo de cero bytes, o un archivo dummy (ceros) del mismo tamaño original que el documento.

Saludos.


Título: Re: Corromper documentos
Publicado por: dato000 en 21 Diciembre 2016, 22:25 pm
Si por "dañar" te refieres a estropear el documento de forma irrecuperable, entonces no es necesario estudiarse la estructura del formato, bastaría con crear un archivo de cero bytes, o un archivo dummy (ceros) del mismo tamaño original que el documento.

Saludos.

woooooooooooot??


Título: Re: Corromper documentos
Publicado por: Eleкtro en 22 Diciembre 2016, 04:36 am
woooooooooooot??

Hola. ¿Qué es lo que no se ha entendido de mi comentario?. Propuse dos técnicas diferentes, con la primera me refería simplemente a reemplazar el documento original por un archivo "nulo" (tamaño: 0 bytes), o lo segundo es algo más sofisticado o digamos "camuflado" al ojo humano, sería reemplazar el documento original por un archivo dummy del mismo tamaño que el documento (el tamaño resultante sería "ficticio").

Vendría a ser lo que dijo @Engel Lex al final de su comentario, un archivo con basura, solo que con ciertos beneficios de eficiencia, el primero de todos es que evitamos la necesidad de desarrollar un algoritmo que genere bytes aleatorios (basura) para calcular y ocupar el espacio, serían simplemente zero-bytes, y gracias a esto el tiempo de ejecución necesario para la creación del archivo resultante se reduce a "cero" (tenga el tamaño que tenga, aunque generemos un archivo de 1 TeraByte, no tardará ni 50 ms en generarse), igual que si usamos cualquier herramienta de compresión para comprimir el archivo resultante, el ratio de compresión será 0%, al hacer la prueba con WinRAR por ejemplo, comprimir 1 GB de archivo dummy = un archivo RAR resultante de 523 kb (tamaño comprimido del archivo = 536 bytes).

  • Dummy Data - Wikipedia (https://en.wikipedia.org/wiki/Dummy_data)

Esta técnica se suele utilizar para crear un archivo de tamaño determinado en el que ir rellenando los datos/bytes, pero en este caso evidentemente no rellenariamos nada.



Ejemplo en Batch:
Código
  1. @Echo OFF
  2. :: 1 GB filesize
  3. FsUtil.exe File CreateNew "C:\DummyFile.tmp" 1073741824
  4. Pause&Exit



Ejemplo en VB.NET:

Código
  1. Imports System.Diagnostics
  2. Imports System.IO

Código
  1. ''' ----------------------------------------------------------------------------------------------------
  2. ''' <summary>
  3. ''' Creates a dummy file (zero-filled) of the specified filesize.
  4. ''' </summary>
  5. ''' ----------------------------------------------------------------------------------------------------
  6. <DebuggerStepThrough>
  7. Public Shared Sub CreateDummyFile(ByVal filepath As String, ByVal size As Long)
  8.  
  9.    If File.Exists(filepath) Then
  10.        Throw New IOException(message:="Target file already exists.")
  11.  
  12.    Else
  13.        Dim bufferSize As Integer = 4096 ' 4 KB.
  14.        Using fs As New FileStream(filepath, FileMode.CreateNew, FileAccess.Write, FileShare.Read, bufferSize)
  15.            fs.SetLength(size)
  16.        End Using
  17.  
  18.    End If
  19.  
  20. End Sub

Código
  1. CreateDummyFile("C:\DummyFile.tmp", CLng(1024L ^ 3L)) ' 1 GB filesize.



Ejemplo en C#:
Código
  1. using System.Diagnostics;
  2. using System.IO;

Código
  1. /// ----------------------------------------------------------------------------------------------------
  2. /// <summary>
  3. /// Creates a dummy file (zero-filled) of the specified filesize.
  4. /// </summary>
  5. /// ----------------------------------------------------------------------------------------------------
  6. [DebuggerStepThrough()]
  7. public static void CreateDummyFile(string filepath, long size) {
  8.  
  9.    if (File.Exists(filepath)) {
  10.        throw new IOException(message: "Target file already exists.");
  11.  
  12.    } else {
  13.        int bufferSize = 4096; // 4 KB.
  14.        using (FileStream fs = new FileStream(filepath, FileMode.CreateNew, FileAccess.Write, FileShare.Read, bufferSize)) {
  15.            fs.SetLength(size);
  16.        }
  17.  
  18.    }
  19. }

Código
  1. CreateDummyFile("C:\\DummyFile.tmp", Convert.ToInt64(Math.Pow(1024L, 3L))); // 1 GB filesize.

Saludos!


Título: Re: Corromper documentos
Publicado por: dato000 en 22 Diciembre 2016, 15:17 pm
Por eso eres el sensei, pero en serio crear un archivo de 1 gb??? eso si es querer joder en serio... ;-) ;-)