Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Keyen Night en 2 Mayo 2010, 18:14 pm



Título: Problemas Stream, Encoding
Publicado por: Keyen Night en 2 Mayo 2010, 18:14 pm
Bueno tengo un problema que ya me tiene aturdido y no se le ve el prosible error, estoy haciendo un programa que cifra archivos (es solo para practicar Stream, FileStream, StreamReader y StreamWriter).

Código
  1.        Dim x As New FileStream("C:\Ejecutable.exe", FileMode.Open)
  2.  
  3.        Dim y As New StreamReader(x, Encoding.Default)
  4.  
  5.        Dim z As New StreamWriter(New FileStream("C:\Ejecutable_Out.exe", FileMode.CreateNew), Encoding.Default)
  6.  
  7.        While Not y.EndOfStream
  8.  
  9.            z.WriteLine(EncryptByKey(y.ReadLine, "Ejemplo"))
  10.  
  11.        End While
  12.  
  13.        x.Close()
  14.        y.Close()
  15.        z.Close()
  16.  
  17. ''''' LUEGO '''''
  18.  
  19.        Dim x As New FileStream("C:\Ejecutable_Out.exe", FileMode.Open)
  20.  
  21.        Dim y As New StreamReader(x, Encoding.Default)
  22.  
  23.        Dim z As New StreamWriter(New FileStream("C:\Ejecutable_Out2.exe", FileMode.CreateNew), Encoding.Default)
  24.  
  25.        While Not y.EndOfStream
  26.  
  27.            z.WriteLine(DencryptByKey(y.ReadLine, "Ejemplo"))
  28.  
  29.        End While
  30.  
  31.        x.Close()
  32.        y.Close()
  33.        z.Close()

Bueno entonces basicamente abre un archivo ejecutable y lo va leyendo mientras va guardando en otro archivo solo que pasado por EncriptByKey una funcion que usa llaves para cifrar Strings, en este caso la llave "Ejemplo", y luego abre el archivo que escribimos anteriormente y hace lo mismo solo que al contrario, todo transcurre bien, incluso abro los 2 archivos con Notepad++ y "parecen ser" exactamente iguales (el original y el que se cifro y descifro), pero al verles el peso el que se proceso es ligeramente más grande que el original y obviamente el que escribimos está corrupto, algún problema con los Stream o con el Encoding?, o tengo otra forma de leer los archivos binarios como los ejecutable, pero aún en texto plano?

Pd: Bueno tambien debo resaltar que el problema no viene de las funciones para cifrar ya que sin usar las funciones tambien el archivo sale igual más grande, corrupto pero aparemente igual.

Gracias.


Título: Re: Problemas Stream, Encoding
Publicado por: MANULOMM en 2 Mayo 2010, 18:24 pm
pero cual es el problema?

Atentamente,

Juan Manuel Lombana
Microsoft Student Partner
Microsoft Certified Professional
Medellín - Colombia


Título: Re: Problemas Stream, Encoding
Publicado por: Keyen Night en 2 Mayo 2010, 18:28 pm
El archivo de salida es más grande que el original y debido a esto está corrupto, pero al abrirlo con Notepad++ es "aparentemente" igual.

Podria resumirse en que quiero usar Stream para escribir de un archivo a otro como si quisiera generar una copia de un archivo, pero no se porque el archivo final es más grande.


Título: Re: Problemas Stream, Encoding
Publicado por: MANULOMM en 2 Mayo 2010, 18:31 pm
pues esto depende del algoritmo de cifrado, que les estas enviando y talez estes adicionando algunos caracteres o demas, de hecho creo que hasta el nombre del archivo varia el peso pues se afecta la metadata del exe.

Atentamente,

Juan Manuel Lombana
Microsoft Student Partner
Microsoft Certified Professional
Medellín - Colombia


Título: Re: Problemas Stream, Encoding
Publicado por: Keyen Night en 2 Mayo 2010, 18:35 pm
Estuve pensando en eso porque un archivo ejecutable es el tipo de archivo mas delicado que existe. Bueno le hecharé un vistaso al algoritmo nuevamente y investigare un poco más sobre metada, y les sigo contando...