[Android Software Development] ipdev:
"And you know that notion just crossed my mind." 🙃

That is the idea (attempt). 🙃

At the time I started mHide SafetyNet, the only way to access the denylist was when enforcing.

The only way to "hide" Magisk was to add SafetyNet and (if needed) GMS to the denylist.

A lot has changed since then and part of the reason I shelved the project.

mHideSN still works on newer devices that do not support 'Hardware attestation'.

Plan to update and cleanup one more time before archiving the repo.​

---

As for merging parts of mhsn into USNF..

The 'com.google.android.gms' part is only to "hide" Magisk from SafetyNet when enforcing the Denylist.

Only added on Android 7.x and older with Magisk 24.x and newer.

Adapted from the 'MagiskHide' code purge. Lines 230-231 | Lines 249-256

Became the 'set_default_list' function.​

Since there are now other methods to "hide" Magisk..

I currently only included a denylist check for Android 7.x and below.

Not the part to enforce the denylist.

Not sure if other methods like 'Shamiko' work on Android 7.x and below?

When other methods of "hiding" Magisk started coming out.

Most of them using the denylist (instead of creating their own list).

I was not sure if any current or future, needed to add gms to the denylist list?

- Part of the reason for commit.

---

Setting the sensitive [secure] prop(s) to the safe value is only limited to what I and others have found.

This part works across all Android versions.

Using a system.prop file for some and the resetprop command in the service script for others.​

The 'system.prop' file is generated during the install.

I tried to move them all into the service and/or post-fs script(s) to be more dynamic (check and adjust during boot) but, ran into some issues.

Some device/manufacture props do not exist until very late after boot complete if at all.

So back to creating a system.prop file during the module install.​

If the following prop(s) exist, it is added to the system.prop file regardless of the current value.

The prop is added with the safe value.

I would prefer to only add insecure props with the safe value but, this is a work-a-round in case the props are set by another module(s).​

These props will be set shortly after the post.fs stage.

Spoiler content hidden.

Props that are checked and adjusted if need be in service script.

Spoiler content hidden.

Spoiler content hidden.

Currently USNF includes a 'system.prop' file.

By generating the 'system.prop' file during the install instead, we can check if the prop exists before adding it.

This will help from adding non-native props to the device.

Currently any one using USNF has the OnePlus and Samsung props set.

No matter if it is a Google, LG, Motorola, Poco, ...., Xiaomi device.​

---

Without the Zygisk part of the module, You would have to set the fingerprint globally.

The same as the MHPC module does.

Set props early (post-fs) you will change it across the board.

Set props late (service) you will set it after system has started.

For example of the difference between setting props early and late, see my question and flar2's response in the DevCheck thread - Post #258.​

---

Hope it helps explain more than confuse. 🙃

Cheers. :cowboy: