Skip to content

Blog

Novedades y notas de ingeniería

Anuncios de versiones, análisis a fondo de cómo funcionan nuestras herramientas y guías prácticas.

Licenciamiento

Automatizar la entrega de licencias con webhooks de fulfillment

Un pedido pagado debería generar una licencia sin ningún humano de por medio. Así funcionan los webhooks de fulfillment de principio a fin: verificar la firma sobre el cuerpo en bruto, hacer la entrega idempotente por pedido, y mapear los eventos de pago, reembolso y cancelación a emitir, revocar y renovar.

Leer artículo →
Decompilación

En qué se convierte async/await al decompilar: leer la máquina de estados generada

Decompila un método async y no verás async/await: verás una estructura generada por el compilador con un switch en MoveNext(). Esto es cómo el compilador de C# transforma async en una máquina de estados, cómo leer el tipo <Método>d__N que te muestra un decompilador, y cómo un buen decompilador reconstruye el original.

Leer →
Ofuscación

Ofuscación más allá del renombrado: por qué el .NET renombrado todavía se lee como código fuente

El renombrado de identificadores es la capa de ofuscación más débil: un decompilador sobre código solo renombrado sigue mostrando tu lógica, tus cadenas y tus constantes tal cual. Esto es lo que el renombrado oculta y lo que no, y las capas —cifrado de cadenas, enmascaramiento de constantes, aplanamiento del flujo de control y virtualización— que de verdad hacen difícil de leer el .NET.

Leer →
Licenciamiento

Derechos y feature flags, definidos por la licencia

Cómo habilitar funciones y aplicar límites numéricos según el nivel de licencia: plantillas de derechos firmadas, lectura de flags y límites sin conexión en tu app, aplicación en la frontera de cada capacidad, y cambiar lo que desbloquea un nivel sin publicar una nueva versión.

Leer →
Licenciamiento

Licenciamiento para entornos aislados (air-gapped) y sin conexión

Cómo funciona la activación de licencias en entornos aislados (air-gapped): archivos de licencia offline firmados, flujos de activación manual, caducidad y gracia sin conexión, y revocación sin red.

Leer →
Decompilador

Cómo analizar de forma segura un ensamblado .NET sospechoso

Una guía defensiva para analizar estáticamente una DLL .NET no confiable sin ejecutarla: decompilar, inspeccionar APIs y recursos, detectar ofuscación y mantenerse a salvo.

Leer →
.NET

Anti-manipulación para .NET: detén las compilaciones parcheadas y crackeadas

La anti-manipulación para .NET detecta un ensamblado modificado o parcheado y un depurador en tiempo de ejecución. Aquí tienes cómo funcionan las comprobaciones de autointegridad y anti-depuración, y sus límites honestos.

Leer →
.NET

Ofuscación del flujo de control en .NET: por qué el renombrado no basta

El renombrado oculta nombres; la ofuscación del flujo de control oculta la lógica. Aquí tienes cómo funcionan el aplanado del flujo de control y los predicados opacos en .NET, con un ejemplo de antes/después.

Leer →
Decompilador

Alternativa a dnSpy en 2026: un decompilador de .NET con mantenimiento

dnSpy está archivado y sin mantenimiento. Estas son las mejores alternativas a dnSpy en 2026 para decompilar, leer y depurar .NET: gratuitas y en desarrollo activo.

Leer →
Licenciamiento

Licencias flotantes (concurrentes) explicadas

Cómo funciona una licencia flotante (concurrente) frente a las de bloqueo por equipo y de usuario nombrado: el techo de concurrencia, el check-in/check-out y cuándo encaja cada una.

Leer →
Decompilador

Alternativa a ILSpy: cuando quieres más

ILSpy es un excelente decompilador de .NET gratuito. Una mirada honesta a las alternativas a ILSpy en 2026 — dónde los usuarios quieren más experiencia y navegación, y cómo se compara Glass.

Leer →
Tutorial

Ofuscar .NET en Azure DevOps Pipelines

Un pipeline de YAML de Azure DevOps concreto que ofusca tu aplicación .NET solo en Release, licencia únicamente el agente de compilación y conserva el mapa de símbolos como artefacto.

Leer →
.NET

Proteger un SDK o una biblioteca de clases .NET que entregas a tus clientes

Ofuscar una biblioteca de clases o un SDK de .NET es diferente: la API pública debe seguir siendo invocable mientras se protegen las interioridades. Aquí tienes cómo excluir la superficie y publicar con seguridad.

Leer →
.NET

de4dot y la desofuscación de .NET: qué lo frena de verdad

Los desofuscadores automáticos como de4dot eliminan el renombrado simple con un clic. Aquí tienes lo que eleva el coste: flujo de control, cifrado de cadenas y de métodos, y virtualización.

Leer →
Decompilador

Cómo recuperar código fuente perdido a partir de una DLL de .NET

¿Perdiste el repositorio pero aún tienes la DLL? Cómo recuperar código fuente de una DLL de .NET decompilándola de vuelta a un proyecto C# compilable, con advertencias honestas.

Leer →
Licenciamiento

Licenciamiento autoalojado frente a la nube: cómo elegir

Licenciamiento autoalojado frente a un servidor de licencias gestionado en la nube: las verdaderas disyuntivas en control, aislamiento (air-gap), cumplimiento, disponibilidad y carga operativa.

Leer →
Licenciamiento

Cómo detener el uso compartido de claves de licencia y la piratería

Cómo detener el uso compartido de claves de licencia y evitar la piratería de licencias: bloqueo por equipo, límites de activación, topes de puestos y dispositivos, revalidación y revocación.

Leer →
Licenciamiento

Licenciamiento basado en uso (medido) para software

Cómo funciona el licenciamiento basado en uso (medido): créditos, cuotas, medición de llamadas a la API o puestos, bloques de créditos prepago y reconciliación del uso sin conexión.

Leer →
Decompilador

Cómo ver el IL de un ensamblado .NET (y por qué)

Cómo ver el IL de un ensamblado .NET, qué es realmente el CIL y cuándo leer IL supera al C# decompilado — con un ejemplo práctico pequeño y correcto de C# a IL.

Leer →
.NET

Cómo depurar una app .NET cuando no tienes el código fuente

¿No tienes el código de ese paquete NuGet o de una DLL heredada? Un decompilador de .NET convierte el ensamblado de nuevo en C# legible que puedes navegar, comparar entre versiones y exportar a un proyecto, para que encuentres el fallo sin el código original.

Leer →
.NET

Ofuscador de .NET gratuito: lo que realmente obtienes (y lo que no)

Un ofuscador de .NET gratuito te da renombrado de identificadores, algo de cifrado de cadenas y protección básica del flujo de control — las funciones de pago son el cifrado de cadenas completo, la anti-manipulación, el cifrado de métodos, la virtualización de código y la integración con CI. Aquí tienes un desglose honesto, y dónde encaja la edición gratuita de Nebula.NET.

Leer →
Licenciamiento

Cómo licenciar tu software: una guía práctica

Una guía práctica y de principio a fin para licenciar tu software: elige un modelo de licenciamiento, emite claves de licencia firmadas en lugar de una cadena casera, entrégalas a los clientes, verifica sin conexión y activa en línea, aplica puestos y bloqueo por equipo, controla funciones con derechos, y gestiona pruebas, renovaciones y revocación.

Leer →
.NET

Cómo funciona la ingeniería inversa de una aplicación .NET (y cómo hacer que no valga la pena)

Aplicar ingeniería inversa a una aplicación .NET es fácil porque el IL se decompila limpiamente de vuelta a C#: cadenas, comprobaciones de licencia y lógica, todo legible. Aquí tienes cómo funciona y las capas defensivas que elevan el coste.

Leer →
Licenciamiento

Tipos de licencia de software explicados: perpetua, suscripción, flotante, prueba

Una referencia clara sobre los principales tipos de licencia de software — perpetua, suscripción/por plazo, flotante/concurrente, con bloqueo por equipo, prueba y por volumen/sede — con cuándo usar cada uno, sus contrapartidas, una tabla comparativa y cómo se corresponde cada uno con lo que admite Keyright.

Leer →
Licenciamiento

Cómo añadir una prueba gratuita a tu software (que no se filtre)

Pruebas con límite de tiempo bien hechas: emite una clave firmada que caduca sola, bloquéala por equipo para una prueba por máquina, hazla revocable y rastreable, conviértela a pago sin reemitir clave y ofrece pruebas de autoservicio desde tu propio sitio, en lugar de un flag en el registro que cualquiera puede resetear.

Leer →
Licenciamiento

Generador de claves de licencia para .NET: por qué no deberías hacer el tuyo propio

Un sistema de licencias de .NET de verdad no es una cadena de clave aleatoria: es una licencia firmada que se verifica contra una clave pública incrustada, con caducidad, bloqueo por equipo, derechos y revocación. Aquí tienes por qué un generador de claves casero fracasa y cómo es un sistema de licencias firmadas en condiciones.

Leer →
.NET

Cifrado de métodos en .NET: cómo protege tu código más sensible

El cifrado de métodos almacena el IL de un método cifrado en el ensamblado y lo vuelve a emitir en tiempo de ejecución, de modo que un decompilador solo ve un esbozo: ni C# ni IL legibles. Así funciona, cuándo usarlo y sus contrapartidas.

Leer →
.NET

Una alternativa a dotPeek: Glass.NET, un decompilador de .NET gratuito

Glass.NET es un decompilador de .NET gratuito construido sobre el motor de ILSpy, con un flujo de trabajo centrado en la navegación, exportación de proyectos y un informe de exposición. Aquí tienes una comparación honesta con JetBrains dotPeek.

Leer →
Licenciamiento

Bloqueo por equipo y gestión de puestos para licencias de software

Cómo vincular una licencia a un equipo con una huella estable y tolerancia a cambios, imponer un número de puestos en N máquinas, dejar que los clientes desactiven un puesto por su cuenta, y por qué solo la activación en línea hace reales los puestos y la revocación.

Leer →
Licenciamiento

Cómo añadir licenciamiento de software a una aplicación .NET

Un cómo-hacerlo práctico para añadir licenciamiento a una aplicación .NET: emite una clave firmada, embebe una clave pública, verifica sin conexión, limita funciones por nivel y derechos, activa en línea para los puestos y gestiona pruebas y revocación.

Leer →
Licenciamiento

Construir o comprar: licenciamiento de software para .NET (2026)

Un desglose honesto del coste real de crear tu propio licenciamiento de .NET —claves de firma, bloqueo por equipo, puestos, revocación, pruebas, un portal de cliente— frente a adoptar un servicio de licenciamiento como Keyright.

Leer →
Licenciamiento

Una alternativa a Cryptolens para el licenciamiento de software

Cryptolens es un servicio de licenciamiento establecido y centrado en .NET. Aquí tienes una comparación justa con Keyright: licencias firmadas offline-first, claves de firma por tenant, derechos y pruebas de autoservicio, con un nivel gratuito para probar primero.

Leer →
Decompilación

Cómo decompilar una DLL de .NET a C# (guía 2026)

Decompila cualquier DLL o EXE de .NET de vuelta a C# legible gratis. Una guía paso a paso más una comparación honesta de ILSpy frente a dnSpy frente a dotPeek frente a Glass.NET.

Leer →
Ofuscación

Cómo proteger el código de .NET frente a la decompilación (2026)

Una guía práctica y honesta para proteger el código de .NET frente a la decompilación: por qué C# es trivialmente reversible, y las capas de ofuscación que realmente elevan el coste.

Leer →
.NET

Cómo inspeccionar el código de un paquete NuGet antes de confiar en él

Un paquete NuGet distribuye DLLs compiladas, no el código fuente que lees en GitHub — así que la única forma de auditar el código exacto que estás a punto de ejecutar es decompilarlo. Aquí tienes cómo decompilar un paquete NuGet de vuelta a C#, qué señales de alarma buscar, y cómo un decompilador gratuito hace la revisión rápida.

Leer →
Licenciamiento

Una alternativa a Keygen para el licenciamiento de .NET

Keygen es una API de licenciamiento capaz y agnóstica al lenguaje. Aquí tienes una comparación honesta con Keyright — dónde encaja cada uno, y por qué un equipo .NET-first que distribuye licencias firmadas sin conexión podría preferir Keyright.

Leer →
Blazor

Cómo ofuscar una aplicación Blazor WebAssembly en .NET 8/9/10 (WebCil)

El Blazor WebAssembly moderno envuelve tus ensamblados .NET reales en WebCil, les pone una huella y los protege con hashes de integridad — de modo que los ofuscadores posteriores a la publicación rompen la aplicación. Aquí tienes por qué, y cómo proteger una aplicación Blazor WASM de la forma correcta: ofuscar en tiempo de compilación, antes de que el SDK empaquete en WebCil.

Leer →
Licenciamiento

Validación de licencias sin conexión con claves firmadas, explicada

Cómo funciona la validación de licencias sin conexión: firmas RSA firmadas en el servidor y verificadas en el cliente contra una clave pública embebida, bloqueo por equipo mediante huella de la máquina, caducidad, listas de revocación y por qué importa fallar en cerrado.

Leer →
Comparativa

Una alternativa a Dotfuscator para .NET en 2026

Dotfuscator es el veterano ofuscador empresarial de .NET, pero sus precios por presupuesto y su enfoque empresarial no encajan con todos los equipos. Aquí tienes una mirada honesta a dónde brilla, dónde no, y cómo se compara Nebula.NET como alternativa moderna.

Leer →
Comparativa

Una alternativa a Eazfuscator.NET en 2026

Eazfuscator.NET es un ofuscador de .NET pulido, nativo de MSBuild y con virtualización. Aquí tienes una comparación justa con Nebula.NET: dónde encaja cada uno y cómo elegir para tu equipo.

Leer →
Glass.NET

Glass.NET frente a ILSpy, dnSpy y dotPeek: un decompilador que navegas

Un análisis función por función de Glass.NET frente a ILSpy, dnSpy, dotPeek y .NET Reflector — el mismo motor de decompilación probado, pero un flujo de trabajo centrado en la navegación, una vista completa de información del ensamblado, exportación de proyectos y un informe de exposición. Gratuito, y en desarrollo activo.

Leer →
Comparación

Una alternativa a .NET Reactor en 2026

.NET Reactor es un ofuscador capaz y asequible, con compilación nativa (NecroBit) y licenciamiento integrado. Aquí tienes una comparación honesta con Nebula.NET — en qué destaca cada uno y cómo decidir.

Leer →
Guía

Cómo ofuscar una aplicación .NET MAUI (sin romperla)

Una aplicación .NET MAUI distribuye tus ensamblados administrados a cada dispositivo, donde se decompilan de vuelta a C#. Aquí tienes qué queda expuesto en cada plataforma, cómo ofuscar una aplicación MAUI con Nebula.NET y las trampas de los enlaces de XAML y de iOS que debes evitar.

Leer →
Blazor

Cómo proteger una aplicación Blazor WebAssembly de la decompilación

Blazor WebAssembly envía tus ensamblados .NET reales al navegador, donde cualquiera puede descargarlos y decompilarlos. Aquí tienes por qué Blazor es el objetivo .NET más expuesto, por qué no puedes limitarte a ofuscar las DLL y cómo Nebula.NET protege una aplicación Blazor WASM de principio a fin.

Leer →
Anuncio

Nebula.NET 1.1: virtualización de código, protección de Blazor WASM y cómo vencer a de4dot

Nebula.NET 1.1 añade virtualización de código, protección de Blazor WebAssembly y un endurecimiento creado específicamente para derrotar a los desofuscadores automáticos como de4dot.

Leer →
Tutorial

Cómo ofuscar una aplicación .NET en GitHub Actions (CI/CD)

Ofusca tu aplicación .NET automáticamente en GitHub Actions: un flujo de trabajo de CI/CD paso a paso que protege tu compilación de Release en el runner, licencia solo el servidor de compilación y mantiene limpias las compilaciones de los desarrolladores.

Leer →
Guía

Ofusca solo en tu servidor de compilación (mantén limpias las compilaciones de los desarrolladores)

Protege solo las compilaciones oficiales y distribuibles — las máquinas de los desarrolladores compilan sin ofuscar y depurables. Una configuración de CI paso a paso con Nebula.NET.

Leer →
Guía

Cómo ofuscar un paquete NuGet antes de publicarlo

Distribuye una biblioteca .NET protegida en NuGet sin romper la API pública de la que dependen tus consumidores — una guía paso a paso con Nebula.NET.

Leer →
Guía

Cómo ofuscar una aplicación WPF sin romper el enlace de datos de XAML

Una guía paso a paso para proteger una aplicación de escritorio WPF con Nebula.NET — y mantener funcionando los enlaces, comandos y convertidores.

Leer →
Comparativa

Mejores ofuscadores de .NET en 2026: comparativa del Top 5

Los mejores ofuscadores de .NET para 2026, comparados con honestidad: ConfuserEx, Dotfuscator, Eazfuscator.NET, .NET Reactor y Nebula.NET. Protección real frente a trucos de renombrado.

Leer →
Comparativa

¿Buscas una alternativa a ConfuserEx? Lo que debes saber en 2026

ConfuserEx es popular pero está efectivamente sin mantenimiento. Aquí tienes qué significa eso para tu protección de .NET, qué buscar en una alternativa moderna y tus opciones.

Leer →
Explicación

¿La ofuscación protege de verdad el código .NET?

Una respuesta directa sobre lo que la ofuscación de .NET puede y no puede hacer: por qué .NET es fácil de decompilar, qué cambia la ofuscación y cómo construir una protección realista y por capas.

Leer →
Anuncio

Presentamos Glass.NET: un decompilador de .NET gratuito que puedes navegar

Glass.NET es un decompilador de .NET gratuito que convierte cualquier ensamblado en C# limpio y legible, con Ir a definición rápido, Buscar todas las referencias, Ir a todo, jerarquía de llamadas/tipos, vistas de C#/IL y exportación de proyectos. Una alternativa moderna a ILSpy, dnSpy y .NET Reflector.

Leer →
Guía

Cómo ofuscar un ensamblado de .NET (paso a paso, 2026)

Una guía práctica para ofuscar ensamblados de .NET — qué proteger, cómo hacerlo con Nebula.NET, y cómo verificar que tu aplicación sigue ejecutándose de forma idéntica después.

Leer →
Explicación

¿Puede alguien decompilar mi aplicación .NET? Cómo frenar dnSpy e ILSpy

Sí: herramientas como dnSpy e ILSpy decompilan binarios .NET en segundos. Aquí tienes cómo funciona la decompilación y cómo hacer que tus ensamblados sean mucho más difíciles de leer y depurar.

Leer →
Guía

Cómo proteger el código fuente de C# para que no lo decompilen

El C# compilado puede convertirse de nuevo en código fuente legible en segundos. Aquí tienes por qué ocurre eso y los pasos prácticos para proteger tu código C# antes de publicarlo.

Leer →
Guía

¿Añadiendo licenciamiento a tu aplicación .NET? Protege también la comprobación de licencia

Una clave de licencia es tan fuerte como el código que la verifica. Conoce los enfoques habituales de licenciamiento en .NET y por qué la ofuscación y la anti-manipulación son esenciales para que aguanten.

Leer →
Explicación

Las cadenas incrustadas están filtrando los secretos de tu app .NET

Las cadenas literales en un binario .NET se leen en segundos con cualquier decompilador — exponiendo endpoints de API, claves y lógica. Esto es por qué importa el cifrado de cadenas y cómo funciona.

Leer →
Guía

¿Qué edición de Nebula.NET es la adecuada para ti?

¿Free, Licensed o Enterprise? Una guía práctica para elegir la edición de Nebula.NET adecuada para tu proyecto, equipo y modelo de amenazas.

Leer →
Anuncio

Presentamos Nebula.NET

Nuestro primer producto ya está aquí — una suite de ofuscación y endurecimiento de .NET construida para la corrección, con una CLI, una GUI de escritorio e integración con CI.

Leer →