Skip to content

Referencia

Notas de la versión

Qué cambió en cada versión de Nebula.NET.

La última compilación de Windows está siempre en la página de descarga. Verifica el SHA-256 que aparece ahí contra tu descarga.

1.1.0

La versión anti-ingeniería inversa.

Virtualización de código (Enterprise) — compila tus métodos más sensibles a un bytecode personalizado ejecutado por una VM embebida, de modo que su lógica ya no existe como IL. Consulta Virtualización de código.

Protección de Blazor WebAssembly — el nuevo comando nebula blazor ofusca una aplicación Blazor WASM publicada y repara los hashes de integridad de blazor.boot.json y las copias precomprimidas, de modo que la aplicación protegida sigue cargando. Consulta Protección de Blazor WebAssembly.

Construido para vencer a de4dot — despacho de flujo de control no plegable, cifrado de cadenas por sitio de llamada y ofuscación de referencias (llamadas por proxy) impiden que los desofuscadores automáticos eliminen la protección. Consulta Resistir la desofuscación automática.

Ofuscación de referencias (llamadas por proxy) (proxyReferences, Pro+) — oculta el grafo de llamadas tras métodos proxy sin marca.

Flujo de control agresivo más fuerte (Enterprise) — despacho enmascarado por clave más estados señuelo no podables.

Runtime universal — Nebula.Runtime ahora apunta a .NET Standard 2.0, así que la virtualización se ejecuta en cualquier plataforma .NET, incluido .NET Framework.

Seguridad de compilación — requireLicensedEdition hace fallar la compilación (en lugar de degradar silenciosamente) si la licencia no puede aplicar la protección solicitada, y la ruta de compilación vuelve a verificar su arrendamiento en línea cerca del vencimiento para detectar una licencia revocada.

1.0.15

Publicada el 14 de septiembre de 2026.

Integración de compilación — multi-targeting y Visual Studio

  • La integración de MSBuild ahora ofusca cada target framework de un proyecto multi-targeted automáticamente — se ejecuta una vez por framework y escribe cada uno en su propia carpeta de salida por TFM, omitiendo la compilación externa agregada (se acabaron las ejecuciones con TargetPath vacío).
  • Funciona bajo Visual Studio / msbuild.exe además de dotnet build: bajo Framework MSBuild el target invoca la CLI nebula (define NebulaToolPath si no está en el PATH).
  • Nuevos --input / -i en la CLI (repetibles) que anulan los inputs de la config, de modo que una config compartida solo de ajustes (transformaciones pero sin inputs) puede proteger muchos proyectos y frameworks mientras la compilación proporciona cada ensamblado.

Licenciamiento y seguridad de compilación

  • Nueva config requireLicensedEdition — hace fallar la compilación si la licencia no puede aplicar la protección solicitada (ausente / revocada / caducada / Free, o una funcionalidad solo de Enterprise degradada en una licencia Pro) en lugar de enviar silenciosamente una salida débilmente ofuscada. Recomendada para servidores de compilación y CI.
  • La compilación ahora vuelve a verificar el arrendamiento de activación en línea a medida que se acerca su vencimiento, de modo que una licencia revocada o caducada se detecta en la siguiente compilación (antes, un arrendamiento en caché se consideraba válido hasta que expiraba del todo). Consulta licenciamiento.

Salida y endurecimiento

  • Los ensamblados ofuscados ya no revelan el ofuscador — los tipos auxiliares inyectados usan nombres neutros y sin marca, de modo que una decompilación de tu código protegido no apunta de vuelta a la herramienta que lo produjo.
  • Endurecimiento más fuerte del flujo de control y de las constantes numéricas.

1.0.14

Publicada el 10 de septiembre de 2026.

Flujo de control

  • La intensidad aggressive ahora también protege métodos sin ramas (lineales), dividiéndolos en puntos seguros dentro de un despachador — de modo que ni siquiera los métodos lineales sencillos siguen siendo legibles cuando pides la máxima protección.

Interfaz de escritorio

  • Más rápida en proyectos grandes: el árbol de ensamblados ahora se virtualiza en todos los niveles, así que expandir un tipo o espacio de nombres grande solo renderiza lo que está en pantalla.
  • Selección única y predecible: hacer clic, expandir o contraer cualquier nodo — a cualquier profundidad — selecciona exactamente ese nodo (y solo ese) y lo mantiene a la vista.
  • Al cargar un proyecto se muestra un indicador de ocupado en lugar de parecer que se cuelga.
  • Pestañas más claras y restilizadas y una barra de herramientas de proyecto más ordenada.
  • Las entradas muy grandes y con muchas cadenas se mantienen fluidas: el árbol limita cuántas entradas de cadena individuales enumera (la selección de tipo/método nunca se limita; el cifrado de cadenas a nivel de config sigue cubriéndolo todo).

1.0.13

Publicada el 9 de septiembre de 2026.

Flujo de control más fuerte en métodos del mundo real

  • Se corrigió una limitación del análisis de pila en la que los métodos grandes dominados por un try/catch — especialmente los que hacen return desde dentro del try (una forma común en el código de comprobación de licencias y validación) — recurrían a una transformación más débil de “solo predicado opaco” en lugar del aplanado completo. Estos métodos ahora se aplanan por completo en máquinas de estados con despachador, incluidos los cuerpos try anidados. Esto corrige el modelado de la instrucción leave (que vacía la pila de evaluación según ECMA-335).
  • Se añadió NEBULA_CF_DEBUG=1 para informar, por método, por qué no se pudo aplanar algún cuerpo.

1.0.12

Publicada el 2 de septiembre de 2026.

Licencias de prueba

  • Licencias de evaluación totalmente funcionales y limitadas en el tiempo: todo desbloqueado hasta la fecha de fin de la prueba. La aplicación muestra una insignia distintiva de TRIAL y el número de días restantes.
  • Los ensamblados protegidos con una licencia de prueba llevan un aviso de inicio que indica que se compilaron con una licencia de evaluación y que no están licenciados para producción, y dejan de ejecutarse una vez que pasa la fecha de la prueba. Los ensamblados protegidos con una licencia de pago no se ven afectados y siguen ejecutándose indefinidamente — una licencia de pago caducada solo te impide proteger compilaciones nuevas, nunca las que ya enviaste.
  • Solicita una prueba directamente desde la página de precios.

Ediciones

  • La aplicación de escritorio y la CLI ahora muestran claramente la edición activa — Free, Pro o Enterprise (y Enterprise Trial) — en la barra de título, el cuadro Acerca de y nebula license.

El renombrado ahora es opcional

  • Puedes desactivar el renombrado de identificadores — por ejemplo, para proteger solo el flujo de control manteniendo los nombres para tu propia depuración. En la aplicación de escritorio, no seleccionar nada para renombrar significa ahora que no se renombra nada.

Fiabilidad

  • Manejo correcto de las firmas de tipos por valor al inyectar protección en objetivos de .NET Framework.
  • Endurecimiento interno del propio código de licenciamiento de Nebula en la compilación enviada.

1.0.11 y anteriores

Las versiones públicas iniciales establecieron el conjunto completo de protección:

  • Renombrado de identificadores con preservación de la API pública y detección automática de reflexión/serialización.
  • Cifrado de cadenas, cifrado de recursos y cifrado de métodos completos.
  • Ofuscación del flujo de control en todas las formas de método, incluidos los cuerpos de manejo de excepciones.
  • Anti-manipulación y anti-depuración, endurecimiento de metadatos y firma Authenticode / de nombre seguro.
  • Desofuscación de trazas de pila para compilaciones licenciadas.
  • Marca de agua por cliente (Enterprise) para el trazado de filtraciones.
  • Renombrado entre ensamblados para productos multiensamblado.
  • Una herramienta de línea de comandos, una interfaz de escritorio e integración con MSBuild / CI.
  • Licenciamiento: activación en línea con puestos, más licencias firmadas sin conexión para uso aislado (air-gapped).

¿Preguntas sobre un cambio concreto? Contáctanos.