Ofuscación de código
La ofuscación solo puede actuar como un obstáculo para un atacante que realiza una revisión segura del código. Los ofuscadores pagados como Dexgaurd son mucho mejores que los libres y pueden utilizarse para aumentar considerablemente la complejidad del ataque. Sin embargo, no debemos confiar completamente en la ofuscación, ya que un atacante puede dedicar una buena cantidad de tiempo a desofigurar y analizar el código.
Anti-manipulación de Android
El sistema Android se basa en la parte superior del kernel de Linux. Un usuario root (Dispositivo Android de Rooting) en un sistema Linux es un superusuario y tiene todos los privilegios administrativos, por lo que puede hacer casi cualquier cosa en el sistema. Esto incluye omitir casi todas las implementaciones de seguridad implementadas en la aplicación / dispositivo. Por lo tanto, creo que no existe una solución segura para verificar la integridad de la aplicación.
Dicho esto, sugiero la implementación de soluciones que pueden ayudarnos a aumentar considerablemente la complejidad del ataque y crear aplicaciones a prueba de manipulaciones y la API de atestación de SafteyNet es una de ellas. Personalmente sugiero la implementación de esta API para implementar controles de integridad de aplicaciones. Es una solución pagada ya que la cuota libre es muy limitada. Debe verificar las pautas de implementación correctamente y debe implementarse de manera segura para obtener los resultados deseados.
Para el enganche / depuración, te recomiendo que revises Defensas antirreversión de Android que se pueden implementar para aumentar sustancialmente la complejidad.