elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
26 Mayo 2012, 05:50  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía (Moderador: APOKLIPTICO)
| | | |-+  Reto: descifrar archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Reto: descifrar archivo  (Leído 2,014 veces)
deurus

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Reto: descifrar archivo
« en: 5 Septiembre 2011, 18:44 »

Haber si alguien me puede ayudar con esto. Tengo un fichero cifrado y ya que no estoy muy familiarizado con Java me gustaría que alguien me echara una mano.

Si alguien se anima le mando lo que tengo por email ya que supongo que teniendo los datos de cifrado, contruir un desencriptador será facilillo. Si quieres los archivos ponte en contacto conmigo.

Un saludo y gracias

Esto es un resumen de lo que tengo:

cifrado
------------
Tipo: PBEWithMD5AndDES
iterationCount = 19;
byte salt[] = {-87, -101, -56, 50, 86, 53, -29, 3 };
decryptPassword = "ESI";

-----------------
Cargar demos.java
-----------------
               try
                {
stream = Application1.crypto.decrypt((java.lang.Object.class).getResourceAsStream("/project/modulo" + demos.substring(6, demos.length() - 4) + ".xml"));
                    if(stream != null)
                    {
                        demosAMostrar = demosAMostrar + demos.substring(6, demos.length() - 4) + ";";
                        stream.close();
                    }
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }
            }

-----------------------------
Crypto.java (solo el decrypt)
----------- -----------------

    public InputStream decrypt(InputStream in)
    {
        if(AccederADatos.leer("h.desencriptarModulos").compareToIgnoreCase("S\355") == 0) //a omitir
            try
            {
                in = new CipherInputStream(in, dcipher);
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        return in;
    }

-----------------
Application1.java
-----------------
    static
    {
        crypto = new Crypto(AccederADatos.decryptPassword);
    }

------------
Applet1.java
------------

AccederADatos.decryptPassword = "ESI";





















« Última modificación: 6 Septiembre 2011, 22:54 por deurus » En línea
deurus

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Reto: descifrar archivo
« Respuesta #1 en: 6 Septiembre 2011, 22:40 »

Me he construido un desencriptador pero todavía falla algo, alguien ve por que falla el código???

import java.io.*;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.util.*;

public class FileDecryptor_custom
{
   private static String filename;
   private static String password;
   private static FileInputStream inFile;
   private static FileOutputStream outFile;
   //-----
   //bufi = new byte[1024];
   //m_buffer = new byte[10240];

   /**
    * Note: All kinds of exceptions can be thrown in main.
    * See the API documentation for each method used.
    */

   public static void main(String[] args) throws Exception
   {

      // File to decrypt.

      filename = "modulo1.xml";

      String password = "ESI";

      inFile = new FileInputStream(filename);
      outFile = new FileOutputStream(filename + "_decrypted");

      PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
      SecretKeyFactory keyFactory =  SecretKeyFactory.getInstance("PBEWithMD5AndDES");
      SecretKey passwordKey = keyFactory.generateSecret(keySpec);

      // Read in the previouly stored salt and set the iteration count.

     // 8-byte Salt
         byte[] salt = {
         (byte)0xA9, (byte)0x9B, (byte)0xC8, (byte)0x32,
         (byte)0x56, (byte)0x35, (byte)0xE3, (byte)0x03
    };
      inFile.read(salt);
      int iterations = 19;

      PBEParameterSpec parameterSpec = new PBEParameterSpec(salt, iterations);
      // Create the cipher and initialize it for decryption.
      Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
      cipher.init(Cipher.DECRYPT_MODE, passwordKey, parameterSpec);

      //byte[] input = new byte[64];
      byte[] input = new byte[10240];
      int bytesRead;
      while ((bytesRead = inFile.read(input)) != -1)
      //while ((bytesRead = inFile.read(input)) > -1)
      {
         byte[] output = cipher.update(input, 0, bytesRead);
         //byte[] output = cipher.update(input, 0, bytesRead);
         if (output != null)
            outFile.write(output);
      }

      byte[] output = cipher.doFinal();
      if (output != null)
         outFile.write(output);

      inFile.close();
      outFile.flush();
      outFile.close();
  }
}


En línea
deurus

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Reto: descifrar archivo
« Respuesta #2 en: 8 Septiembre 2011, 11:57 »

Para el que le interese, los archivos se encuentran aquí:

En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Descifrar archivo.
Seguridad
Sr.Abuso 3 1,384 Último mensaje 9 Julio 2009, 18:07
por Sr.Abuso
descifrar archivo con contraseña a partir del mismo archivo sin cifrar
Criptografía
klyfa 2 2,261 Último mensaje 9 Marzo 2010, 19:37
por APOKLIPTICO
Reto: puedes descifrar esta pequeña funcion Php??
PHP
PanConMantequilla 12 1,779 Último mensaje 6 Agosto 2010, 04:03
por Castg!
descifrar un archivo codificado (php)
Seguridad
Ex_Tan€R 8 705 Último mensaje 31 Enero 2012, 01:52
por Ex_Tan€R
descifrar un archivo
Desafíos - Wargames
Potato 0 52 Último mensaje 15 Mayo 2012, 22:33
por Potato
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines