Creador de versiones de prueba

Estoy desarrollando software. Para algunos productos, me gustaría aplicar una versión de demostración por tiempo limitado. Para lograrlo, me gustaría aplicar una herramienta "simple" en un paso posterior a la compilación para convertir el producto normal en una versión de demostración.

Hice una pregunta similar sobre Stack Overflow antes, pero parece que no hay posibilidad de lograr lo mismo con la firma de código .

La herramienta debe

  1. limitar el tiempo que se puede iniciar una aplicación de destino

    • a una fecha fija que especifico en tiempo de compilación
    • o a una fecha relativa desde el inicio de la primera aplicación
    • o a una serie de inicios de aplicaciones

    (Realmente no me importa el modelo de prueba)

  2. ejecutar como un paso posterior a la compilación (no requiere código en mi aplicación)
  3. no necesito una entrada de clave de licencia como Application Trial Maker , ya que no quiero tener gastos generales administrando las licencias de demostración
  4. proporcionar algunos intentos para evitar el cracking (no solo un indicador, por ejemplo, usar un archivo, registro y flujos de datos alternativos) y sobrevivir a una desinstalación del producto al que se aplica
  5. ejecutar en Windows 7 SP 1 hasta Windows 10 (tiempo de compilación)
  6. ejecutar sin conexión (tiempo de compilación)
  7. aplicaciones de parches para Windows 7 SP 1 hasta Windows 10 (tiempo de ejecución)
  8. trabajar con aplicaciones .NET (mencione también las soluciones solo .NET, ya que esa es mi parte principal)
  9. cuestan menos de 100 € (gratis / gratis / Open Source preferido)
  10. tener licencia vitalicia, sin costo anual

Opcional:

  • si utiliza la "activación" en línea (tiempo de ejecución), el servidor de activación debe ejecutarse en una pila LAMP de Ubuntu. Mencione si se necesita activación en línea. Como no soy amigo de todas esas cosas en línea, tendría que echar un vistazo más de cerca a cómo funciona en detalle (lo que no me impedirá votar a favor).
  • la herramienta (tiempo de compilación) no debe vincularse a una máquina específica (por licencia de desarrollador). Si está vinculado a una máquina, debe haber una forma clara de cambiar la máquina (por ejemplo, cuando se intercambia el servidor de compilación).

Respuestas (1)

Aquí hay algunos pensamientos relacionados con sus requisitos:

  • 2) No requiere código en mi aplicación : esto indica que necesita obtener un contenedor para envolver su ejecutable en otro ejecutable. Esto, en mi opinión, facilitará que un cracker se desenvuelva y obtenga el ejecutable original. También podría activar el software de detección de virus, ya que un contenedor esencialmente inicia otro programa desde dentro de un programa.
  • Tener dos versiones de un programa (combinación de 1), 2) y 3), una versión de demostración y una versión de producción, significa que si alguien obtiene la versión de producción, es libre de redistribuirla. Aunque legal, pero todavía está desprotegido
  • 4) Sobrevivir a la desinstalación : para mí, esto indica que usted, ya sea en su contenedor o en su módulo de código de licencia, necesita crear algo como la identificación de la computadora de Application Trial Maker. De lo contrario, un contenedor puro tendría que depender de algo como la fecha de instalación/creación o la fecha de descarga (donde creas una versión cada noche solo válida para un rango de fechas determinado (pero luego podrían descargar una nueva versión de demostración...))

Basándome en esto y en algunas lecturas sobre Application Trial Maker, sugeriría lo siguiente para obtener una solución adecuada:

  • Use Application Trial Maker, pero envuélvalo para que el único cambio que necesite en su código sea una simple inclusión en su método principal. Después de hacer esto una vez, debería ser fácil de incluir en cualquier proyecto tuyo.
    • Si insiste en crear una versión de demostración y una versión de producción, haga dos versiones de lanzamiento, en las que utilice condiciones para incluir o no la modulación de la licencia.
    • Si construye dos versiones, puede optar por completar omitiendo el código de licencia.
  • Si incluye el código de licencia, intente hacerlo un poco más automático. Una opción podría ser agregar un botón a la ventana de licencia que active una solicitud HTTP con la ID de la computadora que podría devolver el código de licencia. Esto, en combinación con la opción de comprar su programa (donde tienen que incluir la identificación de la computadora), podría reducir la molestia. Sin embargo, podría / debería tener la opción de vincular correos electrónicos con una identificación de computadora a este sistema, pero esto también se puede hacer de manera automática.

En otras palabras, creo que el software que solicita, un software contenedor, no existe, y debe reconsiderar sus requisitos en cuanto a lo que realmente le importa y lo que puede hacer que funcione para usted a un nivel competente de seguridad. Según su propia información, parece que ajustar la configuración de Application Trial Maker y posiblemente crear un pequeño sistema en torno al manejo del código de licencia sería una buena solución.