2009-01-21 3 views
9

¿Cuál es la mejor manera de evitar que una aplicación se copie y use sin que el propietario lo sepa?¿Cuál es la mejor manera de evitar que una aplicación se copie y use sin el permiso del propietario?

¿Hay alguna forma de rastrear el uso? Lo que significa periódicamente que la aplicación se comunica, con suficiente información para que podamos saber dónde está, y si es legal. Lo siguiente, por supuesto, cerrarlo, si no es de fiar.

+0

Es posible que desee ver las respuestas a [esta pregunta] (http://stackoverflow.com/questions/60497/whats-the-best-way-to-protect-a-windows-application-from-piracy) – Blorgbeard

Respuesta

14

Los dongles de hardware son la mejor manera si realmente está preocupado por la piratería IMO.Eche un vistazo a los grandes paquetes industriales de CAD/CAM por valor de miles o decenas de miles, o el software de producción AV/Music, que prácticamente todos tienen protección de dongle. Los dongles se pueden emular o invertir, pero no sin una inversión significativa en el tiempo, mucho más que simplemente cambiar unos JE a JNE en su ensamblaje.

Llamar a casa no es el camino a seguir a menos que proporcione un servicio que requiera una suscripción y actualizaciones constantes (como productos antivirus, por ejemplo) como parte de su modelo de negocio. Debe tener un poco de respeto por sus usuarios y su privacidad. Puede tener intenciones perfectamente inocentes, pero ¿qué pasaría si un tribunal ordenara a su empresa entregar esa información (como lo hace el gobierno de EE. UU. Con Google y sus términos de búsqueda)? ¿Podría/podría luchar contra ella? ¿Qué pasa si en algún momento en el futuro vendió su empresa y los nuevos propietarios decidieron vender toda esa información histórica a una empresa de marketing? La privacidad no se trata solo de confiar en que una empresa no abuse de sus datos, sino que confía en que esa empresa se esfuerce por proteger sus datos. Lo cual está muy abajo en la lista de prioridades para la mayoría de las compañías. Básicamente, la cuestión de los usuarios de monitoreo no es realmente un buen camino para bajar.

1

Existe la posibilidad de rastrear el uso. Puede lograr esto dejando que su herramienta se envíe a su casa y envíe la información que necesita. El problema con esto es que primero a nadie le gusta el software que llama a casa para este fin y, en segundo lugar, con una simple puerta de enlace a nivel de aplicación, ¡puedes bloquear la aplicación para que se conecte a tu casa! Lo que describes en tu pregunta es un problema común de los distribuidores de software y no es fácil de resolver.

23

El software que "teléfonos a domicilio" será rápidamente rechazado por la gran mayoría de sus usuarios. Solo licencialo apropiadamente y véndelo.

Las personas que usan su software profesionalmente lo pagarán o no lo usarán. Las empresas tienden a fruncir el ceño ante demandas potenciales.

Las personas que quieran usar su software sin pagarlo seguirán haciéndolo a pesar de sus mejores esfuerzos para contrarrestarlos. Una vez que el software está en sus manos, está fuera del tuyo. Sin molestar a tus usuarios, tu único recurso es legal.

Si su producto tiene un precio razonable, algunas personas lo pagarán y otras no. Eso es algo con lo que debe lidiar por adelantado y debe tenerse en cuenta en su plan de negocios.

16

No hagas esto, no lo intentes, ni siquiera lo pienses.

Esta es una batalla que no puede ganar. Si la gente quiere piratear tu software lo harán. Se avergonzará por el hecho de que un ingeniero de ingeniería inversa inteligente puede escribir un parche binario de un byte para subvertir todos sus esquemas de protección.

Las personas que van a piratear su software lo harán y todas estas "características de seguridad" que usted cree probablemente terminen siendo un inconveniente para sus verdaderos seguidores: las personas que legítimamente han comprado su software. Estos draconianos esquemas DRM/antipiratería solo construyen resentment entre los usuarios del software.

+0

Obfustice su código. Verifique las licencias en todo momento, no solo al inicio de la aplicación. Dale un desafío al ingeniero de ingeniería inversa. – Gerard

+0

de esa manera le tomará una semana en lugar de un día y puede enviarle un correo electrónico dándole las gracias por el entretenimiento –

+1

Exactamente. La ofuscación apenas ralentiza un RE real, si es que lo hace. Empacar la aplicación puede agregar un día al proceso. – mmcdole

2

La mejor (y casi única) forma de prevenir la piratería es tener una aplicación cliente/servidor en lugar de una independiente, donde el servidor realiza una parte no trivial y los usuarios deben registrarse . Entonces, al menos, puede detectar y bloquear el uso simultáneo de la misma cuenta.

+0

Este es el enfoque que uso con mis aplicaciones más grandes. De esa forma puedo determinar qué cliente puede usar el servicio. – yozey

+0

Por supuesto, no puede vender a computadoras que no usan Internet, y necesita tener servidores que sean capaces de realizar un trabajo no trivial para toda su base de usuarios. – tloach

-1

Adoptamos una licencia vinculada a un enfoque de componentes. El componente es una dirección IP/MAC o una ID de máquina. Por lo tanto, la aplicación solo funcionará si la clave y el componente son válidos. Sí, la aplicación se puede copiar, pero simplemente no funcionará sin una nueva clave ya que el componente habrá cambiado. Generalmente usamos nuestro propio ID de máquina generado y nuestro propio keygen, que incluye un vencimiento opcional para los períodos de demostración.

Los usuarios se ven obligados a 'llamar a casa' para licenciar su software con nosotros. Dada la naturaleza y el valor asociados con nuestros productos, este enfoque funciona bien para todos los interesados.

+1

¿Alguna vez ha intentado instalar su aplicación en una VM, luego licencia la aplicación y luego clona la VM?Parece una forma fácil de vencer tu plan. – mghie

+0

¡Buen punto! Usamos un hash de dirección MAC, ID de CPU y número de serie de HDD para formar la ID de la máquina. Sé que el MAC se puede establecer en un valor estático en una máquina virtual, aunque no creemos que toda la identificación de la máquina sea clonable en una máquina virtual. Algo para probar, sin embargo. Gracias por el consejo. – Gerard

+2

Entonces, todo deja de funcionar cuando el usuario instala una nueva tarjeta de red o disco duro. Estupendo. –

0

Hay otra cosa que no he mencionado aún: podría agregar un montón de configuraciones al archivo de configuración de las aplicaciones, y comenzar con los valores predeterminados ridículos. A continuación, realice personalmente la configuración de instalación &, para que nadie más que usted pueda descubrir cómo se debe configurar todo. Esto puede ser una gran ofensa para personas que solo están probando si una copia es suficiente. (Asegúrese de agregar configuraciones que dependen de todo tipo de configuraciones de sistema, como las versiones de DLL relacionadas con versiones de SO que deben cargarse, etc.). No es muy fácil de usar aunque ;-)

+2

¿Te refieres al modelo de SAP? :-) –

2

Hay varios enfoques que puede tomar, pero hay tres que serán mucho más efectivos que cualquiera de los demás.

A. No lo cree.

El software que no existe nunca sufre un uso no autorizado.

B. No lo suelte.

Si tiene la única copia, y la mantiene de esa manera, entonces las posibilidades son extremadamente buenas de que no habrá un uso no autorizado.

C. Dé permiso a todos para usarlo.

Si no desea que nadie lo use sin permiso, puede dar permiso a todos y no habrá usuarios no autorizados.

Cuestiones relacionadas