Pregunta

Agradecería cualquier sugerencia sobre cómo agregar la aplicación de la clave de licencia o la aplicación de límites de usuario concurrentes a un producto de software (basado en UNIX) que, aunque no explícitamente de código abierto, el usuario final nominalmente tiene el código fuente para o podría, o podría, Posiblemente, obtenga con relativa facilidad porque los servidores que lo ejecutan están ubicados en sus instalaciones, etc.

Obviamente, no estoy buscando ni espero una técnica que alguien no pueda ser evitado por alguien altamente motivado para hacerlo, y/o en 1337 H4X0RS que son simplemente buenos. El objetivo de tales mecanismos antipiratería es evitar que el usuario haga algo que realmente quiere hacer, pero solo para que sea lo suficientemente molesto como para hacerlo, realmente no vale la pena en comparación con la relativa facilidad de solo pagar Otra licencia (barata), al menos, para un usuario final de habilidades simplemente promedio.

Eso requiere algo más sofisticado que la mera seguridad por la oscuridad (que también te hará reír de los usuarios que pueden encontrarlo, incluso inadvertidamente sin la intención de modificar la configuración), pero nada cercano a lo que se requiere para proteger un silo de misiles. Solo lo suficiente para decir: "Sí, este producto realmente limita el uso de lo que compró". Tampoco debería ser lo suficientemente interesante como para motivar a alguien que busca fama y fortuna para publicar una entrada de blog sobre cómo descifrarlo, idealmente, aunque dado lo completamente nicho que es el producto y lo económico que es, no veo que eso sea como ser como una preocupación.

La única técnica real que se me ocurre es compilar algunos rutina (s) que es funcionalmente esencial para el resto del programa en un objeto recargable binario estático o dinámico y, junto con él, incluyen las comprobaciones. Es necesario que la rutina sea crítica en algún aspecto inseparable, en lugar de una verificación artificial solo para esa condición en particular, de lo contrario, el usuario podría ir y deshabilitar la llamada a la función. La idea es que deshabilitar la llamada a la función también tiene otras consecuencias poco atractivas.

Eso no es nada que un hacker inteligente no pueda desmontar y, obviamente, si la función es lo suficientemente trivial como para convertirse en un binario sin propósito, también es lo suficientemente trivial como para volver a implementarlo fuera de ella. Pero es más esfuerzo de lo que un usuario final típico se molestaría en pasar. Y, por supuesto, nuevamente, el punto no es detener mecánicamente la piratería, sino solo para poner un pequeño límite en su lugar para que el producto no funcione puramente En el sistema de honor, aunque estoy seguro de que es suficiente para muchos compradores corporativos en los Estados Unidos.

¿Es este un enfoque común? ¿Hay mejores?

¿Fue útil?

Solución

Todo lo que esto hará es molestar a sus usuarios honestos, mientras que cualquier pirata que valga la pena lo romperá en cinco minutos, no lo hagas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top