Ir al contenido



Foto

Proteger archivos y carpeta


  • Por favor identifícate para responder
12 respuestas en este tema

#1 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 254 mensajes

Escrito 12 junio 2018 - 12:28

buenas amigos, saludos con todos. esperando que pasen un feliz día del padre.

 

una consulta, resulta lo siguiente tengo dos carpetas y 3 archivos, ordenados de la siguiente manera:

 

 

carpeta1

      |

      |

      ------ programa1.exe (principal)

      |

      ------ programa2.exe

      |

      |

      ------- carpeta2

                      |

                      |

                      ------ file.ini

 

 

dentro de la primera carpeta estan dos programas y en la segunda carpeta hay un archivo.

 

mi consulta es si habrá forma para proteger todos estos archivos, el archivo "programa1.exe" es quien siempre se inicia al comienzo con windows y es quien abre el programa2.exe

 

me pregunta si habrá forma de protegerlo para que no lo puedan borrar estos archivos.

el programa que estoy desarrollando es para control parental y se piensa instalar en varias pcs, pero me falta esa parte de protección, pensaba encriptar los archivos, pero eso no evita que los borren.

 

espero me puedan ayudar, saludos con todos :)

 


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.368 mensajes
  • LocationRepública Dominicana

Escrito 12 junio 2018 - 02:12

¿Y no es más fácil asignarle permisos a un usuario específico?, o sea, que sólo un usuario fuera eliminar esos archivos..


  • 0

#3 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 254 mensajes

Escrito 12 junio 2018 - 02:47

gracias amigo por responder, lo que pasa es que el software sera instalado en pcs con el usuario que normalmente tiene la pc actualmente, el cual casi siempre es una cuenta administrador. porque al ser varias pcs creo tomaría mucho más tiempo estar configurando cada pc como usuario limitado.


  • 0

#4 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 90 mensajes

Escrito 12 junio 2018 - 08:26

En Linux hay un comando: chattr que permite hacer un archivo inmutable, se hace a través de una terminal y con nivel de root o superusuario. Tendrías que hallar su equivalente en Windows (si es que lo hay).


  • 0

#5 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.154 mensajes
  • LocationArgentina

Escrito 13 junio 2018 - 05:58

Para evitar que lo borren no hay mejor opción que hacer uso de usuarios restringidos. Es como debería hacerse.

Siendo administrador no hay mucho más que hacer, salvo ocultar lo mejor posible de los ojos curiosos a ese exe y carpeta en algún directorio que no suele meterse.

 

El exe1 debería verificar de que estuvieran dichos archivos y carpeta y en caso de no detectarlos alertar. Desconozco si es posible hace que el propio software tenga "empotrado" al segundo exe y demás archivos, como para "regenerarlos" en caso de pérdida.

Una alternativa podría ser tener un zip con el contenido a regenerar localizado en el mismo directorio del exe1 y si no detecta al exe2 y demás archivos mandar a descromprimirlo.

 

Saludos,


  • 0

#6 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 90 mensajes

Escrito 13 junio 2018 - 01:49

Creo que se está pasando un detalle por alto, Windows no permite borrar archivos abiertos... Si el programa se ejecuta al inicio y abre los archivos y no los cierra, por ahí puede andar.

 

Saludos.


  • 0

#7 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.154 mensajes
  • LocationArgentina

Escrito 13 junio 2018 - 04:38

Creo que se está pasando un detalle por alto, Windows no permite borrar archivos abiertos... Si el programa se ejecuta al inicio y abre los archivos y no los cierra, por ahí puede andar.

 

Saludos.

 

Pero si se impide que inicie el exe1 los demás archivos pueden ser borrados. O con que otra aplicación o servicio que se ejecute antes de exe le gane la mano y borre ya no anda.

Por ello es que veo que la mejor opción es que el exe1 tenga un procedimiento de "recuperación de archivos" o de recrearlos.

Desconozco si con tener almacenado el contenido binario de los archivos y mandarlos a guardar con las extensiones adecuadas podrá ser suficiente con "recrearlos", pero para ciertas cosas puedes servir.

 

Saludos,


  • 0

#8 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 90 mensajes

Escrito 13 junio 2018 - 05:01

 

Pero si se impide que inicie el exe1 los demás archivos pueden ser borrados. O con que otra aplicación o servicio que se ejecute antes de exe le gane la mano y borre ya no anda.

 

Desde ya, la única solución es con permisos, pero Monchito dijo que quiere evitar esto.

También depende el nivel de conocimientos de los usuarios, porque quitar un programa de inicio o matar el proceso, acá todos sabemos como se hace.

Otra opción podría ser usan Resources, pero si el archivo cambia? Al ser un programa de control parental, seguramente ese archivo sea una lista de dominios y/o palabras/términos que el usuario podrá editar, caso contrario no se necesitaría un archivo si no se editase, se pueden cargar los datos en arrays.

 

Espero que Monchito dé más detalles.

 

Saludos.


  • 0

#9 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 254 mensajes

Escrito 13 junio 2018 - 09:50

buenas amigos, gracias por sus sugerencias, efectivamente el programa exe1 se iniciará con windows y siempre estara abierto como proceso, desde el exe1 llamo al exe2 para realizar sus configuraciones y los cambios los guardo en el archivo.ini que esta en la segunda carpeta, de momento a este software le he integrado bloqueos de todo tipo, por ejemplo:

 

* bloqueo administrador de tareas

* bloqueo registro

* bloqueo cmd

* bloqueo ejecutar

* bloqueo panel control

* bloqueo opciones de carpeta

* bloqueo usb

* bloqueo dvd

* bloqueo internet

* etc

 

pienso que algunos de estos bloqueos tmb me serviran para proteger los mismos archivos en cierta forma, pero estoy buscando la manera de proteger la carpeta principal que contiene los archivos, recuerdo que habia un bloqueo que impedia el acceso a unidades C, D, etc.  pero me dio problemas asi que lo descarte.

 

entiendo tmb que como son cuentas administrador quizas no sea la forma, pero al menos quiero ponerle una pequeña protección hasta que el proyecto madure.


  • 0

#10 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.368 mensajes
  • LocationRepública Dominicana

Escrito 14 junio 2018 - 09:05

La mejor solución la dió Delphius, sólo debes esconder bien el exe principal, puede ser en System32 en modo escondido y los otros pueden estar visibles, si en dado caso el segundo archivo se borre pues el principal lo recree de nuevo, aunque mejor sería hacer un exe aparte en ootro sitio escondido que se encarge de hacer la recreación de los dos exes, un poco engorroso no?.

 

Seguro debe haber alguna clave en el registro donde indicar que esos archivos no se eliminen.

 

Saludos.


  • 0

#11 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 254 mensajes

Escrito 14 junio 2018 - 10:01

gracias amigo por su respuesta, he pensado tmb en esa idea de copiarlo dentro de system32 por ejemplo, pero como se inicia en cada encendido no estoy seguro si se abrira normal o saldra alguna ventana del UAC preguntandome permitir o no. tendre que hacer la prueba.


  • 0

#12 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.759 mensajes
  • LocationMadrid - España

Escrito 16 junio 2018 - 12:08

Es posible, y así lo hice en una aplicación que escribí hace unos 10 años, esconder archivos o carpetas del explorador o del sistema a base de usar la técnica de Hook a la API o desde el Kernel. El primer caso requiere más código y actuar sobre varias APIs, incluso inyectar todas las aplicaciones activas. En el segundo, dependemos mucho de la versión del S.O. En ambos casos se requiere saber muy bien lo que se hace y estar preparado para actualizar el código. Como ejemplo comento que el explorer usaba un ListView para visualizar archivos. Esas ventanas son de la clase SysListView32. En la actualidad usa ventanas de la clase DirectUIHWND. Esto hace que inevitablemente tengamos que actualizar el código para que vuelva a funcionar.
 
La forma más directa y sencilla de proteger archivos o carpetas ya se ha apuntado en el hilo. Es el control de los permisos. Quizás en este caso una estrategia pueda ser instalar un servicio que se ejecutará al arranque con privilegios System. Los actuales sistemas operativos Windows no permiten la interacción con los servicios a través de ventanas de escritorio. Esta limitación puede solventarse comunicándonos con códigos de control, o red... Un servicio puede ejecutar otra aplicación en modo usuario (Lanzar una aplicación GUI desde un servicio) que tenga permisos sobre las carpetas...
 
Lo que hay que tener claro es el diseño global de la aplicación, En el esquema Servicio - App GUI, la APP GUI debería servir sólo como ventana de configuración y el Servicio debería ser el sistema de control, de forma que cuando el sistema se ejecute por un usuario sin permisos Paternos, sea el servicio el único que se ejecuta realizando todas las tareas de control, ya que en este caso no hace falta ninguna aplicación de ventana.
 
Esto son ideas que pueden servir, o no, para diseñar un sistema de control parental o cualquier otro que tenga un mecanismo de acción similar. Dependiendo del tipo de control, podemos llegar a eliminar el escritorio y sustituirlo por nuestra App. Esta visión del problema es muy restrictiva y pudiera ser la base de un "ciber-café" o algo similar.
 
Si tus restricciones se van a hacer actuando en las políticas de usuario a través del registro de Windows, piensa que un usuario listo puede escribir una app que las cambie con lo que tendrás que disponer de un sistema de vigilancia de cambios en el registro (Monitorizando el registro de Windows)
.
En definitiva, una cosa son las ideas de que queremos controlar en el usuario y otra es cómo nos las vamos a arreglar para que funcione y no lo desactive. Sobre la segunda cuestión se puede estar discutiendo toda la vida.
 
 
Saludos.
  • 3

#13 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 254 mensajes

Escrito 27 junio 2018 - 11:37

gracias amigo escafranda por su ayuda, me parece buena idea usar un servicio como aplicación principal o como lanzador de otra aplicación, estoy buscando algún tutorial de como crear un servicio en lazarus, me pueden recomendar alguno. gracias.


  • 0