Esconder y Proteger archivos y/o carpetas c++

Iniciado por samirllorente, 9 Septiembre 2013, 08:29 AM

0 Miembros y 2 Visitantes están viendo este tema.

samirllorente

Esconder y Bueno un poco la idea es hacer un programa que como bien dice el titulo esconda y protega archivos y/o carpetas, el tema es que no se por donde empezar. :laugh: asi si me ayuden de alguna forma :)
El lenguaje a usar seria C++
SamirLlorente

eferion

Esconder o proteger...

A ver, los sistemas operativos disponen de características para que un archivo o carpeta no sea visible en una vista normal de usuario ( en el explorador de carpetas ) ... no obstante esta característica se puede desactivar y los archivos y carpetas serán visibles.

Tu programa al final se apoya en el sistema operativo y el sistema de archivos y carpetas lo controla el sistema operativo, no tu, por lo que idear un mecanismo que controle todo esto te puedes imaginar que no es sencillo.

La opción b es cifrar los archivos y carpetas con el fin de que sólo aquel que ejecute tu programa pueda descifrar los archivos para acceder a su contenido. Para hacer esto deberías echar un vistazo a tutoriales sobre cifrado y criptoanálisis.

Una buena librería para empezar con este menester es openssl... para más información tienes miles de tutoriales y ejemplos por la web.

Eternal Idol

Esto es lo que hace un Rootkit, idealmente en modo Kernel, la idea es simple: interceptar funciones del S.O. y modificar los resultados retornados a los programas (y/o modulos de modo Kernel).

Por ejemplo interceptando FindNextFile en el campo cFileName de la estructura WIN32_FIND_DATA estara el nombre del archivo y podras retornar al programa un error (o mejor llamar a la funcion de nuevo asi retornas el siguiente archivo en la lista y simplemente saltas el tuyo).

PD. Insisto en que siempre es mejor hacerlo en modo Kernel y te aclaro que no es algo facil en ningun caso (en modo Usuario tenes que cargar una DLL en todos los procesos que quieras engañar).
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Alien-Z

#3
Hay otros mecanismos para crear la aplicación que propone samirllorente sin necesidad de depender del sistema de ficheros del SO. Por ejemplo un autorun que detecte cuándo el usuario intenta abrir un fichero/carpeta y que siga un criterio para permitir ésta operación (logueado como administrador, introducir una contraseña, etc.). En general cualquier API tiene instrucciones para realizar estas tareas sin muchas complicaciones.

Pero si, también está la opción de hacerlo con las carácterísticas del sistema ficheros aunque a mi parecer lo que intenta samirllorente es mucho más sencillo, de hecho se puede hacer desde la consola de comandos con unas cuantas instrucciones (cambiando permisos lectura-escritura-ejecución (rwx), carpeta oculta permanente (no se puede ver de ninguna manera desde la interfaz de usuario), etc.).

¿Por dónde empezar?, según cómo lo quieras hacer:

Si es para un SO específico te recomiendo operaciones de consola de comandos (que por supuesto puedes incluir en tu aplicación C++); en cambio si no quieres que dependa de ningún SO busca una API multiplataforma.

Saludos.

Eternal Idol

Supongo que dependera de si quiere esconder y proteger del root o no.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

daryo

umm podrias ser mas especifico asi seguramente tendras consejos mas acordes con lo que necesitas(sistema operativo por ejemplo ) , aun asi te dijeron la mayoria de las posibilidades que tienes
buenas