none
Encriptar contraseña de base de datos en ejecutable. RRS feed

  • Pregunta

  • Tengo una aplicación, que cuando la instalo el ejecutable si lo abro con un editor de texto tipo NotePad+ puedo leer claramente la contraseña y ruta de acceso que posee la base de datos de Acces que utiliza.¿Hay algún modo u opción que al compilar el programa pueda encryptar el ejecutable para evitar su acceso a la Base de datos?.

    viernes, 6 de octubre de 2017 21:50

Respuestas

  • Desconocia de este dato , muchas gracias por la info ya que de ofuscar ,decompilar o seguridad basica  no es un tema que tocas al iniciar en este mundo de la programación.


    Si necesitas ayuda sube tu avance de otro modo no puedo ayudarte , Suerte!


    sábado, 7 de octubre de 2017 13:22

Todas las respuestas

  • Tengo una aplicación, que cuando la instalo el ejecutable si lo abro con un editor de texto tipo NotePad+ puedo leer claramente la contraseña y ruta de acceso que posee la base de datos de Acces que utiliza.¿Hay algún modo u opción que al compilar el programa pueda encryptar el ejecutable para evitar su acceso a la Base de datos?.

    Que archivo abres con notepad si los ejecutables son .exe y no se pueden abrir .Mas info pf

    si no has usado un ofuscador sera sencillo de ver tu codigo usando un decompilador


    Si necesitas ayuda sube tu avance de otro modo no puedo ayudarte , Suerte!



    viernes, 6 de octubre de 2017 21:57
  • Buenas Dane, 

    Los ejecutables y las dll de. Net se pueden abrir con un editor de texto plano,  y si bien es cierto que no te muestra el código entero del método,  si te muestra variables miembro,  firmas de métodos,  etc. 

    Maferru, 

    Lo que podrías hacer es poner la cadena de conexión cifrada en el config, y descifrarlo antes de usarla,  si que es cierto que no es infalible,  pero proteges bastante más la cadena de conexión.

    De todos modos,  por lo que cuentas,  entiendo que intentas que la aplicación se conecte masiva mente vía internet(por lo de que sea un problema que vean la cadena)o que quieres proteger la db en una intranet muy amplia, si este es el caso,  es recomendable no exponer la db directamente,  sino exponerla a través de un webservice, WCF,  una aplicación puente, etc de tal modo que las conexiones a la db se hagan locales,  la cadena de conexión la tenga ese frontend que haces,  y que sólo expongas la conexión a ese servicio,  en caso de falla de seguridad,  así no van a poder acceder a la cadena de conexión ni a la db. 

    Si tienes dudas al respecto de eso,  comentanos y te damos más información 

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:


    viernes, 6 de octubre de 2017 22:38
  • Si arrastras un ejecutable a un NotePad, este se llena con lo que entiende como string, los bytes toma caracteres especiales, pero lo que son strings quedan tal cual, por esa razón Maferru, supongo, dice que "abre mediante notepad" yo lo que he echo en algunos programas es encripta la contraseña mediante alguna de las conocidas ej RC4, Triple encriptación, y el resultado enviarlo directamente a la base de datos, de modo que al entrar el usuario toma la contraseña la encripta y la compara con la encriptación guardada en, ejemplo "Tabla Usuarios" En este caso tienes que generar una función aparte para administrar las contraseñas otorgando grados de Administrador y usuarios segun sea el caso . Si buscas en este miso foro encotraras ejemplos de encoriptación. Aclaro que en mi caso no son base de datos propias de Access

    Saludos

    viernes, 6 de octubre de 2017 22:45
  • Hola Jorge 

    he intentado hacer lo que dices y solo obtengo  esto mas no mi cadena de conexion sera por trabajar siempre con Xmls? 


    Si necesitas ayuda sube tu avance de otro modo no puedo ayudarte , Suerte!

    viernes, 6 de octubre de 2017 23:24
  • Claro,  si tienes la cadena de conexión en el xml,  ya no está en el ejecutable y por eso no la ves así,  prueba a escribirla en el ejecutable y compilar a modo de prueba,  cuando lo abras con un editor de texto ahí estará la cadena de conexión. 

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    viernes, 6 de octubre de 2017 23:26
  • Desconocia de este dato , muchas gracias por la info ya que de ofuscar ,decompilar o seguridad basica  no es un tema que tocas al iniciar en este mundo de la programación.


    Si necesitas ayuda sube tu avance de otro modo no puedo ayudarte , Suerte!


    sábado, 7 de octubre de 2017 13:22
  • Muy buenas, y gracias a todos por responder. He estado ocupado y dejé el tema por un tiempo. La conexión y todos los procesos los hago de forma local, lo que si hago al abrir  y cerrar la aplicación es cargar o guardar la BD en un servidor web por FTP. Con lo cual siempre está actualizada y podemos trabajar desde cualquier punto a la aplicación.
    jueves, 30 de noviembre de 2017 20:17