[C++] ¿Como empaquetar y desempaquetar archivos?

Iniciado por RayHack, 22 Marzo 2014, 21:20 PM

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

RayHack

Buenas amigos hoy vengo con una duda que llevo hace dias y que eh investigado pero no encuentro exactamente lo que busco.

Hay muchos programas que eh observado los cuales contienen varios archivos empaquetados en uno como si fuesen comprimidos en .rar o .zip, estos archivos son desempaquetados por el programa esto para evitar que el usuario modifique los archivos.

¿Como podria hacer algo similar y que el usuario no pueda abrir el archivo con ningún descomprimidor como Winrar o ZIP?

Un saludo.

amchacon

Yo me hize un empaquetador de esos, los creaba en formato AMC (patente por registrar ;D).

Hacer un empaquetador sin compresión no es muy dificil. Para empaquetar:

- Te pones una carpeta donde estarán los archivos a empaquetar, los vas listando uno a uno. Para cada archivo:
       - Coges tu tamaño y lo escribes en el paquete.
       - Escribes el tamaño del nombre, apto seguido escribes el nombre.
       - Copias el contenido del archivo al paquete.
       - Mientras queden archivos por listar vuelve al paso 1.

Y para desempaquetar algo parecido:

- Te coges una carpeta de destino, abres el paquete y procedes a la inversa:

        - Lees el tamaño (llamemoslo TAM_S) , lees el tamaño del nombre (llamemoslo TAM_M).
        - Los siguientes TAM_M bytes serán del nombre, los lees y creas un archivo con ese nombre.
        - Los siguientes TAM_S bytes serán del archivo, vuelcalos al nuevo archivo que has creado.
        - Repetir hasta que hayas recorrido el paquete entero.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

RayHack

Muchas gracias por su ayuda, aunque mejor decidí comprimir los archivos en ZIP y cambiarles extension y ponerles passwords.

Un saludo y muchas gracias.