Babel Obfuscator
Babel Obfuscator protege los ensamblados .NET frente a la ingeniería inversa, desde .NET Framework 2.0 hasta .NET 10, en destinos de escritorio, móviles, web y de servidor. Renombra, cifra y reestructura el código compilado para que lo que recupera un descompilador ya no merezca la pena leerse.
Por qué ofuscar el código .NET
El software escrito en lenguajes .NET como C#, VB.NET y F# se compila a MSIL (Microsoft Intermediate Language), un juego de instrucciones independiente de la CPU que se almacena en el ensamblado junto con metadatos muy completos: nombres de tipos, firmas de miembros, literales de cadena y atributos. Juntos permiten que descompiladores de libre acceso reconstruyan un código fuente cercano al original, en segundos y sin ninguna habilidad especial.
La ofuscación transforma el ensamblado compilado para que esa reconstrucción deje de ser útil. Babel Obfuscator renombra los símbolos, cifra las cadenas, las constantes y los recursos, reescribe el flujo de control de los métodos y puede cifrar cuerpos de método completos para ejecutarlos dentro de una máquina virtual administrada. La aplicación se comporta exactamente igual que antes; el código que recupera un atacante, no.
Novedades de la versión 12.0
La versión 12.0 refuerza Babel frente a la desofuscación automática, extiende la detección de manipulación a los dispositivos móviles y abre el producto a los asistentes de IA.
Nueva aplicación multiplataforma para Windows, macOS y Linux que edita y ejecuta proyectos de ofuscación, descodifica trazas de pila, gestiona Babel Licensing y aloja un servidor MCP.
Un algoritmo de aplanamiento del flujo de control diseñado para resistir a los desofuscadores automáticos. IL verificable, compatible con NativeAOT y MAUI, y a pocos puntos porcentuales del aplanamiento ordinario en tiempo de ejecución.
Cifrado autenticado y diferido, cadena por cadena, con un descifrador totalmente administrado: seguro con recorte, NativeAOT y FIPS, y verificado en Android e iOS.
Detección de manipulación para .NET MAUI en Android: la aplicación compara el certificado de firma del APK con las huellas digitales de firmantes fijadas durante la ofuscación, de modo que una aplicación reempaquetada se rechaza, incluso con recorte o compilación AOT.
Detección de manipulación para .NET MAUI en iOS: la aplicación comprueba su identificador del bundle y su identificador de equipo de Apple (Team ID) con los valores fijados, con AOT completo.
Las trazas de pila descodificadas indican ahora el método que hay detrás de cada puente del proxy dinámico, y pueden ocultar por completo los frames generados por Babel.
Las versiones anteriores a la 12.0 aportaron más novedades: la versión 11.8 añadió un descifrador AES administrado para que los ensamblados protegidos se inicien en hosts en modo FIPS, una ofuscación mucho más rápida de los ensamblados muy grandes y el ejemplo Vinculación a dongle de hardware; la versión 11.7 introdujo la línea de comandos compatible con IA.
El distintivo Ultimate
Algunos encabezados de este manual llevan esta marca: Ultimate. Significa que la función está disponible en la edición Ultimate de Babel Obfuscator o en una superior; al pasar el puntero sobre el distintivo se muestra la misma información.
Babel Obfuscator se ofrece en dos ediciones. Enterprise es una licencia monousuario para Windows con la herramienta de línea de comandos y la tarea de MSBuild del paquete zip de .NET Framework (babel_net472). Ultimate es una licencia de sitio que se ejecuta en Windows, Linux y macOS en cualquier número de equipos y añade Babel Desktop, los paquetes NuGet, la integración con servidores de compilación, el complemento Babel Encrypt y las protecciones introducidas en la versión 12.0 para el nivel Ultimate: Chained State, el cifrado de cadenas STREAM y la detección de manipulación mediante la integridad del paquete en Android e iOS. Las ediciones de Babel Licensing, Server y Data Center, incluyen Babel Obfuscator Ultimate, por lo que todas las funciones con distintivo están disponibles también en ellas; algunas capacidades relacionadas con las licencias, como las herramientas de gestión de licencias del servidor MCP, son específicas de esas dos ediciones y así se indica en su página.
Un encabezado sin distintivo describe una función de las dos ediciones. La matriz completa, con los precios, está en la página Comparar ediciones .
Funciones de protección
Cada función puede activarse por separado y ajustarse símbolo por símbolo con reglas de ofuscación, de modo que puede aplicar las transformaciones más fuertes solo donde está la propiedad intelectual.
Renombre espacios de nombres, tipos, miembros y parámetros con nombres sin significado, en ASCII o Unicode, con reconocimiento de XAML/BAML y archivos map entre ensamblados.
Cifre los literales de cadena con los algoritmos XOR, HASH o STREAM, o incorpore un algoritmo propio.
Inserte bifurcaciones opacas, reescriba condicionales y aplane métodos en torno a despachadores, hasta llegar al algoritmo Chained State de la edición Ultimate.
Cifre los cuerpos de los métodos y ejecútelos en la máquina virtual de Babel, que es administrada. Guárdelos en archivos externos o protéjalos con contraseñas para las licencias basadas en funciones.
Dirija las llamadas a métodos externos e internos a través de proxies generados, de modo que los destinos reales de las llamadas desaparezcan del IL.
Comprima y cifre los recursos incrustados, que se descifran a petición en tiempo de ejecución.
Oculte las constantes numéricas en línea y los inicializadores de matrices, como claves y tablas de búsqueda.
Detecte un depurador asociado y finalice el proceso, o ejecute un controlador propio.
Compruebe el hash de la imagen en escritorio y la firma o la identidad del paquete en Android e iOS, y después finalice el proceso o reaccione con código personalizado.
Integre las dependencias en un solo ensamblado, o incrústelas como recursos cifrados, para un despliegue de archivo único con una superficie expuesta menor.
Elimine el código muerto, selle las clases, quite atributos e integre en línea los miembros pequeños para reducir los metadatos y acelerar la carga.
Ajuste con precisión cada función mediante reglas XML y atributos personalizados, con el respaldo del agente de análisis, que mantiene en funcionamiento la reflexión y la serialización.
Diseñado para flujos de trabajo asistidos por IA
Babel trata a los asistentes de IA como operadores de pleno derecho del producto, en dos niveles.
Servidor MCP de Babel. Babel Desktop puede exponer un punto de acceso MCP en el equipo local. Claude Code, o cualquier cliente que hable el Model Context Protocol, maneja entonces la aplicación como lo haría usted: crea proyectos, añade ensamblados, escribe reglas, elige qué combinar o incrustar, inicia la ofuscación, lee las advertencias y las estadísticas, descodifica trazas de pila, crea temas y hace capturas de pantalla para comprobar su propio trabajo. En las ediciones Server y Data Center, el mismo servidor gestiona la base de datos de licencias. El servidor está desactivado de forma predeterminada. Actívelo con Habilitar el servidor de automatización en Configuración > MCP. Solo escucha en la dirección de bucle invertido y puede exigir un token de acceso. Copiar comando de Claude Code, en la misma página, le proporciona el comando de registro. Consulte Servidor MCP.
claude mcp add --transport http babel-obfuscator http://127.0.0.1:8765/mcp \
--header "X-Babel-Token: paste-the-token-from-settings-mcp"Línea de comandos compatible con IA. Desde la versión 11.7, la herramienta de línea de comandos puede emitir un flujo de salida estructurado y con versión para pipelines de CI y agentes: --format=json o --format=ndjson cambian stdout al esquema babel.cli.v1, --quiet hace que las ejecuciones desatendidas fallen de inmediato en lugar de pedir datos, y --strict-exit activa los códigos de salida semánticos. La misma opción hace que --help y --version sean legibles por máquina, de modo que un agente puede descubrir todas las opciones por sí mismo. Consulte Modo CLI compatible con IA.
Babel Licensing tiene su propio servidor MCP para el servicio de licencias alojado, de modo que un asistente puede gestionar clientes, licencias y activaciones a través de la API REST. Consulte Integración con IA en el manual de Babel Licensing.
Plataformas y frameworks
| Área | Compatibilidad |
|---|---|
| Host de compilación | Windows, con la herramienta de línea de comandos y la tarea de MSBuild de los paquetes zip; Linux, macOS y servidores de compilación de CI mediante los paquetes NuGet de Babel y la herramienta de dotnet (edición Ultimate); Babel Desktop en Windows, macOS y Linux (edición Ultimate) |
| Entornos de ejecución de destino | .NET 10 y todas las versiones anteriores de .NET y .NET Core, .NET Framework de 2.0 a 4.8, .NET Standard, Mono |
| Modelos de aplicación | Escritorio (WPF, Windows Forms, Avalonia), .NET MAUI en Android e iOS, Xamarin, Blazor, ASP.NET Core, UWP, nanoFramework |
| Lenguajes | C#, incluido C# 14, VB.NET y F# |
| Modos de publicación | Dependiente del framework, autónomo, de archivo único, recortado y NativeAOT |
La ofuscación trabaja sobre el IL, de modo que un host de compilación con un sistema operativo puede proteger ensamblados publicados para cualquier identificador de entorno de ejecución. El renombrado de símbolos, el cifrado de cadenas STREAM y la ofuscación del flujo de control, incluido Chained State, sobreviven sin cambios al recorte y a NativeAOT. Las funciones que necesitan una imagen asignada en memoria o IL dinámico, como el cifrado de código, el proxy dinámico y la comprobación de manipulación de escritorio, tienen limitaciones documentadas en los destinos MAUI, Blazor y AOT; la página de cada función las indica.
Cómo se ejecuta
Aplicación para Windows, macOS y Linux con la que crear y ejecutar proyectos de ofuscación, descodificar trazas de pila, gestionar Babel Licensing y alojar el servidor MCP.
Todas las funciones desde un shell o un script, con un modo de salida compatible con
IA. En Linux y macOS se ejecuta como la herramienta de dotnet de la edición Ultimate.
Ofusque como parte de la compilación desde Visual Studio y los servidores de compilación, con IntelliSense para todas las propiedades de la tarea.
Añada una referencia de paquete y dotnet build o dotnet publish ofuscan en el
punto adecuado del pipeline del SDK, antes del recorte y de AOT. Es la forma de
ejecutar Babel en Linux, macOS y servidores de compilación de CI.
La edición Ultimate y las ediciones de Babel Licensing incluyen los paquetes NuGet, de modo que Babel se ejecuta como herramienta de dotnet en Windows, Linux y macOS y dentro de las compilaciones de estilo SDK. Babel Desktop ejecuta el motor en .NET 10, así que ofuscar en Babel Desktop requiere también una de estas ediciones. La edición Enterprise proporciona la herramienta de línea de comandos para Windows y la tarea de MSBuild del paquete zip de .NET Framework.
Pasos siguientes
- Primeros pasos, para instalar Babel y activar su licencia
- Características generales, para un recorrido función por función
- Mejora de la seguridad del código, para conocer los ajustes que ofrecen la mejor protección con el menor esfuerzo
- Ejemplos, para MAUI, Blazor, ClickOnce, servidores de compilación y licencias basadas en funciones