FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como impedir crackeo de BD y Aplicacion??
Hola. tengo una duda..quisiera saber como uds manejan éste tema.
Yo hice mi aplicacion en delphi, lo cual tengo Proyecto.exe y tengo mi archivo datos.gdb. Éste archivo lo almaceno en un subdirectorio de mi aplicación. Ahora bien, cuando genero el instalador, debo permitir al usuario que vea ese archivo??? Y si lo hago, como hago para que nadie pueda tocar ese archivo??? Pienso que con la contraseña y nombre de usuario de Interbase no alcanza, cualquiera puede eliminar la base de datos y la aplicacion dejaria de funcionar. No solo eso, sino que cualquiera puede copiar el .exe de mi aplicacion y la base de datos y lo puede instalar en otra compu y funcionaria. Como hago para que el instalador me genere archivos que impidan hacer eso????? Bueno espero sus respuestas, sus técnicas y a ver que se puede hacer con éste tema. Muchas gracias. |
#2
|
||||
|
||||
Cita:
Ya en serio, si la seguridad debe ser muy alta (en tu sistema), lo primero sería modificar la estructura física y pasar la BD a un servidor diferente al que nadie tuviera acceso físico y gestionar correctamente los permisos en la aplicación para que nadie no autorizado editara/modificara/borrada datos a los que no tuviera acceso. En cuanto a lo segundo, puedes implementar tu propio sistema de seguridad o utilizar algunos de los componentes que existen para ello; Date una vuelta por internet busca componentes para proteger programa (shareware/trial) y si sigues teniendo dudas lo comentas. Échale un vistazo a éste Link; Son componentes para proteger aplicaciones.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Gracias por responder. Ahora le echare un vistazo a eso que me pasaste.
Un poco lo pude solucionar. Al crear el instalador con Inno Setup puse el directorio de la base de datos como oculta. Que tiene de positivo?? que un usuario en windows no tiene ni idea que existe ese directorio. Que tiene de negativo?? que si la base de datos llegara a fallar, como hago para que se ponga visible para realizar alguna restauracion?? es decir, si esta visible, puedo acceder a ella de todas maneras mediando algun programa visual como IBConsole o IBAdmin??? Bueno muchas gracias. Adios |
#4
|
||||
|
||||
Si necesitas ver o volver a restaurar el directorio oculto (cosa que también puede hacer otro usuario) puedes hacerlo desde el menú de Herramientas del propio Explorador de Windows (Herramientas/Opciones de Carpeta/ver/Mostrar todos los archivos y carpetas ocultos); Pero bueno está bien, porque ésto te elimina a muchos usuarios que no sepan de ésta opción.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Ok muchas gracias...ya vere que decision tomar, si hacer esa o alguna otra cosa..muchas gracias.
|
#6
|
||||
|
||||
Lo que puedes hacer para que no copien tu aplicación a otra computadora es usar el registro de windows, en mi caso creo tres claves:
- Una para guardar el numero de identificación del disco duro - Otra la ip del servidor - La última el path de la base de datos estas las optengo por una dll que llamos desde inno setup En el arhivo principal de la aplicación vuelvo a generar el número del disco duro y lo comparo con el almacenado en el registro de windows, si es el mismo se ejecuta la aplicación sino cierro la aplicación. Antes de conectar la base de datos genero una cadena con la ip del servidor, el path la base de datos y el nombre de la base y esta la asigno a la propiedad databsename del componente ibdatabase, con esto tambien mis maquinas clientes saben en que maquina buscar la base de datos.
__________________
Espero poder seguir exprimiéndote el cerebro 8) Jorge Zamora Ginez Puebla, Pue. México |
#7
|
||||
|
||||
Manejas trajetas de credito? Informacion bancaria, medica, genetica, trabajas para la CIA o ???? Si no es asi, que te preocupa?.
Esto es un deseo tipico... pero no muy realista. Un buen articulo (en ingles) sobre medidas mas practicas y menos costosas es este: http://www.codeproject.com/gen/desig...tialWisdom.asp Lo mejor es que si un CAMPO en especial debe estar protegido (como el nombre de quien lo compro) lo guardes encriptado dentro de la BD. Eso junto a la contraseña de la misma es mas que suficiente. Igual se debe hacer con los passwords y datos VERDADERAMENTE sensibles como numeros de trajeta de credito y cosas asi. El punto es que en seguridad, si se tiene acceso al equipo/archivo ya DEJO DE EXISTIR LA SEGURIDAD. Punto. NO pierdas tu tiempo haciendote la "seguridad". Las ideas que se te ocurran, no importa que tan geniales parezcan ya se las idearon hace años. Si estas fastidian a los clientes honestos peor. Te recomiendo mejor comprar algun software para esto, libreria o lo que sea, y gasta mas tiempo en proveer buen soporte, libera frequentemente y estudia sobre seguridad de software.
__________________
El malabarista. |
#8
|
||||
|
||||
Checa Esto....
Yo te recomendaría llevar un registro de las Series de los Discos Duros de las PC's que usarán los Sistemas, es decir, si tu cliente agrega otra PC más, solo Registra la Serie del Disco Duro y no podrán usar el Programa en otra PC que no sea el mismo numero de Serie.
Otra es de Generar una Clave Encriptada Cada Día de acuerdo a la Fecha y el Nombre de la Empresa con que esta registrada tu BD por lo que si alguien entra a la BD para ver que Clave tiene cierto Día de Trabajo no podrá descifrarlo porque tendría que desencriptar dicha clave, Consiguete en este caso un buen algoritmo de Encriptación. Que tengas buen día. |
#9
|
|||
|
|||
bueno, gracias a todos por responder. la verdad que tampoco quiero que mi sistema sea imposible de copiar, solamente preguntaba para ponerle algun obstaculo o dificultad y queria saber cuales usan ustedes.
adios. |
#10
|
||||
|
||||
Oye T-man: ¿Tu aplicación se vende masivamente o tu la instalas en cada cliente?
Si la instalas en cada cliente y no deseas que sea copiada, pues una manera de hacerlo a la "Indigena" es: Genera un archivo con extención "XXX", realmente no importa cual sea la extención y copialo en el WINDOWS o en el WINDOWS\SYSTEM32 o donde se te de... pero que siempre sea un directorio que use windows. Luego en tu aplicación, al iniciarce le dices que busque ese archivo, si no está, pues no arranca. Solo sirve si tu aplicación no es de distribución masiva. y si tu o tu empresa dedican tiempo a cada cliente. es muy simple pero efectiva... Sergio
__________________
En Colombia hay muchos, pero muchos colombianos muy buenos. Los violentos son pocos y los vamos a controlar... |
#11
|
|||
|
|||
Hola a todos,
Por lo que entiendo con poner el numero de serie del disco en el registro de windows, evitas que se copie la aplicacion y la BD a otro equipo. Pero, en mi caso, preferia crear un cd de instalacion. Entonces como evito que desde el cd de instalacion se creen las copias del programa?
__________________
Dave |
|
|
|