¿Qué tan efectiva es la ofuscación?

Una pregunta diferente, es decir, Las mejores herramientas / estrategia de ofuscación de .NET, pregunta si la ofuscación es fácil de implementar utilizando herramientas.

Mi pregunta es,Es efectiva la ofuscació En un comentario respondiendo aesta respuesta, alguien dijo que " si le preocupa el robo de fuentes ... la ofuscación es casi trivial para una verdadera galleta ".

He visto el resultado de la edición comunitaria de Dotfuscator: ¡y me parece ofuscado! ¡No me gustaría mantener eso!

Entiendo que simplemente 'descifrar' el software ofuscado podría ser relativamente fácil: porque solo necesita encontrar la ubicación en el software que implemente lo que quiera descifrar (generalmente la protección de la licencia) y agregar un salto para omitir eso.

Sin embargo, si la preocupación es algo más que el craqueo por parte de un usuario final o un 'pirata': si la preocupación es "robo de origen", es decir, si usted es un proveedor de software y su preocupación es otro proveedor (un competidor potencial) -ingeniería de su fuente, que luego podrían usar o agregar a su propio producto ... ¿en qué medida la simple ofuscación es una protección adecuada o inadecuada contra ese riesgo?

1ª edición:

El código en cuestión es de aproximadamente 20 KLOC que se ejecuta en máquinas de usuario final (un control de usuario, no un servicio remoto).

Si la ofuscación realmente es " Casi trivial para una galleta real ", Me gustaría tener una idea depor qu es ineficaz (y no solo "cuánto" no es efectivo).

2da edición:

No me preocupa que alguien invierta el algoritmo: más preocupado por su reutilización del @ reimplementació del algoritmo (es decir, el código fuente) en su propio producto.

Figurando que 20 KLOC es un trabajo de varios meses para desarrollar, ¿tomaría más o menos que esto (varios meses) para desofuscarlo todo?

¿Es incluso necesario desofuscar algo para 'robarlo': o podría un competidor sensato simplemente incorporarlo al por mayor en su producto mientras aún está ofuscado, aceptar que es una pesadilla de mantenimiento y esperar que necesite poco mantenimiento? Si este escenarioe una posibilidad es que el código .Net ofuscado sea más vulnerable a esto que el código de máquina compilado?

La mayor parte de la "carrera armamentista" de ofuscación apunta principalmente a evitar que las personas incluso 'descifren' algo (por ejemplo, encontrar y eliminar el fragmento de código que implementa la protección / aplicación de licencias), más que prevenir el 'robo de fuente'?

Respuestas a la pregunta(9)

Su respuesta a la pregunta