¿Qué ofuscador de .NET usar para ofuscar el código con los mismos resultados cada vez?

En mi programa, es importante que los nombres ofuscados sean los mismos después de cada compilación, de modo que pueda encontrar diferencias en los archivos para el tamaño mínimo de actualización; de lo contrario, los usuarios tendrán que descargar todos los dll nuevamente incluso para cada actualización pequeña. ¿Hay algún ofuscador que ofusque cada dll con el mismo resultado cada vez?

Dudo que lo haya, porque es algo contraproducente para la ofuscación. Alguien que realizó ingeniería inversa de parte de su archivo DLL puede simplemente continuar con la siguiente versión.
La ofuscación es mucho menos útil de lo que piensas y es un proceso bastante frágil. Mi sugerencia sería evitar usarlo y usar el tiempo para mejorar su producto en lugar de configurar el ofuscador.
He visto esta pregunta varias veces y se volvió interesante para mí. ¿Encontraste tal ofuscador? Por lo que yo sé, por lo general el ofuscador cambia el nombre cada vez. Y cada vez son diferentes.

Respuestas (3)

Los ofuscadores Thicket C# y VB.net de mi empresa generarán nuevos nombres aleatorios si ofuscas todo a la vez. Si ofusca de manera incremental, entonces no hay otra opción, debe preservar la ofuscación de los símbolos ya ofuscados. Nuestras herramientas hacen eso.

Ver Ofuscadores de Diseños Semánticos .

Al usar Skater .NET Ofuscator , puede ofuscar todos los dll de su proyecto y luego fusionarlos/combinarlos en un solo dll que se distribuirá. Los usuarios descargarán solo un dll por cada pequeña actualización.

Otro ofuscador que admite la ofuscación incremental es .NET Reactor . De esta manera siempre se generan los mismos nombres para clases y miembros (método, propiedades, campos).