2010-08-26 15 views

Répondre

5

Au fin de la journée, vous ne pouvez pas. Un appareil enraciné peut être modifié de quelque manière que ce soit, et peut ainsi cacher complètement ce qu'il veut de vous. En pratique, vous pouvez regarder quelques-unes des builds racines standard pour trouver les caractéristiques qu'ils possèdent ou les caractéristiques que vous pouvez regarder ... mais il n'y a aucun moyen de garantir que quoi que vous fassiez détecter un périphérique "rooté".

+0

est-ce que cela signifie qu'un périphérique enraciné peut également créer un code inférieur: Process proc = Runtime.getRuntime() .exec ("su"); échoue? – jclova

+0

oui il existe des logiciels disponibles qui simulent que le téléphone n'est pas ancré en ne vous accordant pas l'accès de super utilisateur :) –

+0

@hackbod Sur http://developer.android.com/guide/publishing/licensing.html#app-obfuscation il est dit "Par exemple, une application protégée contre la copie ne peut pas être téléchargée depuis Market vers un périphérique qui fournit des accès root ..." - comment la vérification racine est-elle effectuée? Grâce à une forte logique de vérification obfusquée? Merci. –

2

vous pouvez essayer de faire

Process proc = Runtime.getRuntime().exec ("su"); 

si cela déclenche une exception ou proc est nul alors ils n'ont pas racine

+2

Faux. Cela signifie simplement que ce mécanisme particulier de lancement d'un processus racine n'était pas autorisé à cette application pendant cette tentative. Si vous avez essayé cela dans une application qui ne s'est pas annoncée comme étant pour les appareils enracinés, beaucoup d'utilisateurs seraient avertis et assez alarmés par la demande, et signaleraient probablement votre application comme un logiciel malveillant. –

+1

Je n'utiliserais pas non plus cette solution. –

+1

Cela aussi, avec les appareils avec SuperSU, affiche une boîte de dialogue "Grant Root Access". – Graeme