topjohnwu / Magisk

The Magic Mask for Android
GNU General Public License v3.0
47.51k stars 12.07k forks source link

Magisk Hide disables root #14

Closed Didgeridoohan closed 7 years ago

Didgeridoohan commented 7 years ago

After enabling Magisk Hide and activating it for an app that detects root (in my case HBO Nordic) root is disabled.

Google Nexus 6 Stock 7.0 NBD91P, with Franco Kernel r57 Magisk v9 Magisk phh's superuser 266-2 Magisk Manager 2.5

Here is a Magisk log with Magisk Hide disabled and everything working as it should: magisk_error_20161116_172726.txt

Here is a Magisk log after enabling Magisk Hide and rebooting: magisk_error_20161116_173308.txt

At this point everything works as it should. Magisk is behaving normal and all apps that require it can access root.

Here is a logcat after enabling Magisk Hide for HBO Nordic (com.hbo.android.app). During the logcat I confirm I have root by opening Titanium Backup and the proceed to open HBO. Start a tv series and it plays with no problems. Magisk Hide is working! magiskhide_logcat_20161116_01_hbo_success.txt

After exiting the HBO app and opening the Magisk Manager I see that Magisk Hide is gone from the side menu and the option "Enable Magisk Hide" is unticked under settings. The same goes for "Enable systemless hosts". Both were ticked from the start. Also, the list of active modules is empty. Root is still enabled though.

I restart the device and save the Magisk log: magisk_error_20161116_175156.txt

After the reboot Magisk Hide is working and the modules are back. Root is only functioning for Magisk Manager though. No other root apps can acquire root, but HBO will not start just as if it is detecting root. Here is a logcat showing root and HBO Nordic not working. magiskhide_logcat_20161116_02_hbo_fail.txt

After disabling Magisk Hide and rebooting everything works as expected, again. Magisk log from that reboot: magisk_error_20161116_180334.txt

And a logcat showing what happens trying to use HBO Nordic without Magisk Hide. magiskhide_logcat_20161116_03_hbo_detected.txt

topjohnwu commented 7 years ago

That might be the issue that some people are experiencing root missing issues, not really sure what the issue is, will investigate further.

Didgeridoohan commented 7 years ago

If more info/logcats are needed I'll be happy to provide. Since I don't really know what I'm looking for, I'm not sure if the logs provided actually give any useful information...

topjohnwu commented 7 years ago

I will try to limit the aggressive unmounts in the next release, since only Safety Net requires such aggressive hiding. This shall greatly reduce the bugs you're experiencing.

Didgeridoohan commented 7 years ago

Would it be feasible or of any use to have an option to disable hiding Safety Net by default under "Advanced settings" (or something like that)?

My thinking is: there might be users (me included) that do not care if SN passes or not. The few apps I need to hide root from do not use SN (yet), so if the aggressive measures taken against SN can cause issues and it's not needed for other apps, would the system be more stable without that option?

Didgeridoohan commented 7 years ago

An update:

Today, after a reboot, I lost root. Magisk Hide was not enabled. After an attempt to reflash Magisk v9 and Magisk phh's superuser r266-2, and several reboots it started working. Did not have time to try uninstalling Magisk and reinstall before it worked again.

Attaching magisk.log and last_magisk.log (renamed to .txt) from a reboot where root did not function and the reboot after where it did. Seems like Magisk late_start service mode never initialized during the faulty reboots...

magisk.txt last_magisk.txt

pio2398 commented 7 years ago

I had this problem on v9 but I don't have it on current master. So maybe this problem is solved.

sou7611 commented 7 years ago

I'm still seeing this on the 12/23 build that stangri posted yesterday on a Nexus 9.

Soon as you run anything that requires SafetyNet (e.g., PokemonGo), root disappears and doesn't re-appear ... it's almost like magiskhide hides but doesn't successfully unhide. Reboot is the only recovery.

josephcsible commented 7 years ago

it's almost like magiskhide hides but doesn't successfully unhide.

@sou7611 Magisk Hide doesn't work by hiding root during the checks then unhiding it after. It works by hiding root from certain apps forever. The problem is that the hiding is leaking outside of the apps that it's supposed to affect, not that it's not unhiding them afterwards.

sou7611 commented 7 years ago

OK, would the fact that magisk manager shows incorrect data in the magiskhide app select page bear any weight here? The apps shown with check boxes is not correct as compared to the actual magiskhide file.

Didgeridoohan commented 7 years ago

Update:

Been running the 23 December build by stangri for a couple of days. The only module I'm using at the moment is phh's superuser (r266, topjohnwu v1). On a side note, my screen density module I used on Magisk v9 have stopped working, but I'll investigate that later.

Have only lost root once so far, but I suspect that was because of my nightly run of Titanium Backup. After skipping Magisk Manager from that TB run, all's fine.

No problems hiding root from any apps, SafetyNet passes (Cigitals SafetyNet playground) and I also logged in to Pokemon Go without any issues.

On my end, the problem seems to be solved on the current master. But, apparently that's not true for everyone...

I will of course continue to monitor the issue and do some stress tests when I have an opportunity.

topjohnwu commented 7 years ago

Fixed in b6412afe96305ccc714ae78e1cb2baa3d943a125 and dc29018ec098ae8bd36a80a256221d1920d2a43d

psydex commented 7 years ago

I'm also losing root like others above!

Nexus 5 / Ressurection Remix 5.8.x / Magisk v12

rj3d commented 7 years ago

I'm currently losing as described above as well. I'm on PureNexus 7.1.1 with ElementalX on a Nexus 6P.

topjohnwu commented 7 years ago

It's the issue with the rom itself. It's be fixed with the new version

psydex commented 7 years ago

Using latest RR from 11 April and I still lose root

IamCarbonMan commented 7 years ago

I'm running the latest Resurrection Remix on my Nexus 5X and this issue is still happening for me.

rj3d commented 7 years ago

I was on the Feb build of PureNexus for the Nexus 6p. I updated to the March build and I'm still losing root.

lemmy04 commented 7 years ago

I'm still losing root, magisk 12 on a Samsung S6 edge, running Samsung nougat. Right after reboot my phone is rooted, but after the first root access it's gone.

Didgeridoohan commented 7 years ago

@lemmy04

Sounds like an issue with Magisk Hide, but it's impossible to tell without any logs.

Try an unofficial beta snapshot and see if it works better. There's been a lot of changes in the code since v12.