Resistencia a la desofuscación
Como los sitios de llamada reescritos ya no hacen referencia directa a sus destinos y la codificación varía de una compilación a otra, las herramientas de desofuscación automática no pueden recuperar el grafo de llamadas original mediante análisis estático. El proxy dinámico de Babel se verifica periódicamente frente a las principales herramientas de desofuscación de .NET de código abierto: sus resolvedores de llamadas mediante proxy no recuperan ninguna de las llamadas que pasan por un proxy, y el resultado de la limpieza no reconstruye las llamadas directas originales.
Combinar el proxy dinámico con el renombrado de símbolos, la ofuscación del flujo de control y la protección contra manipulación aumenta aún más el esfuerzo necesario para aplicar ingeniería inversa a un ensamblado protegido.
Prácticas recomendadas
- Proteja lo que importa. Use los Filtros para dirigirse al flujo de llamadas sensible (licencias, comprobaciones de seguridad, algoritmos propios) en lugar de aplicar el proxy a todas las llamadas: así se maximiza la protección y se minimiza el impacto en el tamaño y en el inicio.
- Elija el modo adecuado.
externales una opción ligera que sobre todo impide que los descompiladores recuperen los nombres de las variables e infieran los tipos;allofrece la ofuscación más fuerte del flujo de llamadas para la lógica interna (consulte Llamadas internas y externas). - Combine las funciones. El proxy dinámico es más eficaz junto con el renombrado, la ofuscación del flujo de control y la protección contra manipulación.
- Desactívelo en los destinos AOT. Establezca
DynamicProxy=falsepara los ensamblados de .NET MAUI y Blazor (consulte Limitaciones de AOT y de compatibilidad de plataforma). - Verifique después de compilar. Ejecute su conjunto de pruebas con el ensamblado ofuscado, como haría con cualquier ajuste de protección.
Con la protección con proxy dinámico de Babel Obfuscator puede mejorar considerablemente la seguridad de su aplicación, ya que oculta las llamadas a métodos y complica el proceso de ingeniería inversa.