¿Qué tan bueno es Dotfuscator Community Edition? ¿Qué es “suficientemente bueno Ofuscador”? [cerrado]

StackOverflow https://stackoverflow.com/questions/2030136

Pregunta

Tengo la intención de liberar una pequeña utilidad, con un precio bajo. Puesto que esto es más que un negocio manía, tenía planeado utilizar Dotfuscator Community Edition que se incluye con VS2008.

¿Qué tan bueno es?

También podría usar la definición de "buena Ofuscador suficiente" - qué características están ausentes de Dotfuscator Community Edition para que sea lo suficientemente bueno.

Editar

he comprobado los precios en el número de ofuscadores comerciales y cuestan mucho. ¿Vale la pena?

¿Son las versiones comerciales que mucho mejor que protegen de la ingeniería inversa?

No soy muy miedo de mi aplicación que se está agrietado (que será decepcionante si la aplicación es tan mala que nadie está interesado en que el agrietamiento). No está fuertemente protegido de todos modos, no excesivamente complejas claves de licencia y cheques de serie en pocos lugares en el código. Simplemente me molesta que sin ofuscación, alguien puede conseguir fácilmente el código fuente, rebrand y venderlo como propio.

¿Esto sucede mucho?

Editar 2:

Puede alguien recomendar Ofuscador comercial. Me encontré con un montón de ellos, todos ellos son caros, algunos incluso no tienen precio que aparece en la página web.

Característica inteligente, todos los productos se parecen más o menos similar.

¿Cuál es mínimo conjunto de características Ofuscador debe tener?

¿Fue útil?

Solución

En pocas palabras, la principal diferencia entre Dotfuscator Community Edition y las otras ediciones "profesionales" es que Community Edition será realmente sólo ocultar y cambiar los espacios de nombres, nombres de métodos y otros aspectos accesibles "públicas" de sus clases. No va a ahondar en las funciones de sí mismos y ofuscar el código "privado" dentro de la función.

Además, la edición de la Comunidad no hace nada para ocultar cosas tales como el flujo de control dentro de la aplicación, ni va a "combinar" código de varios ensamblados en un solo montaje. Estas son las características que están disponibles en el "profesional" pagado para las versiones.

La mejor comparación entre la Community Edition (el "libre" versión que viene con Visual Studio) y el "profesional", pagado por las ediciones se puede encontrar buscando en los siguientes dos enlaces:

ediciones preventiva Dotfuscator Comparación

Dotfuscator Community Edition 3.0 en MSDN

El enlace de MSDN está un poco fuera de fecha, sin embargo, da una mejor explicación de las características reales que están disponibles dentro de las distintas ediciones de Dotfuscator.

EDIT:

ofuscadores comerciales cuestan mucho dinero, y en cuanto al carnero que valen el dinero? Bueno, eso es una cuestión de criterio que en realidad sólo se puede hacer. En lo personal, yo diría que no vale la pena en su escenario. En primer lugar, ya que sólo está queriendo proteger a una aplicación ( "Tengo la intención de liberar una pequeña utilidad, con un precio bajo.") Y en segundo lugar, usted dice que usted no está demasiado preocupado con la aplicación que se está "roto" ( "I' no soy mucho miedo de mi solicitud está agrietado. ").

entiendo cómo se puede molestarte que las aplicaciones .NET compilados, sin ningún tipo de ofuscación, puede ser fácilmente ingeniería inversa a su código fuente original, y que alguien puede hacer uso de esto para robar su software y venderlo como propio, Sin embargo, el hecho es que la piratería de software existe y es probable que nunca detenerlo.

Tratar de detener la piratería de software se ha debatido ad-nausem tanto aquí (desbordamiento de pila) y por toda la Internet.

El consenso general parece ser que es necesario enfocar su tiempo y energías más en hacer su producto tan grande como lo puede ser en lugar de utilizar este mismo tiempo tratando de proteger algo que, dado el tiempo suficiente / dinero, un "atacante "puede 'romper' / robar su software de todos modos, a pesar de sus mejores esfuerzos para evitar que lo hagan.

  

¿Esto sucede mucho?

Yo diría que probablemente sucede mucho menos de lo que piensa que lo hace. Por supuesto, el software se cuartea, pero no creo que mucha gente realmente robar el código de otra fuente y completamente re-marca que se venda como propio. No estoy diciendo que no lo hace, o no ha ocurrido, pero ciertamente no es una ocurrencia común.

Para resumir, diría que la mejor opción sería centrarse en hacer su utilidad tan grande como lo puede ser y utilizar el Ofuscador libre Dotfuscator, ya que requiere muy poca inversión de tiempo / dinero, para ofuscar su código de las miradas indiscretas más evidentes, pero no perder el sueño por el hecho de que si alguien quiere romper / robar su producto / código bastante mal, que van a hacer.

Otros consejos

Creo Dotfuscator Community Edition se incluye con Visual Studio es una solución bastante ingenua. Proporciona único símbolo de cambio de nombre y no ofuscar flujo de control en absoluto. Y si alguien decide robó su código sólo tendrá que volver refactorizar todos los nombres, lo cual es bastante fácil con una pequeña cantidad de clases.

También puede confiar en la descompilación no tan perfecto proporcionado por el reflector (por lo general se mete cambiar bloques, hace un montón de GOTOS, desajuste if-else bloques, etc.).

Pero le sugiero que trate Eziriz .NET Reactor . Cuesta Only $ 179 (que yo sepa mejor relación precio / características ratio). Proporciona técnicas de ofuscación estándar tales como símbolo de cambio de nombre, el cifrado de cadena, ofuscación flujo de control. Como un buen bono crea lanzador nativo para que la aplicación, que contendrá el conjunto principal y todas las referencias de terceros cifrados y cargados bajo demanda. Además de que ofrece algunas capacidades de licencia.

De todos modos revertir aplicación .NET no es tan difícil, lo hice por diversión y puedo decir que es sólo cuestión de tiempo y dinero (y, por supuesto, el sentido común) lo rápido que se quebró o se invierte su aplicación.

Como mínimo, un Ofuscador debe tener:

  1. cifrado de cadena
  2. Símbolo cambio de nombre
  3. ofuscación flujo de control

bueno tener características son:

  1. La protección de recursos
  2. Asamblea fusión / incrustar
  3. ocultar llamada a un método externo
  4. Posibilidad de montajes ofuscado auto-signo
  5. Soporte para ensamblados satélite
  6. Dead eliminación de código
  7. reducción de meta-datos
  8. Anti-decompilador (Reflector)
  9. Anti-tamper
  10. Anti-depuración

Tome un vistazo a nuestra producto Crypto Obfuscator el que acepta todos ellos.

Otra manera de moverse por código de ingeniería inversa es donde se colocan las DLL si no puede realmente permitirse ofuscadores que hacen añadir soporte. Y en sus assembies antes del despliegue decirle al compilador dónde buscar para ellos que era una vieja práctica de obstaculizar la ingeniería inversa. Pero como ya se dijo, se concentran sobre todo en el desarrollo de un producto excelente y buenas prácticas de codificación, entonces usted será capaz de pagar una aplicación Ofuscador agradable en el futuro. Además, trate de no preocuparse mucho por los demás craqueo su código porque la mayoría de los hackers Descifran acaba de encontrar una manera de utilizar el producto sin tener que pagar por ello y no robar código o aprender de para el comienzo de programador. Sí, deseo JIT sólo se admite C # y vb.net que habría realmente reducir en la ingeniería inversa pero desde JIT puede leer muchos debido a .NET ser realmente un lenguaje amigable que es el precio. Así código de distancia y hacer algo de dinero, comprar algunos valores adicionales.

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