Hiding your root status from apps that refuse to work when you are rooted—like Android Pay—is a cat and mouse game that enthusiasts have been losing lately. Chainfire, the developer who has become the main source of advances in rooting, announced today a new way to work around Android apps' ability to detect the root status of a device. The app, called suhide, works but comes with a number of caveats.
Android 5.0 brought with it some challenges for rooted users, making it impossible to update via OTA with a rooted system partition. The only option with a conventional root setup was to flash back to stock, then update, then re-root.
Chainfire, who also maintains the SuperSU app preferred by most rooted users nowadays, came up with systemless root. This method relied on changing the boot partition rather than the /system partition, solving the irritating process of updating.
While not necessarily the intended purpose, apps like Android Pay didn't detect the user's rooted status with systemless root. The newly-implemented SafetyNet API—which provides apps an official way to check whether the OS has been modified, including whether its rooted—didn't catch systemless root...until a few months later when Android Pay and other apps that rely on SafetyNet once again began rejecting rooted users.
That's where we've been since late January. Today's release of suhide is an important development for those that continue to both want root and the ability to use SafetyNet applications like Android Pay and many banking apps. It allows the user to specify apps to hide root status from and will fool SafetyNet as long as you are using a stock ROM based on Android 6.0 or higher. Not all is good news, though.
Chainfire wrote a follow-up post entitled "Hiding root: a losing game" detailing why it is that the cat (Android/Google) is bound to get the mouse (indie devs and users trying to hide root) in the long run. The short version is that SafetyNet, at present, is basically using user-level permissions in its root detection, making it possible to hide root by exploiting root privileges. But there's no reason that SafetyNet can't simply use system-level privileges in its detection, not unlike Samsung's KNOX.
suhide and similar solutions will work until Google decides it needs to improve Android's security further, at which point Google has options available to make it extremely hard to circumvent root detection.
The practical ramification for users and for Chainfire is that it doesn't make too much sense for him to sink a bunch of time into suhide when it will inevitably be noticed by Google. And unlike your typical back and forth, Google is quickly approaching the point (in Chainfire's view) where the effort required to continue hiding root status will be too much if it can be done at all.
With those things in mind, Chainfire is branding this release as not officially supported, not a part of SuperSU, and v0.01. It also has no GUI, so configuration will take a little bit of know-how compared to his other apps.
If you're still interested, follow the source link for more details and instructions for install.
- XDA Developers