Saltar al contenido
Aback Tools Logo

Ofuscador de números enteros/números .NET

Ofusque literales numéricos .NET mediante operaciones hexadecimales, binarias y bit a bit, expresiones aritméticas, Convert.ToInt32/64, sufijos de tipo, expresiones no marcadas y factores primos. Ingrese cualquier número y obtenga instantáneamente más de 10 formularios C# ofuscados con explicaciones. Admite tipos int, long, float y decimal. Gratis, privado y no es necesario registrarse.

.NET Number Obfuscator

Obfuscate .NET numeric literals using hex, binary, bitwise operations, arithmetic expressions, Convert.ToInt32/64, type suffixes, unchecked arithmetic, and more. Enter any number and instantly see 10+ obfuscated C# forms with explanations.

Enter a number above to see .NET-specific obfuscated forms. The tool generates hex and binary literals, arithmetic expressions, bitwise operations, Convert.ToInt32/64 calls, type suffixes, unchecked expressions, prime factors, and more.

All forms are valid C# syntax. Select a .NET type to see type-specific obfuscations.

.NET Number Obfuscation in Practice: Obfuscating numeric literals is a common technique in .NET obfuscation to hide magic numbers, configuration values, and cryptographic constants. Real-world obfuscators like ConfuserEx and Obfuscar combine multiple layers - for example, wrapping a hex literal in an unchecked expression with a type suffix. The most effective obfuscation depends on your specific decompilation target (dnSpy, ILSpy, dotPeek) and the desired tradeoff between readability and protection. All generated expressions preserve exact numeric value at runtime.

¿Por qué utilizar nuestro ofuscador de números .NET?

  • Ofuscación instantánea con múltiples técnicas: ofusque cualquier literal numérico .NET instantáneamente mediante conversión de base (hexadecimal, binaria), expresiones aritméticas, operaciones bit a bit, Convert.ToInt32/64 con cadenas hexadecimales, sufijos de tipo (L, F, M, D), expresiones no marcadas y descomposiciones de factores primos. Todas las técnicas se actualizan en tiempo real a medida que escribes.
  • Procesamiento de números seguro y privado: toda la ofuscación de números ocurre completamente en su navegador. Sus valores numéricos, expresiones ofuscadas y detalles de análisis nunca salen de su dispositivo. No se cargan datos, no se realiza seguimiento ni se requiere registro: privacidad total para todas sus necesidades de ofuscación.
  • Ofuscador de números .NET en línea: sin instalación: use el ofuscador de números .NET directamente en cualquier navegador moderno sin necesidad de descargas, aplicaciones ni complementos. Presenta salida en tiempo real, selector de tipo (int, long, float, decimal), opciones configurables, botones de copia por variante e identificación de variante más corta.
  • Más de 10 técnicas de ofuscación para .NET: Nuestro ofuscador de números .NET cubre los disfraces de C# más comunes: hexadecimal (0xFF), binario (0b11111111), expresiones aritméticas, operaciones bit a bit (~(~n), n^0, n<<0, n|0), Convert.ToInt32/64 a partir de cadenas hexadecimales, conversiones de enteros no verificados, literales con sufijo tipo (255L, 255F, 255M) y productos de factores primos. Cada técnica incluye una explicación de cómo funciona en el contexto del tiempo de ejecución de .NET.

Casos de uso comunes del ofuscador de números .NET

  • Ocultar números mágicos en el código fuente de C#: los desarrolladores ofuscan los números mágicos en su código fuente de C# para evitar la ingeniería inversa casual. En lugar de escribir números simples como 1024 o 65535, use expresiones hexadecimales (0x400), binarias (0b10000000000) o aritméticas que se evalúen con el mismo valor pero que sean más difíciles de detectar en ensamblados descompilados.
  • Protección de las constantes de configuración de .NET: los valores de configuración confidenciales en aplicaciones .NET (parámetros de cifrado, tamaños de búfer, valores de tiempo de espera y números de puerto) se pueden ofuscar utilizando sufijos de tipo (255L para largo, 255F para flotante) o expresiones sin marcar para que sean más difíciles de identificar en la salida descompilada.
  • Desarrollo .NET consciente de la ofuscación: integre la ofuscación de números en su flujo de trabajo de desarrollo .NET. Aplique formularios ofuscados a las constantes antes de la compilación para que los ensamblados descompilados sean más difíciles de analizar. Combinado con otras técnicas como codificación de cadenas y ofuscación de flujo de control para una protección integral.
  • Aprendizaje de sistemas numéricos de C# y operaciones bit a bit: los estudiantes que aprenden sobre representaciones de enteros en C# utilizan el ofuscador de números .NET para ver ejemplos prácticos de operaciones hexadecimales, binarias, bit a bit y conversiones de tipos. Cada técnica de ofuscación incluye una explicación de cómo funciona en el tiempo de ejecución de .NET, lo que la convierte en una valiosa herramienta educativa.
  • Prueba de herramientas de ofuscación y desofuscación de .NET: los investigadores de seguridad y los desarrolladores de herramientas utilizan el ofuscador de números .NET para generar casos de prueba para evaluar detectores y desofuscadores de ofuscación. Las más de 10 técnicas proporcionan un conjunto de pruebas completo para evaluar qué tan bien las herramientas identifican diferentes tipos de ofuscación de números en ensamblados .NET.
  • Investigación de ingeniería antirreversa de .NET: los investigadores de seguridad utilizan el ofuscador de números .NET para estudiar cómo se pueden ocultar los literales numéricos de los descompiladores como dnSpy, ILSpy y dotPeek. Comprender cómo interactúan varias capas de ofuscación ayuda a desarrollar estrategias de protección de código más efectivas.

¿Qué es la ofuscación de números .NET?

La ofuscación de números .NET es la práctica de representar literales numéricos en código C# en formas que son funcionalmente equivalentes pero visualmente diferentes de la representación decimal simple. En lugar de escribir "65535" directamente, un formulario ofuscado podría ser "0xFFFF", "unchecked((short)0x10000 - 1)" o "Convert.ToInt32("FFFF", 16)". La expresión ofuscada se evalúa con el mismo valor numérico en tiempo de ejecución, pero es mucho más difícil de reconocer en ensamblados .NET descompilados.

Nuestro ofuscador de números .NET genera múltiples disfraces para cualquier valor numérico usando más de 10 técnicas distintas que abarcan conversión de bases, expresiones aritméticas, operaciones bit a bit, llamadas Convert.ToInt32/64, aritmética de enteros no verificados, literales con sufijos de tipo y descomposición de factores primos. Cada técnica se muestra con una explicación de cómo funciona en el tiempo de ejecución de .NET y su longitud de caracteres, lo que le ayuda a elegir el nivel correcto de ofuscación. Todo el procesamiento se ejecuta localmente en su navegador sin enviar datos a ningún servidor.

Cómo funciona nuestro ofuscador de números .NET

  1. 1. Ingrese un número: escriba cualquier número entero o decimal en el campo de entrada. Opcionalmente, seleccione el tipo .NET de destino (int, long, float, decimal) para ver variantes de ofuscación específicas del tipo, como sufijos de tipo (L, F, M, D) y conversiones sin marcar.
  2. 2. Generación automática de múltiples técnicas: a medida que escribe, la herramienta genera formularios C# ofuscados utilizando más de 10 técnicas. La conversión de base muestra el número en hexadecimal (0xFF) y binario (0b11111111). Las expresiones aritméticas utilizan suma, resta y multiplicación. Las operaciones bit a bit se aplican doble bit a bit NOT [~(~n)], XOR cero (n^0), desplazamiento cero (n<<0) y OR cero (n|0). Convert.ToInt32/64 codifica el número como una cadena hexadecimal. La descomposición de factores primos encuentra el producto primo. Alternar opciones para incluir expresiones no marcadas, expresiones complejas y sufijos de tipo.
  3. 3. Comparar y copiar: cada forma ofuscada se muestra en una tarjeta con el nombre de la técnica, la longitud de los caracteres y una explicación de la técnica. La variante más corta está resaltada en el panel de estadísticas. Haga clic en el botón Copiar junto a cualquier variante para usarla en su código fuente de C#.

Técnicas de ofuscación de números .NET explicadas

  • Conversión de base (hexadecimal y binaria): la técnica de ofuscación más común en C#. El hexadecimal (base 16) usa 0-9 y A-F con un prefijo 0x, lo que hace que 65535 se convierta en 0xFFFF. Binario (base 2) usa 0-1 con un prefijo 0b (C# 7.0+). Estos literales se evalúan en tiempo de compilación y producen IL idéntico.
  • Expresiones aritméticas y bit a bit: representan un número como resultado de una operación como suma (32767+32768), multiplicación (3*5*17*257) o doble bit a bit NOT [~(~n)]. El compilador de C# evalúa expresiones constantes en el momento de la compilación, por lo que no hay sobrecarga de tiempo de ejecución en comparación con el literal simple.
  • Convert.ToInt32/64: envuelve el número como una cadena hexadecimal dentro de una llamada Convert.ToInt32("FFFF", 16). La conversión ocurre en tiempo de ejecución, lo que dificulta que el análisis estático determine el valor. La propia cadena hexadecimal puede ofuscarse aún más.
  • Sufijos de tipo y sin marcar: agrega sufijos de tipo C# (L para largo, F para flotante, M para decimal, D para doble) o envuelve expresiones no marcadas que generan el valor mediante aritmética de desbordamiento, produciendo el mismo patrón de bits.

Privacidad, seguridad y disponibilidad

El ofuscador de números .NET es 100% gratuito y no es necesario registrarse. Todo el procesamiento de números se realiza localmente en su navegador utilizando JavaScript del lado del cliente: sus números, expresiones ofuscadas y resultados de análisis nunca salen de su dispositivo. No hay límites de uso ni topes de tarifas. La herramienta genera más de 10 técnicas de ofuscación para cualquier valor numérico, proporciona botones de copia por variante, identificación de variante más corta y explicaciones técnicas detalladas específicas de la sintaxis de .NET/C#. Úselo tantas veces como necesite para ofuscar código, educarlo o experimentarlo.

Preguntas frecuentes

La ofuscación de números .NET es la práctica de representar literales numéricos en código C# en formas que son funcionalmente equivalentes pero visualmente diferentes de la representación decimal simple. En lugar de escribir "65535" directamente, un formulario ofuscado podría ser "0xFFFF", "unchecked((short)(0x10000 - 1))" o "Convert.ToInt32('FFFF', 16)". La expresión ofuscada se evalúa con el mismo valor en tiempo de ejecución, pero es más difícil de reconocer en ensamblados descompilados.

El ofuscador de números .NET incluye más de 10 técnicas distintas: conversión hexadecimal (0xFF), conversión binaria (0b11111111), expresiones de suma, expresiones de resta, expresiones de multiplicación, descomposición de factores primos, doble bit a bit NOT [~(~n)], XOR con cero (n^0), desplazamiento a la izquierda en cero (n<<0), OR con cero (n|0), Convert.ToInt32/64 desde hexadecimal cadenas, literales con sufijos de tipo (L, F, M, D), expresiones no marcadas y aritmética aleatoria compleja.

La forma más corta depende del número. Para la mayoría de los números, hexadecimal (0xFF) es el más corto porque utiliza menos caracteres que decimal para el mismo valor. La herramienta identifica y resalta automáticamente la variante más corta. Para números pequeños (0-9), las operaciones bit a bit como n^0 o ~(~n) pueden ser las más cortas.

Sí. El selector de tipo le permite elegir int, long, float o decimal. Cuando selecciona un tipo, la herramienta aplica sufijos específicos del tipo (L para largo, F para flotante, M para decimal), genera expresiones de bytes[] para decimal y utiliza llamadas Convert apropiadas (Convert.ToInt32 para int, Convert.ToInt64 para largo).

Sí, todos los formularios generados tienen sintaxis C# válida. Los literales hexadecimales (0xFF) y binarios (0b11111111) son constantes en tiempo de compilación en C#. Las expresiones aritméticas y bit a bit con operandos constantes se evalúan en tiempo de compilación. Las llamadas Convert.ToInt32 son expresiones de tiempo de ejecución válidas. Los sufijos de tipo (L, F, M, D) son sintaxis literal estándar de C#.

Absolutamente. El ofuscador de números .NET se ejecuta completamente en su navegador. Sus números, expresiones ofuscadas y detalles de análisis nunca se envían a ningún servidor, ni se almacenan en una base de datos ni se rastrean de ninguna manera. Todo el procesamiento ocurre localmente en su dispositivo: nada sale de su computadora. No es necesario registrarse.

Los literales hexadecimales directos (0xFF) y los literales binarios (0b11111111) son constantes de tiempo de compilación en C#: el compilador los reemplaza con el valor numérico en IL, lo que produce una sobrecarga de tiempo de ejecución cero. Convert.ToInt32("FF", 16) es una llamada en tiempo de ejecución que analiza la cadena en tiempo de ejecución. La llamada en tiempo de ejecución es más difícil para el análisis estático pero tiene un costo de rendimiento mínimo.

Los literales hexadecimales (0xFF) funcionan en VB.NET y F#. Los literales binarios (prefijo 0b) son específicos de C# 7.0+ y es posible que no funcionen en otros lenguajes .NET. Convert.ToInt32 funciona en todos los lenguajes .NET. Las expresiones aritméticas funcionan universalmente. Los sufijos de tipo pueden variar entre idiomas (VB.NET utiliza diferentes caracteres de sufijo).

Sí, el ofuscador de números .NET es 100% gratuito, sin registro, sin cuenta y sin límites de uso. Ofusca cualquier número tantas veces como necesites, completamente gratis para siempre. No hay cargos ocultos, niveles premium ni límites de uso de ningún tipo.