topjohnwu / Magisk

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

Magisk 18.0 Hidden Apps Hang on Opening #876

Closed HeyItsJono closed 5 years ago

HeyItsJono commented 5 years ago

A continuation of issue #546 wherein if an app is added to the Magisk Hide list, it refuses to open and instead hangs on a white screen. The last version of Magisk that did not have this issue was 16.4. I'm using a Pixel 2XL Android 8.1. Magisk 18.0, Magisk Manager 6.1.0.

Here is a video of the process demonstrated when I try to hide the Safety Net Attest app; initially the app is not hidden, and it opens and functions fine. Then I hide it in Magisk Hide, and try to open it again. This time, it opens and hangs at a white screen indefinitely. This happens with all apps hidden with Magisk Hide.

Here are my logs: Logcat.txt Magisk Log.log

Didgeridoohan commented 5 years ago

Don't cut out information from the Magisk log... The log you've posted shows nothing except that MagiskHide is doing it's job just as it should.

And don't add unnecessary apps to the Hide list. Adding the SafetyNet attest app has no function at all... Apps that don't need to be on the list only add a strain on the system, nothing else.

HeyItsJono commented 5 years ago

Don't cut out information from the Magisk log... The log you've posted shows nothing except that MagiskHide is doing it's job just as it should.

And don't add unnecessary apps to the Hide list. Adding the SafetyNet attest app has no function at all... Apps that don't need to be on the list only add a strain on the system, nothing else.

As you can see in the video, the only apps on the Hide list are apps that I want to hide root from (e.g. games that detect it, and banking apps). I use Magisk Hide to hide root from the attest app to check if Magisk Hide is working properly (if functioning, Attest should return a passed Safety Net check). Under normal circumstances I don't even have it on the hide list, and the only reason I hid root from it in this video is to use it as an example, since I'd rather not open my banking app on a publicly posted video. The pertinent point in this video is that the app is hanging when hidden; this happens to all apps, regardless of which app it is, or what apps are checked in Magisk Hide (e.g. I could literally only have Pokemon Go checked, and it'd still produce this result.

I've seen you post in other threads/issues with Magisk recommending users to only put the bare minimum on their Hide list, and it's great advice if the people in question are hiding a tonne of apps, or hiding system apps/services, but I'm not doing that here. I literally only hide root from 3 apps on a regular basis (PoGo, Pocket Camp, and my banking app). These are apps which I need root to be hidden from, they're not superfluous additions to the list. And again, even if only one of these were on the list, this issue would still present itself.

Didgeridoohan commented 5 years ago

My point was that you don't need to add the SafetyNet app to the Hide list for SafetyNet to pass. The SafetyNet process is on there by default.

But, my main point was that your Magisk log is insufficient. The full Canary debug log is necessary when reporting about issues...

HeyItsJono commented 5 years ago

Ah okay, so does that mean that I don't need to add any app to the Hide list if all they do is a simple Safety Net check? What does adding an app to the list do then?

Also, I can try reupdating and posting the full log - from what I recall there wasn't anything of note in it but I don't exactly know what I'm looking for.

Didgeridoohan commented 5 years ago

Correct. If an app has it's own way of detecting root you need it on the list, but not if it's just using SafetyNet.

HeyItsJono commented 5 years ago

Correct. If an app has it's own way of detecting root you need it on the list, but not if it's just using SafetyNet.

That's awesome, thanks. Sorry if I came across as stand-offish, didn't intend to. So what does hiding an app in Magisk Hide actually do to it?

topjohnwu commented 5 years ago

@HeyItsJono it hides root from the app. SafetyNet is not part of the app, it is part of Google Play service. The SafetyNet service by default is always on the list, so if an app simply does an SafetyNet check, it does not need to be on the hide list.