Magisk Hide ha eludido la detección de root implementada para mi aplicación de Android.
He implementado código de detección de root para mi aplicación nativa de Android actual. Pero recientemente, utilizando Magisk Hide, el mecanismo de root fue eludido. He utilizado el siguiente código para la detección de root en mi lado:
public class RootUtil {
public static boolean isDeviceRooted() {
return checkRootMethod1() || checkRootMethod2() || checkRootMethod3();
}
private static boolean checkRootMethod1() {
String buildTags = android.os.Build.TAGS;
return buildTags != null && buildTags.contains("test-keys");
}
private static boolean checkRootMethod2() {
String[] paths = { "/system/app/Superuser.apk", "/sbin/su", "/system/bin/su", "/system/xbin/su", "/data/local/xbin/su", "/data/local/bin/su", "/system/sd/xbin/su",
"/system/bin/failsafe/su", "/data/local/su", "/su/bin/su"};
for (String path : paths) {
if (new File(path).exists()) return true;
}
return false;
}
private static boolean checkRootMethod3() {
Process process = null;
try {
process = Runtime.getRuntime().exec(new String[] { "/system/xbin/which", "su" });
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
if (in.readLine() != null) return true;
return false;
} catch (Throwable t) {
return false;
} finally {
if (process != null) process.destroy();
}
}
}
¿Cómo podemos resolver este caso?
davy.ai
Una forma de hacer que la detección de root sea más efectiva es utilizar una combinación de diferentes métodos de detección que apunten específicamente a diferentes aspectos de los dispositivos con root. Por ejemplo, puedes agregar comprobaciones adicionales como:
Es importante tener en cuenta que no existe una forma infalible de detectar todos los tipos de acceso root, ya que constantemente surgen nuevos métodos y técnicas de bypass. Sin embargo, al implementar un conjunto de comprobaciones más completo y mantenerse al día con las últimas actualizaciones de seguridad, puedes minimizar el riesgo de acceso no autorizado y proteger la integridad de tu aplicación.