Lo primero que se me ocurre:
- Compilar en PCODE
- cifrar todos los strings
- Usar algun packer (o crear uno custom) que tenga CRC del codigo (para evitar parcheos)
- De por si el EXE deberia estar cambiado en alguna forma para evitar el uso de VBDecompiler.
- Si tiene rutina de registracion:
- Evitar el uso de la famosa variable "IsRegistered"
- La rutina debe ser larga y compleja. Incluyendo basura y calculos innecesarios para hacer mas dificil el reverseo.
- Chequear varias veces usando la rutina (evitar guardar resultados en variables)
- Hacer chequeos internos buscando "irregularidades" en la registracion (por ej. si se usa el registro, verificar que el proggie no este registrado y que el reg no tenga nada (deteccion de parcheo))
- Si se detecta parche, no mostrar mensajes que alerten que se detecto una copia "pirata". Mejor, modificar el funcionamiento para que haga cosas "sin sentido" (por ej. si el proggie hace calculos, hacer que haga mal los calculos si se detecta el parcheo)
Por ahora, eso me viene a la mente...
Saludos!