Resistencia a la desofuscación
Una vez cifrada una constante, el valor real ya no está en el cuerpo del método: el IL solo contiene un índice de una tabla cifrada que se descifra en tiempo de ejecución. Por tanto, un descompilador muestra índices opacos en lugar de los números originales o del contenido de las matrices.
El cifrado de valores y matrices de Babel se verifica frente a las principales herramientas de desofuscación de .NET de código abierto. Ejecutarlas sobre un ensamblado protegido no recupera los valores cifrados: las constantes originales no aparecen como literales en la salida limpia, la indirección de descifrado sigue en su sitio y la tabla de datos cifrados sigue siendo necesaria. La protección se mantiene.
Para obtener el mejor resultado, combine el cifrado de valores y matrices con las demás capas de protección (Renombrado de símbolos, Cifrado de cadenas, Ofuscación del flujo de control y Cifrado de código), de modo que ninguna capa, si se analiza por separado, deje al descubierto el conjunto.