Respostas:
Para detectar o status de root do dispositivo, um aplicativo emite um su
comando. Se o status de saída for 0
, significa que o dispositivo está enraizado. Caso contrário, não.
Para evitar isso, você pode simplesmente Deny
acessar a raiz usando o pop-up do superusuário (desde que permitido nas configurações do superusuário, um pop-up aparece quando um aplicativo emite um su
comando). Depois disso, o aplicativo obterá o non-zero
status de saída e não poderá determinar o status de root.
Atualização:
alguns aplicativos podem usar outras maneiras de verificar o status raiz (como verificar a su
existência do arquivo binário). Eu gostaria de admitir que nenhum método é perfeito sem resultado falso positivo, mas às vezes é bem sucedido com sorte.
O melhor método universal para impedir a detecção: Restrinja a permissão do daemon do aplicativo. Não posso sugerir limitações exatas de permissão porque não conheço as funções do aplicativo. Ele pode atrapalhar as funcionalidades do aplicativo.
No último, gostaria de dizer: tecnicamente, não há como impedir a detecção por 100% de taxa de sucesso. Em caso de limitações de permissão, o aplicativo ainda pode suspeitar que algo está errado.
su
arquivo de texto nesse local por raiz temporária, o aplicativo mostrará resultados falsos.
Always Allow
opção SuperUser não está ativa. Você pode impedir a detecção por Always Deny
ou Deny All
também (textos de opções podem variar dependendo da versão).
Eu uso o OTA Rootkeeper , que inclui um recurso para fazer backup su
e remover temporariamente a raiz do telefone. Uma vez temporariamente não enraizado, ele pode ser re-root restaurando o su
backup.
(Além disso, ele também tenta preservar a raiz quando você aplica uma atualização OTA da sua operadora sem fio, o que é um recurso muito bom.)
Aqui está o que funcionou para mim:
1- Você precisa ter o Xposed framework instalado, você pode instalá-lo aqui: http://repo.xposed.info/module/de.robv.android.xposed.installer , o Xposed é um framework para módulos que podem mudar o comportamento do sistema e dos aplicativos sem tocar em nenhum APK.
2- Faça o download do módulo Root Cloak xposed aqui http://repo.xposed.info/module/com.devadvance.rootcloak e ative-o.
3- Adicione o aplicativo do qual você está tentando ocultar a raiz.
A reinicialização será necessária algumas vezes no processo.
O superusuário já possui uma caixa de seleção temporária, funciona bem, testada
Esta pergunta já foi feita e respondida:
Para resumir, procure o aplicativo chamado "Superusuário" (como uma sugestão).
-edit- Por sugestão, se o link for desativado:
Como posso desativar o root em um dispositivo modificado?
Se você instalar o SuperUser, poderá controlar quais aplicativos têm acesso root permitido. Por padrão, ele bloqueia todas as solicitações e pergunta o que você deseja fazer. Você pode conceder acesso a um aplicativo indefinidamente e revogá-lo a qualquer momento ou permitir apenas solicitações específicas com um tempo limite. A maioria das ROMs raiz vem com ele pré-instalado, incluindo o CyanogenMOD, e muitos métodos de root o instalarão para você também.
Como alternativa, você pode remover o binário e o Busybox do seu dispositivo para efetivamente desenraizá-lo.
/system/xbin/su
se ele existe - que é na verdade um "silencioso" bit, em seguida, tentar executarsu
, sneaky eu sei :)