• Viernes 3 de Mayo de 2024, 18:01

Autor Tema:  Evitar Cambio De Nombre A Ejecutable Y Dll  (Leído 1580 veces)

martinss

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Evitar Cambio De Nombre A Ejecutable Y Dll
« en: Sábado 20 de Enero de 2007, 05:14 »
0
Hola, algun codigo para evitar que personas cambien el nombre de mi ejecutable y DLL?? encontre este pero esta incompleto

Código: Text
  1. char tmpName[255];
  2. GetModuleFileName(hinstDLL, tmpName, 255);
  3.   strlwr(tmpName);
  4.   if (!strstr(tmpName, "program.dll"))
  5.   {
  6.     MessageBox(NULL, "Illegal DLL Name Change Detected", "Unable to launch", MB_OK);
  7.     ExitProcess(0);
  8.   }
  9.  

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Evitar Cambio De Nombre A Ejecutable Y Dll
« Respuesta #1 en: Sábado 20 de Enero de 2007, 07:39 »
0
No creo que ese método sea muy seguro...

Por mas que ese código te funcione, cualquiera puede cambiar el nombre por otro del mismo largo y modificar la cadena con la que hacés la comparación con cualquier editor exadecimal.-

Mas bien a esa solución le agregaría un encriptado del nombre para que nadie pueda encontrar la cadena dentro del archivo,.

 :band: Renegado dicen que soy pero en verdad...

estoy ebrio  :scream:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Evitar Cambio De Nombre A Ejecutable Y Dll
« Respuesta #2 en: Sábado 20 de Enero de 2007, 10:40 »
0
Eso evita el USO, DESPUES de que el nombre haya sido cambiado. Evitar el cambio no es facil pero tampoco imposible, la cuestion pasa por interceptar los intentos de hacerlo y bloquearlos.

En cuanto a comprobar el nombre, tampoco es totalmente seguro encriptado, siempre pueden modificar el codigo para que la comparacion no se haga o siempre salte al mismo punto (donde funciona). Teniendo en cuenta que saca un MessageBox, seria bastante simple poner un breakpoint en esa funcion y ver desde donde viene todo ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Evitar Cambio De Nombre A Ejecutable Y Dll
« Respuesta #3 en: Sábado 20 de Enero de 2007, 15:42 »
0
Cita de: "Eternal Idol"
En cuanto a comprobar el nombre, tampoco es totalmente seguro encriptado, siempre pueden modificar el codigo para que la comparacion no se haga o siempre salte al mismo punto (donde funciona). Teniendo en cuenta que saca un MessageBox, seria bastante simple poner un breakpoint en esa funcion y ver desde donde viene todo ...
Si, pero eso ya no lo haría cualquier lamer (Creo). Pero si, si ninguna de las empresas gigantes de software ha podido proteger sus programas. Menos nosotros-

En cuanto al cambio de nombre, no te entiendo, ¿Se necesitaría otro proceso para que supervise el cambio de nombre?

EDITO ------------------------------------------------------------------------------------

Si, lo del mensaje al usuario, yo directamente no lo pondría. Si alguien se hace el vivo tocando lo que no debe, que se joda.-
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Evitar Cambio De Nombre A Ejecutable Y Dll
« Respuesta #4 en: Sábado 20 de Enero de 2007, 17:00 »
0
Cita de: "Angel_K_ido"
Si, pero eso ya no lo haría cualquier lamer (Creo). Pero si, si ninguna de las empresas gigantes de software ha podido proteger sus programas. Menos nosotros-

Lo unico que se puede hacer es complicar las cosas, cualquier trampa que pongas mientras el otro tenga tu ejecutable, lo pueda analizar y modificar, sera tarde o temprano saltada.

Cita de: "Angel_K_ido"
En cuanto al cambio de nombre, no te entiendo, ¿Se necesitaría otro proceso para que supervise el cambio de nombre?

No necesariamente; lo que necesitas es interceptar las funciones de todos los procesos en ejecucion. En modo Usuario puede ser un ejecutable que se inyecte en los demas al arrancar e interceptando las nuevas creaciones de procesos pueda siempre interceptar todos los intentos de cambiar el nombre.
En sintesis lo que se necesita es un medio para estar monitorizando todo el tiempo, no tiene que ser un proceso por fuerza, de hacerlo en modo Kernel no necesita de un proceso en particular. Esto tampoco es 100% fiable ya que podrian arrancar la maquina en MS-DOS, Linux o lo que fuera y editar el archivo "off-line" (de Windows).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Evitar Cambio De Nombre A Ejecutable Y Dll
« Respuesta #5 en: Sábado 20 de Enero de 2007, 17:42 »
0
Cita de: "Eternal Idol"
Lo unico que se puede hacer es complicar las cosas, cualquier trampa que pongas mientras el otro tenga tu ejecutable, lo pueda analizar y modificar, sera tarde o temprano saltada.
Justamente, hay que tratar de complicar lo más posible.-
Citar
No necesariamente; lo que necesitas es interceptar las funciones de todos los procesos en ejecucion. En modo Usuario puede ser un ejecutable que se inyecte en los demas al arrancar e interceptando las nuevas creaciones de procesos pueda siempre interceptar todos los intentos de cambiar el nombre.
En sintesis lo que se necesita es un medio para estar monitorizando todo el tiempo, no tiene que ser un proceso por fuerza, de hacerlo en modo Kernel no necesita de un proceso en particular. Esto tampoco es 100% fiable ya que podrian arrancar la maquina en MS-DOS, Linux o lo que fuera y editar el archivo "off-line" (de Windows).
Me parece mucho lío; y no sé si valga el esfuerzo, tal vez en algún caso puntual.
Creo que con impedirle la ejecución si el nombre está cambiado es suficiente, pero eso debería decidirlo martinss.-
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

martinss

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Evitar Cambio De Nombre A Ejecutable Y Dll
« Respuesta #6 en: Sábado 27 de Enero de 2007, 05:26 »
0
si, con evitar que se ejecute si le cambian el nombre esta bien.