Cifrador/ofuscador de cadenas .NET
Ofusca literales de cadena de C# con 6 técnicas distintas: secuencias de escape hexadecimales, decodificación con Convert.FromBase64String, matrices de bytes cifradas con XOR y descifrado en tiempo de ejecución, matrices de char con new string(), concatenación dividida con StringBuilder y secuencias de escape Unicode. Cada método genera código C# válido que produce la cadena original en tiempo de ejecución. Compara todos los métodos lado a lado, filtra por técnica y copia el código generado: todo gratis, privado y sin registro.
Obfuscate C# string literals using 6 different techniques: hex escape sequences, Convert.FromBase64String, XOR-encrypted byte arrays, char arrays with new string(), StringBuilder split concatenation, and Unicode escape sequences. Each method generates valid C# code that produces the original string at runtime. Compare all methods side by side or focus on one.
Enter a C#/VB.NET string above to obfuscate it using 6 different techniques. Choose from hex escape sequences, Convert.FromBase64String, XOR encryption, char arrays, StringBuilder split concatenation, or Unicode escape sequences. Click any example below the input to get started.
Funciones
- 6 métodos de ofuscación: elige entre escapes hexadecimales, decodificación Base64, cifrado XOR, matrices de char, división con StringBuilder y escapes Unicode. Cada uno genera código C# válido que produce la cadena original en tiempo de ejecución.
- Comparación lado a lado: visualiza los 6 métodos a la vez para comparar tamaño del código, legibilidad y fuerza de ofuscación. Filtra para centrarte en un solo método cuando encuentres uno que te sirva.
- Análisis del impacto en el tamaño: cada método muestra el número de caracteres y el aumento de tamaño respecto a la cadena original, lo que te ayuda a equilibrar la fuerza de ofuscación y el tamaño del código. Incluye estadísticas medias de todos los métodos.
- Ejemplos predefinidos: prueba rápidamente con cadenas realistas: claves de API, cadenas de conexión, tokens JWT y frases comunes. Observa al instante cómo cada método transforma distintos tipos de contenido.
¿Qué es la ofuscación de cadenas?
La ofuscación de cadenas es la práctica de transformar literales de cadena legibles en el código fuente en representaciones equivalentes que resultan difíciles de entender para personas y herramientas automatizadas. En lugar de escribir "Hello" , podrías escribir o {'new string(new char[] )'} . Ambas producen la misma cadena en tiempo de ejecución, pero se ven completamente distintas en tu código fuente.
Cómo funciona la ofuscación
El cifrador/ofuscador de cadenas .NET aplica seis técnicas de transformación distintas. Los escapes hexadecimales convierten cada carácter en su valor de byte hexadecimal. La decodificación Base64 envuelve la cadena codificada en Base64 dentro de Convert.FromBase64String(). El cifrado XOR aplica XOR a cada byte con una clave aleatoria y genera el código de descifrado. Las matrices de char representan cada carácter como punto de código entero. StringBuilder divide la cadena en fragmentos codificados en hexadecimal que se concatenan en tiempo de ejecución. Los escapes Unicode convierten cada carácter en su representación \\uNNNN. Cada técnica usa aleatorización para producir una salida distinta en cada generación.
Eficacia en la protección del código
La ofuscación de cadenas es una capa fundamental para proteger aplicaciones .NET, porque los ensamblados .NET son relativamente fáciles de descompilar con herramientas como ILSpy, dnSpy y dotPeek. Aunque un reverser decidido puede ejecutar el código ofuscado para recuperar las cadenas originales, las cadenas ofuscadas dificultan mucho el escaneo automático y la coincidencia de patrones. Para obtener los mejores resultados, combina la ofuscación de cadenas con ConfuserEx, Obfuscar u otros ofuscadores de .NET que ofrezcan ofuscación de flujo de control y renombrado de nombres.
Privacidad y seguridad
Esta herramienta se ejecuta íntegramente en tu navegador con JavaScript del lado del cliente. Tus cadenas de entrada y las salidas ofuscadas generadas nunca salen de tu dispositivo. No hay llamadas a API, procesamiento en el servidor, almacenamiento de datos ni rastreo. El motor de ofuscación usa los métodos integrados de cadena y número de JavaScript para todas las transformaciones: todo es local y privado.
Preguntas frecuentes
La ofuscación de cadenas .NET transforma literales de cadena legibles en código fuente C# o VB.NET en representaciones equivalentes pero difíciles de leer. Por ejemplo, "Hello" podría convertirse en Convert.FromBase64String("SGVsbG8=") o en new string(new char[] { (char)72, (char)101, (char)108, (char)108, (char)111 }). Ambas producen la misma cadena en tiempo de ejecución, pero son mucho más difíciles de entender mediante descompilación o inspección del código.
La herramienta admite 6 métodos: secuencias de escape hexadecimales, decodificación con Convert.FromBase64String, matrices de bytes cifradas con XOR y descifrado en tiempo de ejecución, matrices de char con new string(), concatenación dividida con StringBuilder y Append(), y secuencias de escape Unicode. Cada método genera código C# válido que funciona en .NET Framework y .NET Core.
El cifrado XOR y las matrices de char ofrecen la ofuscación más fuerte porque la cadena original no se puede recuperar directamente sin ejecutar la transformación. Los escapes hexadecimales y Unicode son reconocibles para desarrolladores experimentados, pero siguen siendo mucho más difíciles de leer que las cadenas sin formato. El método StringBuilder aporta además la ventaja de repartir la cadena entre varias sentencias.
Sí, todo el código generado es compatible con .NET Framework 4.5+ y .NET Core 2.0+. El método Convert.FromBase64String existe desde .NET Framework 1.1. La clase StringBuilder está disponible en todas las versiones. Para Unity (Mono), todos los métodos son totalmente compatibles.
Por supuesto. El ofuscador de cadenas .NET se ejecuta íntegramente en tu navegador. Tus cadenas de entrada y la salida ofuscada nunca se envían a ningún servidor. Todo el procesamiento ocurre localmente en tu dispositivo. Sin registro.
El método XOR convierte cada carácter en su valor de byte ASCII y luego aplica XOR a cada byte con una clave de un solo byte elegida al azar. La salida incluye tanto los valores del array de bytes con XOR como la clave como literales enteros. En tiempo de ejecución, el código C# usa el método Select de LINQ para volver a aplicar XOR a cada byte y reconstruir la cadena original.
Sí. La ofuscación de cadenas complementa ofuscadores de .NET como ConfuserEx, Obfuscar, SmartAssembly y Dotfuscator. Aplica primero la ofuscación de cadenas a tu código fuente y luego ejecuta el ofuscador sobre el ensamblado compilado. Este enfoque por capas ofrece una protección mucho más sólida que cualquiera de las dos técnicas por separado.
Sí, 100 % gratis, sin registro, sin cuenta y sin límites de uso. Los 6 métodos de ofuscación, la comparación lado a lado y la función de copia están disponibles sin restricciones.