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?
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.
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).