Monday, January 26, 2015

root access - How to prevent applications from discovering my phone as being Rooted


I have to install an application that has discovered my device to be rooted.


So this is a two part question.




  1. How did it discover in the first place that my phone has been rooted





  2. How to prevent the application from discovering my phone as being rooted





Answer



To detect rooting status of device, an app issues su command. If exit status is 0, it means device is rooted.. otherwise, not.


To prevent this, you can simply Deny the root access using SuperUser's pop-up (Provided its allowed from SuperUser settings, a pop-up appears when an app issues su command). After this, the app will get non-zero exit status & it can't determine rooting status.


Update:
Some apps can use other ways to check root status (like checking the su binary file existence). I'd like to admit that none are perfect methods without false-positive result, but sometimes they are successful with luck.


The best universal method to prevent detection: Restrict the permission of app's daemon. I can't suggest exact permission limitations because I don't know functions of the app. It can mess up with app's functionalities.


In the last, I'd like to say: Technically, there's no way to prevent detection by 100% success rate. In case of permission limitations, the app can still suspect that something is wrong.



No comments:

Post a Comment

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...