Mi respuesta asume que su atacante es "experto en la técnica" para hacer este tipo de trabajo.
obteniendo la apk
Le tomaría menos tiempo de lo que le tomó escribir la pregunta.
descompilar
Depende un poco de la velocidad de la computadora, pero debe estar en el orden de unos minutos.
encontrando la función para enganchar
Si haces todo lo posible para intentar que esto no sea obvio ... ¿quizás un día? Es un poco difícil decirlo en abstracto, ya que depende mucho del tamaño y la complejidad de la aplicación, ya sea una "función" o si el trabajo es mucho más complicado, etc.
Basta con decir que cualquier persona que quiera tomarse el tiempo podrá encontrar lo que necesita ser cambiado.
compilando
Depende un poco de la velocidad de la computadora y del tamaño del código base, pero nuevamente debe medirse en minutos.
instalando
Le tomaría menos tiempo de lo que le tomó escribir la pregunta.
En este escenario, ¿cuánto más seguridad podría dar la ofuscación de código?
Hace unos años, un investigador de seguridad me dijo que el uso de la ofuscación simple de ProGuard en realidad hacía más fácil este tipo de ataque.
Hay ofuscadores más poderosos por ahí, incluyendo el "hermano mayor" de ProGuard, DexGuard. Del mismo modo, hay personas que crean des-ofuscadores, herramientas que reducen la ofuscación de nivel DexGuard a algo más parecido a ProGuard. Por ejemplo, DexGuard intenta encriptar la mayor cantidad posible de su aplicación; los ofuscadores generarían una edición desencriptada del código.
Por lo tanto, el beneficio de los ofuscadores de alto nivel varía, según el estado actual de la carrera de armamentos entre los desarrolladores de ofuscadores y los desarrolladores de ofuscadores. No puedo decir con certeza dónde se encuentra la carrera de armamentos ahora, y mucho menos cuando alguien más lea esta respuesta dentro de unos años.
Yo comparo a los ofuscadores con la vieja historia de dos cazadores en el bosque perseguidos por un oso. Si fuiste uno de los cazadores, no tienes que correr más rápido que el oso para escapar. Solo tienes que correr más rápido que el otro cazador. En el caso de los ofuscadores, el objetivo es hacer que la aplicación no sea atractiva, lo que hace que los atacantes se muevan hacia otros objetivos potencialmente más fáciles. El problema con este enfoque es que asume que el atacante no se preocupa específicamente por su aplicación, que su aplicación es simplemente un objetivo entre muchos. Los atacantes que se preocupan por atacar su aplicación por razones específicas no se comportarán de esa manera, y pasarán el tiempo para descifrarla. En otras palabras, correr más rápido que el otro cazador supone que el oso no está molesto contigo específicamente.