Corromper documentos

Iniciado por Tomas1982, 19 Diciembre 2016, 02:26 AM

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

Tomas1982

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 

engel lex

depende de la estructura del documento con alterar algunos bits del inicio, el medio o el fin, estarán muertos...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Tomas1982

me pudieras explicar como hacerlo. gracias

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Eleкtro

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.








dato000

Cita de: 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.

woooooooooooot??



Eleкtro

#6
Cita de: dato000 en 21 Diciembre 2016, 22:25 PM
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).


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 (dos) [Seleccionar]
@Echo OFF
:: 1 GB filesize
FsUtil.exe File CreateNew "C:\DummyFile.tmp" 1073741824
Pause&Exit





Ejemplo en VB.NET:

Código (vbnet) [Seleccionar]
Imports System.Diagnostics
Imports System.IO


Código (vbnet) [Seleccionar]
''' ----------------------------------------------------------------------------------------------------
''' <summary>
''' Creates a dummy file (zero-filled) of the specified filesize.
''' </summary>
''' ----------------------------------------------------------------------------------------------------
<DebuggerStepThrough>
Public Shared Sub CreateDummyFile(ByVal filepath As String, ByVal size As Long)

   If File.Exists(filepath) Then
       Throw New IOException(message:="Target file already exists.")

   Else
       Dim bufferSize As Integer = 4096 ' 4 KB.
       Using fs As New FileStream(filepath, FileMode.CreateNew, FileAccess.Write, FileShare.Read, bufferSize)
           fs.SetLength(size)
       End Using

   End If

End Sub


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




Ejemplo en C#:
Código (csharp) [Seleccionar]
using System.Diagnostics;
using System.IO;


Código (csharp) [Seleccionar]
/// ----------------------------------------------------------------------------------------------------
/// <summary>
/// Creates a dummy file (zero-filled) of the specified filesize.
/// </summary>
/// ----------------------------------------------------------------------------------------------------
[DebuggerStepThrough()]
public static void CreateDummyFile(string filepath, long size) {

   if (File.Exists(filepath)) {
       throw new IOException(message: "Target file already exists.");

   } else {
       int bufferSize = 4096; // 4 KB.
       using (FileStream fs = new FileStream(filepath, FileMode.CreateNew, FileAccess.Write, FileShare.Read, bufferSize)) {
           fs.SetLength(size);
       }

   }
}


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

Saludos!








dato000

Por eso eres el sensei, pero en serio crear un archivo de 1 gb??? eso si es querer joder en serio... ;-) ;-)