[SuperSU] Chainfire:
THIS IS CURRENTLY NOT WORKING

A newer version is available here: https://xdaforums.com/apps/supersu/suhide-lite-t3653855

suhide is an experimental (and officially unsupported) mod for SuperSU that can selectively hide root (the su binary and package name) from other applications.

Pros

- Hides root on a per-app base, no need to globally disable root

- Doesn't need Xposed

- Even supports SuperSU's ancient app compatibility mode (BINDSYSTEMXBIN)

- Passes SafetyNet attestation by default on stock ROMs (last officially tested on 2016.10.07)

Cons

- Ultimately a losing game (see the next few posts)

- No GUI (at the moment) - Unofficial GUI by loserskater

Requirements

- SuperSU v2.78 SR1 or newer (link)

- SuperSU installed in systemless mode

- Android 6.0 or newer

- TWRP (3.0.2 or newer, with access to /data - link!) or FlashFire (link)

Xposed

Xposed is not currently officially supported, but if you want to use it directly, you must be using [MENTION=4470081]topjohnwu[/MENTION] 's systemless xposed v86.2 exactly (attached at the bottom). It seems to mostly work during my non-extensive testing, but there are still some performance issues (both boot-time and run-time). Proceed with caution, expect bootloop.

Alternatively, there are some reports that the latest Magisk version + the latest systemless xposed (for Magisk) also works. I have not personally tested this.

CyanogenMod

I've personally tested with CM13 on i9300 without issue, however, several users are reporting it doesn't work for them. Proceed with caution, expect bootloop. Also, aside from just flashing SuperSU, you need to make sure /system/bin/su and /system/xbin/su are removed, or CM's internal root will still be used.

Usage

Install/Upgrade

- Make sure you have the latest SuperSU version flashed in systemless mode

- Make sure you are using the latest TWRP or FlashFire version

- Remove any and all Xposed versions

- If you have been having issues, flash suhide-rm-vX.YY.zip first, and note that your blacklist has been lost.

- Flash the attached suhide-vX.YY.zip

- If you are upgrading from suhide v0.16 or older, reflash SuperSU ZIP, and note that your blacklist has been lost.

- Optionally, flash the Xposed version linked above, and pray

At first install SafetyNet is automatically blacklisted.

If you have just flashed a ROM, it is advised to let it fully boot at least once before installing suhide.

Uninstall

- Flash the attached suhide-rm-vX.YY.zip. The version may appear older, the uninstall script doesn't change very often.

Blacklisting an app

You need the UID (10000 to 99999, usually 10xxx) of the app, which can be tricky to find, or the process name. There may be a GUI for this at some point.

(Note that all commands below need to be executed from a root shell)

If you know the package name, ls -nld /data/data/packagename will show the UID - usually the 3rd column.

Similarly, for running apps, ps -n | grep packagename will also show the UID - usually the 1st column.

Note that the process name is often the same as the package name, but this is not always the case. UID is more reliable for identifying a specific app, and it is also faster than blocking based on process names.

When you know the UID or process name:

Add to blacklist: /su/suhide/add UID or /su/suhide/add processname

Remove from blacklist: /su/suhide/rm UID or /su/suhide/rm processname

List blacklist: /su/suhide/list

All running processes for that UID or process name need to be killed/restarted for su binary hiding. For SuperSU GUI hiding, the device needs to be restarted. I recommend just (soft-)rebooting your device after making any changes.

Please keep in mind that many apps store their rooted state, so you may need to clear their data (and then reboot).

Integration into SuperSU

This mod isn't stable, and probably will never be (see the next few posts). As SuperSU does aim to be stable, I don't think they're a good match. But who knows, it all depends on how things progress on the detection side.

Detections

This mod hides the su binary pretty well, and does a basic job of hiding the SuperSU GUI. The hiding is never perfect, and suhide itself is not undetectable either. This will never be a perfectly working solution.

Debugging bootloops

- Get your device in a booting state

- Make sure you have TWRP or a similar recovery

- Install LiveBoot (link)

- If you are not a LiveBoot Pro user, enable the Freeload option

- Enable the Save logs option

- Recreate the bootloop

- In TWRP, get /cache/liveboot.log , and ZIP+attach it to a post here.

Download

Attached below.

Any rm version should work to uninstall any suhide version.

There may be multiple versions of suhide attached, please look carefully which one you are downloading!

YOU ARE EXPLICITLY

NOT

ALLOWED TO REDISTRIBUTE THESE FILES

(pre-v0.51: 17410 downloads)