¿Puedo 'engañar' a mi dispositivo para que piense que no está rooteado?

Rooteé mi Nexus 4 para instalar una ROM personalizada, con la que estoy muy contento. Sin embargo, hay un par de aplicaciones que quiero usar pero me niego a funcionar porque el dispositivo está rooteado.

¿Hay alguna forma de engañar al dispositivo para que piense, o le diga a las aplicaciones, que no está rooteado?

Respuestas (2)

Esto depende de cómo la aplicación está comprobando la raíz.

Un método es que la aplicación intente encontrar o usar el subinario o el archivo apk de superusuario. Estos métodos a menudo se pueden omitir mediante el uso de una aplicación que se moverá sua una ubicación de copia de seguridad temporal y luego la restaurará. Algunas aplicaciones de administración de raíz tienen esto integrado en su configuración (por ejemplo, versiones recientes de Superuser y SuperSU). De lo contrario, puede probar una aplicación como OTA RootKeeper .

Otro método que usarán las aplicaciones para determinar si estás rooteado consiste en verificar el contenido de tu archivo build.prop. Puedes verificar esto con cualquier editor de texto, desde tu terminal o usando una aplicación especializada como Build Prop Editor . El archivo reside en /system/build.prop, y es una buena idea hacer una copia de seguridad antes de modificarlo, ya que tener un archivo build.prop mal formado puede causar problemas de arranque.

Lo que deberá buscar son líneas que especifiquen que está ejecutando una compilación de "claves de prueba", como:

ro.build.tags=test-keys

Cambie esto a "release-keys" y la aplicación que realiza la verificación de raíz debería asumir que está ejecutando una compilación de lanzamiento normal. Por lo general, esto no es necesario si está ejecutando una ROM stock rooteada, pero sería necesario en muchas personalizadas como CyanogenMod.

Es probable que existan otras técnicas de detección de raíces, algunas de las cuales pueden ser algo complejas de eludir. Esta publicación de blog describe algunos, pero honestamente no puedo decir cuál de estos se usa en la naturaleza. Sin embargo, he visto los dos que describí anteriormente.

No será posible. Las aplicaciones ejecutan algunas comprobaciones que están incrustadas en su código, que no se pueden detener a menos que modifique el código en la propia aplicación.