Nebula.NET · Funciones
Cada capa de protección, explicada
Nebula.NET combina una pila completa de transformaciones para elevar el coste de aplicar ingeniería inversa a tu código .NET. Agrupadas por lo que hacen — ofuscación, endurecimiento y las herramientas de compilación alrededor — aquí está cada una, por qué importa y dónde aprender más.
El pipeline
Una sola pasada, aplicada a tu salida compilada
Nebula trabaja sobre ensamblados, no sobre código fuente. Cada función de abajo es una etapa o una opción de esta única pasada verificada.
Ofuscación
Ofuscación y transformación de código
El trabajo central: hacer el código compilado ilegible y su lógica irrecuperable. Estas transformaciones atacan nombres, estructura y secretos — y las más duras sacan la lógica del IL por completo.
Renombrado de identificadores
Tipos, métodos, campos y parámetros se renombran a identificadores cortos y sin sentido, de modo que un decompilador muestra a.b(c) en lugar de PricingEngine.CalculateDiscount(order). Los espacios de nombres colapsan y los metadatos que antes documentaban tu diseño desaparecen. Puedes preservar tu API pública (para bibliotecas) mientras renombras todo lo interno, y los nombres referenciados por reflexión y serialización se detectan y conservan automáticamente.
Aplanado del flujo de control
La verdadera victoria frente a los decompiladores. Nebula reescribe cada método como una máquina de estados con despachador — un bucle while(true){ switch(state) } — de modo que la estructura original if/for/try queda genuinamente destruida en lugar de reordenada. Funciona en cualquier forma de método, incluidos grandes bloques try/catch, y el nivel agresivo de Enterprise incluso fragmenta el código lineal. Cada transformación se verifica para ejecutarse de forma idéntica a tu original.
Virtualización de código
La protección más fuerte — una función Enterprise. Tus métodos más sensibles se compilan a un bytecode propio ejecutado por una pequeña máquina virtual embebida, de modo que la lógica ya no existe como IL: un decompilador solo muestra una llamada a la VM. Para recuperar el método, un atacante primero debe aplicar ingeniería inversa a la propia VM. Ideal para comprobaciones de licencia, cálculo de claves y algoritmos propietarios; el runtime publicado es .NET Standard 2.0, así que funciona en cualquier objetivo .NET incluido .NET Framework.
Más información en la documentaciónOfuscación de referencias (llamadas por proxy)
Las llamadas se enrutan a través de métodos proxy inyectados y sin marca, de modo que un decompilador — y el análisis automatizado del grafo de llamadas — ya no pueden ver qué método externo o de la BCL invoca realmente cada punto. Combinado con las capas anteriores, impide que desofuscadores automatizados como de4dot reconstruyan tu programa.
Más información en la documentaciónCifrado de cadenas
Las cadenas literales — mensajes, SQL, URL, claves, el texto que delata tu lógica — se cifran con una clave nueva por compilación y se descifran en tiempo de ejecución mediante una rutina insertada y sin marca. Quien aplique ingeniería inversa buscando una cadena delatora no encontrará nada. Selecciona todas las cadenas, o solo las sensibles.
Más información en la documentaciónCifrado de método completo
Para tus métodos más sensibles, el propio cuerpo IL se cifra y solo se descifra en memoria cuando el método se llama por primera vez — de modo que las instrucciones del método no están presentes en el ensamblado publicado hasta el tiempo de ejecución.
Más información en la documentaciónEndurecimiento
Anti-análisis y endurecimiento
La ofuscación ralentiza a un lector; el endurecimiento detiene los ataques que evitan la lectura por completo — parchear el binario, adjuntar un depurador o extraer recursos embebidos.
Anti-manipulación
Una comprobación de integridad en tiempo de carga detecta si el ensamblado ha sido modificado (parcheado para saltarse una comprobación de licencia, por ejemplo) y reacciona como tú elijas — lanzar una excepción, salir o llamar a tu propio controlador. Frustra el ataque más común: editar el binario para evadir tu protección.
Más información en la documentaciónAnti-depuración
Detecta un depurador gestionado o nativo adjunto y reacciona en tus términos, dificultando mucho más depurar paso a paso y entender el código protegido en tiempo de ejecución.
Más información en la documentaciónEndurecimiento de recursos y metadatos
Los recursos embebidos se pueden cifrar, y los metadatos exclusivos de tiempo de compilación que delatan la intención se eliminan u ocultan — quitando otra capa de la que depende un decompilador.
Más información en la documentaciónMarca de agua por cliente
Incrusta un identificador oculto y único en la compilación de cada cliente. Si un binario protegido se filtra o se crackea, lee de nuevo la marca para rastrearlo hasta el cliente exacto al que se emitió — un disuasorio y una herramienta forense.
Más información en la documentaciónCompilación y operaciones
Compilación, integración y operaciones
Protección que encaja con productos y equipos reales: compilaciones de solución completa, salida firmada, automatización de CI y las herramientas para seguir depurando en producción una vez renombrado tu código.
Firma Authenticode y de nombre seguro
Como la ofuscación reescribe el ensamblado, la firma debe ocurrir después — por eso Nebula lo hace por ti: reaplica tu nombre seguro y firma con Authenticode la salida protegida (con marca de tiempo) como parte del pipeline.
Más información en la documentaciónProtección entre ensamblados
Ofusca todo un producto de una vez. Nebula renombra los miembros públicos de forma coherente en todos tus ensamblados, para que las referencias entre ellos sigan siendo válidas — protección que abarca toda tu base de código, no una DLL a la vez.
Más información en la documentaciónProtección de Blazor WebAssembly
Blazor WASM envía tus ensamblados reales al navegador — el objetivo .NET más expuesto. El comando nebula blazor ofusca una app publicada y repara los hashes de integridad de blazor.boot.json y las copias precomprimidas, para que la app protegida siga cargando. La mayoría de los ofuscadores no pueden hacer esto.
Desofuscación de trazas de pila
Cada compilación produce un mapa de símbolos que solo tú tienes. Pasa una traza de pila de producción renombrada de vuelta por Nebula para traducirla a los nombres originales — de modo que proteger tu código no te cuesta la capacidad de diagnosticar fallos.
Más información en la documentaciónCLI, app de escritorio y CI
Ejecútalo como prefieras: una app de escritorio de apuntar y hacer clic para explorar y seleccionar, una CLI dirigida por configuración para scripts, o integración con MSBuild/CI que protege automáticamente en el servidor de compilación mientras las compilaciones de desarrollo quedan intactas. Sin dependencia de código fuente — Nebula transforma la salida compilada, así que no vive nada específico de Nebula en tus proyectos.
Más información en la documentaciónCompatibilidad
Se ejecuta en todos los objetivos .NET actuales
Una herramienta para toda la plataforma — desde las apps de .NET Framework que llevas años publicando hasta el runtime multiplataforma más reciente y el WebAssembly alojado en el navegador. El runtime de virtualización apunta a .NET Standard 2.0, así que el código protegido carga en todas partes.
Antes y después: el C# legible se convierte en código aplanado, renombrado y cifrado.
Prueba cada función gratis
La edición Free incluye el conjunto completo de herramientas (con límites ligeros). Desbloquéalo todo con una licencia.