Pregunta

Posibles Duplicados:
¿Cómo proteger su software de distribución ilegal?
Mejores prácticas para prevenir la copia del software

Situación hipotética:

Digamos que he construido un producto de software desde cero y que hace cosas maravillosas.El único problema es que, una vez que alguien toma un vistazo al código, se entiende muy fácilmente y se puede construir fácilmente hasta ellos mismos.

Ahora, la cosa es que he construido el código desde cero a 100% y usa una mezcla de llamadas a la API.Nadie más está involucrado en el desarrollo del código.

Si quiero vender este producto, ¿cuál es la garantía de que alguien mucho más inteligente de lo que me va a hacer ingeniería inversa de todo y vienen con un mejor producto?

Ahora mismo estoy pensando en la fragmentación de todo el código.Añadiendo una gran cantidad de código redundante y toneladas de comentarios.

¿Hay algún software que encripta el código de software, que va a hacer la depuración, solución de problemas y la comprensión de cómo funciona el código prácticamente imposible?y, sin embargo, funciona como de costumbre?de manera que el desarrollador puede tener la paz de la mente?

¿Fue útil?

Solución

Muy pocas cosas en un programa son realmente novedosa. Casi todo lo que es probable que poner en su código, alguien podría inventar por su cuenta. En general, más fácilmente de lo que podrían aprender mediante la lectura de su código. La lectura de código es más difícil que escribirlo, y la mayoría de los programadores no me gusta hacer de todos modos.

Así que es mucho más probable que se verá en su aplicación y pensar "yo podría hacer eso", luego "Eso está bien, voy a leer ese código y luego lo copia!". Incluso si ellos lo entienden, todavía será dueño de los derechos de autor, sigue recibiendo al mercado por primera vez.

Le recomiendo que simplemente olvidarse de él.

Otros consejos

  

Una vez alguien echa un vistazo a la   código, se entenderá que es muy   fácilmente y pueden construir fácilmente hacia arriba   ellos mismos.

Así que no dan a nadie el código fuente.

  

Si quiero vender este producto, lo   es la garantía de que tanto a alguien   más inteligente que yo voy a técnicas de ingeniería inversa   todo el asunto y llegar a   producto mejor?

(a) Para comenzar a venderlo ahora y capturar el mercado. La ingeniería inversa lleva tiempo, durante el cual se captura mercado y 'mente en acciones'. (B) Poner una provisión en su contrato de licencia que prohíbe la ingeniería inversa. (C) Asegúrese de que todo el mundo que obtiene las señales de productos del acuerdo.

  

En este momento estoy pensando en fragmentadora   todo el código. La adición de porciones de   código redundante y toneladas de comentarios.

Esto sólo tiene un punto si se va a distribuir el código fuente. En cuyo caso, nadie se tiene que realizar ingeniería inversa. Tienen su código fuente. No darle a ellos.

  

¿Hay algún software ...

Hay un montón de software que pretende hacer este trabajo. Sin embargo, es una solución técnica a un problema de negocio. Todo el software se puede invertir mediante ingeniería, porque en algún momento u otro todo tiene que ser descifrado y DE-ofuscado hasta el punto en que la CPU lo entenderá. En ese punto se trata esencialmente de texto plano. Así solución técnica no está formalmente hablando posible (por debajo de algo así como el código que se ejecuta en un HSM a prueba de manipulación).

Tengo que añadir que existe otro mecanismo de negocio que puede utilizar para defenderse contra la pérdida de negocio, que es lo que se trata todo esto: el precio. Hacer que el precio tan alto que los licenciatarios valorar su copia y no permite que pueda ser inspeccionado, o que sea tan baja que la ingeniería inversa es costo-inviable; o hacerlo libre y hacer que su dinero en el contrato de soporte.

Una vez que realmente tiene el conocimiento y la experiencia para escribir un código base tal, será claro para usted que la ofuscación está destinado a disuadir la infracción IP casual.

Una persona que quiere saber su código va a saber su código.

Si se convierte en una cuestión de la pérdida monetaria, los tribunales son su protección.

Así es como funciona.

Siempre habrá alguien capaz de entender y trabajar fuera de su código. Heck, si tuviera 0 manera de llegar al código, aunque sólo sea usando el sistema es suficiente para que alguien sea capaz de replicar el proceso.

Ejemplo: tomo una jarra de agua y se vierte en la copa, mientras que la espalda se enfrenta a otra persona. Esta otra persona sabe que el agua y la gravedad son impresionantes en hacer las cosas caen en otros recipientes, por lo que pueden trabajar a cabo un proceso de levantar una jarra a dejar que la gravedad (llamada a la API) trabajan en su favor. Puede ser que no saben exactamente qué ángulo que utilizó en su antebrazo y cualquier técnica de copa sostiene súper astuto que utilizó, pero pueden replicar el mismo proceso y mejorarlo con el tiempo.

tl; dr:. No se puede código de protección

Lo que hay que hacer es inventar cosas aún más maravillosa mientras que la competencia es la ingeniería inversa tus cosas actual. Se llama que compiten a través de la innovación.

No soy un abogado

Si usted está realmente preocupado por ella, hasta el punto de que está dispuesto a invertir dinero en ella, no haga proteger el código (más allá de algo razonable como la ofuscación o cifrado), sino más bien patentes su idea y su Art. Entonces, si alguien no lo toma, ingeniería inversa y hacer un mejor proceso basado suyo, usted tiene razones para obtener su dinero.

Hay toneladas de las cosas que tendrá que hacer, incluyen demostrando que tomaron su idea (que tampoco fácil), pero si esta es la solución al hambre del mundo y todas las humanidades problemas de su la cosa hacer.

Ahora, para el inconveniente , yo supongo, y probablemente sea el 90% derecho de que su método es:

  1. No es patentable, por diversas razones (I fue sorprendido por el número de ideas ya patentados, y lo difícil que era para identificar arte original)
  2. No es nuevo o único (es decir, no está ya establecida arte para ello)
  3. No vale la pena patentar porque el gasto lejos outways los beneficios

Un abogado de IP puede decir con seguridad, y el costo de una consulta que no es mucho. En general, será más barato para consultar con ellos, entonces invertir mucho tiempo en la ocultación de código.

Buena suerte.

Ni siquiera se moleste. Si el código realmente "hace cosas maravillosas" tener la seguridad de que va a ser hackeado. Y ya sea sólo por curiosidad.

No hay manera 100% a proteger el código de ingeniería inversa. Qué idioma estamos hablando? Si esto es C / C ++, entonces es muy difícil de realizar ingeniería inversa, más que podría despojarlo de información de depuración, etc. Pero si esto es por ejemplo de Java a continuación, incluso si ofuscar el código, hay algunas herramientas interesantes bonitas (como JAD ) que revelará gran parte de su trabajo de todos modos.

A pesar de todo esto creo que debería tratar de cambiar su actitud. Las grandes empresas pagan mucho dinero para las soluciones simples y parece que hoy en día el servicio es lo importante más, no el software (de ahí el éxito de las empresas basadas en software abierto). Por lo tanto, si usted tiene un gran software no tengas miedo de que alguien pueda robar, y no pensar en cómo venderlo bien.

¿Hay algún software que encripta el código de software, que va a hacer la depuración, solución de problemas y la comprensión de cómo funciona el código prácticamente imposible?y, sin embargo, funciona como de costumbre?de manera que el desarrollador puede tener la paz de la mente?

Este es el totalmente equivocada mentalidad de la OMI.¿Qué sucede si usted es golpeado por un autobús?Su empresa va a la quiebra?Todos sus datos se destruyó en un incendio?Para cada uno de sus clientes, el valor de su inversión en el software de la gota, y, finalmente, llegar a cero, debido a que el software no puede ser desarrollado, o detectar y solucionar problemas, más sin ti.He visto así mucho dinero desperdiciado de esa manera, creo que es una horrible modelo de negocio.

Yo gano mi pan con un software de creación de mí mismo, así que sé de las dificultades de hacer una vida con ella.Aún así, ofuscación no puede ser el camino a seguir hoy en día.Imponer estrictos acuerdos de licencia en sus clientes, asusta el infierno fuera de ellos, por lo que incluso no pensar acerca de redistribuir el software, pero dejar abierto el.

Esto es inútil. Siempre hay alguien más listo que tú y por lo tanto será capaz de realizar ingeniería inversa a su ofuscación.

Por lo general, alguien suficientemente inteligente como para hackear el código y usarlo de una manera significativa es lo suficientemente inteligente como para hacerlo por su cuenta, y probablemente piensa que puede hacerlo mejor de lo que hizo, por lo que no se molestarán robar sus cosas.

No se preocupe por la gente que puede piratear el código pero no hacer un uso significativo de la misma. Si usted ha hecho un trabajo bueno, esto sólo puede reforzar la calidad del trabajo que has hecho (piense en todos los imitadores de teléfonos con pantalla táctil de mierda).

Se van a realizar ingeniería inversa de su código. Nada puede detenerlos .. La única cosa que puede hacer es hacer más difícil. Esto va desde la ofuscación de código que es inheritely "abierta" como PHP y Javascript, todo el camino a ensuciar su código con una carga de basura de auto-modificación.

En un montón de maneras, creo, lo que hace que una pieza de software es valioso, no la loco avance tecnológico que proporciona, sino que las cosas que pensamos que nos podría pensar de como terciario para la pieza del software en sí mismo.Como el hecho de que usted estará allí para apoyarlo.O que se proporciona como un servicio web, y que usted estará allí para asegurarse de que el servidor se está ejecutando.O que es una comunidad, y que usted estará allí para moderar y construir la comunidad.

Mientras que usted puede ser realidad venta código, el valor que tu código no es intrínseca en el propio código, sino que se deriva de las características y el ecosistema que rodea a su código.

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