Skip to content

Nebula.NET

Tutoriales por edición

Guías completas de principio a fin para las ediciones Free, Pro y Enterprise — elige tu edición y sigue los pasos para tu caso de uso.

Esta página tiene una guía completa para cada edición. Encuentra tu edición abajo y sigue los pasos para tu escenario. Cada tutorial es autónomo, así que solo necesitas leer el que te corresponde.

EdiciónPara quién esIntegración con la compilación
FreeProbarlo; proyectos pequeños o abiertosNo — solo la herramienta (CLI + interfaz gráfica)
ProApps y bibliotecas comercialesSí — MSBuild / CI
EnterpriseEquipos más grandes; trazado de filtraciones; aislados (air-gapped)Sí — puestos CI flotantes

Para comprobar qué edición estás ejecutando en cualquier momento:

nebula license

La interfaz gráfica muestra lo mismo en su barra de título y en el cuadro About (FREE EDITION, PRO o ENTERPRISE).


Tutorial de la edición Free

La edición Free es la herramienta completa — la CLI (nebula) y la app de escritorio — con tres límites: hasta 2 cadenas cifradas, hasta 2 métodos protegidos con flujo de control y sin desofuscación de trazas de pila. El renombrado de identificadores es ilimitado. No está integrada con la compilación: ofuscar como parte de dotnet build es una característica licenciada, así que en Free ejecutas la herramienta a mano o como tu propio paso de publicación.

Escenario A — proteger un ensamblado (interfaz gráfica)

  1. Instala Nebula.NET desde la página de descarga y abre la app de escritorio.
  2. Haz clic en Open y selecciona tu ensamblado compilado (p. ej. bin\Release\net8.0\MyApp.dll). No se selecciona nada de forma predeterminada — es intencional para que los inputs grandes se mantengan ágiles.
  3. En el árbol, marca los miembros que quieras proteger (o el nodo del ensamblado para seleccionar todos).
  4. Elige una carpeta de salida, activa Rename, Encrypt strings y Control flow, y haz clic en Protect.
  5. Ejecuta tu app desde la carpeta de salida para confirmar que se comporta de forma idéntica.

Escenario B — proteger un ensamblado (CLI)

  1. Crea nebula.config.json junto a la salida de tu compilación:

    {
      "schemaVersion": 1,
      "inputs": ["bin/Release/net8.0/MyApp.dll"],
      "outputDirectory": "protected",
      "preservePublicApi": true,
      "encryptStrings": true,
      "controlFlowObfuscation": true
    }
  2. Ejecútalo:

    nebula --config nebula.config.json
  3. La copia protegida se escribe en protected/. Ejecuta tus pruebas contra ella.

¿Llegaste a los límites? Si tu app tiene más de 2 cadenas o métodos que valga la pena proteger, Nebula protege los 2 primeros de cada uno y te indica que el resto se omitió porque estás en Free. Esa es la señal para pasar a Pro, que elimina todos los límites y añade anti-manipulación, cifrado de recursos y desofuscación.

Lo que Free no hace

  • Sin integración con dotnet build — la tarea de MSBuild y la propiedad NebulaObfuscate requieren una licencia. En Free, ofusca como un paso manual o con tu propio script.
  • Sin desofuscación de trazas de pila — no puedes mapear una traza de pila de producción renombrada de vuelta a los nombres originales.

¿Listo para eliminar los límites? Consulta Obtener una licencia.


Tutorial de la edición Pro

Pro (la edición Licensed) elimina todos los límites de Free y desbloquea la anti-manipulación/anti-depuración, el cifrado de recursos, la firma Authenticode, la desofuscación de trazas de pila y la integración con la compilación. Esta es la edición para distribuir un producto comercial.

Paso 1 — activa tu licencia

Tras la compra recibes una clave de la forma LIC-….

nebula register --key LIC-XXXXXXXXXXXX
nebula license      # should now say: Licensed to <you> … / All features enabled.

La activación vincula esta máquina a un puesto y devuelve un arrendamiento firmado, tras lo cual Nebula se ejecuta sin conexión hasta que el arrendamiento se renueva.

Paso 2 — proteger en cada compilación (recomendado)

En lugar de ejecutar la herramienta a mano, deja que lo haga la compilación. Añade las propiedades al proyecto que produce tu ensamblado distribuible:

<PropertyGroup>
  <NebulaObfuscate>true</NebulaObfuscate>
  <NebulaConfigFile>nebula.config.json</NebulaConfigFile>
  <NebulaPreservePublicApi>true</NebulaPreservePublicApi>
  <NebulaControlFlow>true</NebulaControlFlow>
  <NebulaEncryptStrings>true</NebulaEncryptStrings>
</PropertyGroup>

Ahora dotnet build -c Release produce un ensamblado protegido automáticamente. Consulta MSBuild y CI para la lista completa de propiedades.

Paso 3 — proteger solo tus compilaciones oficiales

Un requisito común: las compilaciones de los desarrolladores quedan sin ofuscar, y solo se protege la compilación que produce tus paquetes distribuibles. Como NebulaObfuscate es simplemente una propiedad de MSBuild, déjala sin establecer en todas partes y establécela como una variable de entorno solo en el agente de compilación:

NebulaObfuscate=true
NEBULA_LICENSE=C:\keys\nebula-license.json   # a file PATH (or activate an online key once: nebula register --key LIC-…)

Las máquinas de los desarrolladores (sin la variable) compilan exactamente como antes; el agente de compilación protege automáticamente — mismo código, sin flags ni cambios de código. NEBULA_LICENSE es una ruta de archivo, no una clave; en un agente persistente puedes, en su lugar, activar una clave en línea una vez con nebula register --key LIC-…. El paso a paso completo (cmd / PowerShell / bash) y las opciones de licenciamiento están en MSBuild y CI.

Paso 4 — firmar y desofuscar

  • Firma la salida protegida (Authenticode / nombre seguro) para que se distribuya con confianza — establece strongNameKeyFile en tu configuración.

  • Desofusca una traza de pila de producción de vuelta a los nombres originales:

    nebula deobfuscate --map protected/MyApp.symbols.json --input crash.txt

    Consulta Desofuscar trazas de pila.

Paso 5 — múltiples ensamblados

Si renombras miembros públicos que otros de tus ensamblados llaman, ofúscalos juntos para que las referencias se reescriban de forma consistente. Añádelos todos a inputs y habilita crossAssemblyRename. Consulta Múltiples ensamblados y renombrado entre ellos.


Tutorial de la edición Enterprise

Enterprise incluye todo lo de Pro más el trazado de filtraciones, un nivel de flujo de control agresivo y un licenciamiento pensado para equipos más grandes. Las claves de Enterprise se activan exactamente igual que las de Pro:

nebula register --key LIC-XXXXXXXXXXXX
nebula license      # shows: Enterprise, licensed to …

Escenario A — rastrear filtraciones con marca de agua por cliente

Incrusta un id oculto y único en la compilación de cada cliente para que un binario filtrado sea rastreable.

  1. Da a cada cliente un id distinto en su configuración:

    {
      "schemaVersion": 1,
      "inputs": ["bin/Release/net8.0/MyApp.dll"],
      "outputDirectory": "protected",
      "watermark": "CUST-ACME-0042"
    }
  2. Compila una salida separada por cliente y anota qué id fue para quién.

  3. Lee la marca de nuevo desde una filtración sospechosa:

    nebula watermark --input suspected.dll
    # Watermark: CUST-ACME-0042

Escenario B — máxima protección para ensamblados sensibles

Sube el flujo de control al nivel agresivo exclusivo de Enterprise para tu código más valioso:

{ "controlFlowObfuscation": true, "controlFlowIntensity": "aggressive" }

Bajo licencias que no sean de Enterprise esto se degrada automáticamente a intensidad estándar, así que la misma configuración es segura para compartir en todo un equipo.

Escenario C — servidores de compilación CI sin consumir puestos de desarrollador

Enterprise incluye licencias flotantes de servidor CI: protege en los agentes de compilación sin consumir un puesto de desarrollador, más activación on-prem / aislada (air-gapped) para entornos seguros que no pueden llegar a internet. Configúralo como en el paso 3 de Pro, usando la disposición de CI/servidor de compilación de tu acuerdo de Enterprise. Consulta Características de Enterprise.


¿Qué edición necesito?

  • Free — evaluación, o un proyecto pequeño/abierto, y te vale con ejecutar la herramienta a mano.
  • Pro — una app o biblioteca comercial; quieres protección ilimitada y protección automática en cada compilación.
  • Enterprise — necesitas trazado de filtraciones, el flujo de control más fuerte, o licenciamiento flotante/aislado para un equipo.

Compara los planes en la página de precios y consulta la comparación de ediciones completa.