First off all, if you have any questions start by scrolling down to the "Documentation index" (or go straight to the documentation on GitHub) and see if whatever you wonder about is covered there (most things are).
If you're wondering about the latest and greatest after an update, take a look at the changelog and accompanying release notes.
And please don't hesitate to support the work and effort that is involved in keeping the guide alive.
This module is a very complicated way of doing something very simple. Complicated for me, that is... The aim is to make it easy for you, the user. The module changes prop values using the Magisk resetprop tool, something that is very easy to do with a Magisk boot script and some simple commands. This is very useful for a lot of things, among others to help pass the SafetyNet CTS Profile check on custom and uncertified ROMs. And of course for any normal modification of your device that is done by altering build.prop or similar files.
What this module does is that it adds a terminal based UI for those that don't want (or can't) create a boot script for themselves, making the process of creating such a boot script very simple. With this module I'm also maintaining a list of certified build fingerprints for a number of devices, so that it's easy to pick one you want to use.
Keep reading below to find out more details about the different parts of the module, and also check out the documentation for a more extensive description of the module funtions.
- Magisk v19+.
- Busybox, preferably @osm0sis'
Install through the Magisk Manager Downloads section. Or, download the zip (attached below) and install through the Magisk Manager -> Modules, or from recovery. Combine a recovery installation with the use of the module configuration file and you can set up a certified fingerprint and any custom props you want without first booting on a clean flash. Instant settings.
After installing and rebooting, run the command props in a terminal emulator (you can find one on F-Droid or in the Play Store), and then follow the instructions to set your desired options (also see the documentation on GitHub). If you use Termux, you'll have to call su before running the command.
You can also run the command with options. Use -h for details.
SafetyNet fix - changing device fingerprint
Many users keep asking about help with passing SafetyNet. Often, the result is ctsProfile reporting false while basicIntegrity reports true. If that's the case, it's usually just a simple matter of updating the device's fingerprint (ro.build.fingerprint) and SafetyNet will pass. This module can help with that. For more details, check out the documentation on GitHub.
If both the ctsProfile and basicIntegrity checks report false there is a big chance that there is nothing the module can do. Check the documentation for more information.
If you have a working fingerprint that could be added to the list of pre-configured fingerprints (see post #3 for the current list of prints), or an updated one for one already on there, please post that here, toghether with the device details. See here if you're unsure how. Please also include the Android security patch date for the factory image/firmware/ROM that the fingerprint comes from. Note that I test all fingerprints submitted on my own devices, and only add those that can make them pass SafetyNet to the list. If you've submitted a fingerprint and it doesn't get added to the list, it's because it wouldn't let my test device pass SafetyNet.
You may also add your own prints to the list, by placing a file named "printslist", with the fingerprints, in the root of your internal storage. The module will then load these together with the included list. See here for details.
Improved hiding - editing prop files
Often, it's easy to circumvent root detection, but in some rare instances apps (mainly banking apps) go that extra distance. These apps might look at the actual prop values written in build.prop and default.prop rather than the loaded values. This module can hide that. For more details, check out the documentation on GitHub.
Editing custom props
There are many useful things you can do to your device by changing or removing different properties in build.prop, or even default.prop. With Magisk it's easy to do this, and completely systemless. This module makes it even easier. For more details, check out the documentation on GitHub.
For me, this is the main prupose of this module and personally I've uninstalled any modules I've previously used to do simple prop edits (like changing screen density and volume steps), and only use this module now.
From time to time, there are users that ask for ways to make MagiskHide not change certain prop values. Common examples include ro.debuggable or ro.build.type, that for some ROMs need to be set to certain values for the ROM to work properly. This module can take care of that. For more details, check out the documentation on GitHub.
This module will not help you pass SafetyNet with Xposed installed and active. AND IT NEVER WILL! Xposed cannot be hidden by Magisk, not even if it's systemless!
But, the module might help you circumvent Google's Gapps lockout if you're using a custom ROM, without having to whitelist it.
Please add support for device X
Adding device fingerprints to the list relies heavily on the users. You guys. I've looked up a fingerprint from time to time, but it is a bit time consuming and I don't have that time...
If you want a specific device fingerprint to be added to the module, take a look in the docs, under Finding a certified fingerprint.
If you can find a fingerprint for the device you have in mind, post it in the thread. I'll test it out and if it passes the ctsProfile check I'll add it to the list. Please also include the Android security patch date for the factory image/firmware/ROM that the fingerprint comes from.
Please update fingerprint X
Fingerprints included in the module are updated once in a while. Mainly if a user (that's you) provides the updated fingerprint, but sometimes I do look up new fingerprints on firmware.mobi. That is purely based on how much time I have on my hands and how bored I am though...
If you have an updated fingerprint available (and you've posted it for me to update the list), but I haven't yet updated the fingerprints list (which might be a while depending on how much IRL stuff I have to do), it is still perfectly possible for you to use the updated fingerprint.
You can enter the fingerprint manually in the "Edit device fingerprint" menu in the module, you can use the configuration file, or you can make a custom fingerprints list.
If you're experiencing issues, start by taking a look in the documentation, under Issues.
Also, when reporting about problems, please provide logs. This is easiest done with the "Collect logs" feature of the props script, and then just attaching the resulting, packaged file to your post with a detailed description of the issue. See the documentation for more details.
- EdXposed sometimes causes Magisk's boot process to fail, resulting in the module boot scripts (mainly service.sh) not running as they should. Until this has been fixed with EdXposed, there are a couple of ways to work around this. Use the Configuration file to set everything up during installation, or disable EdXposed before setting the module up and enable it again after the module works as you want it. Just make sure to use the default settings for boot stages.
More details - The Docs
For more details, check out the documentation on GitHub.
- What's this?
Installation and usage
Passing SafetyNet's CTS Profile
- Spoofing device's fingerprint to pass the ctsProfile check
- Keeping your device "certified"
- Current fingerprints list version
- Please add support for device X
- Please update fingerprint X
- Device simulation
Improved root hiding
- Improved root hiding - Editing build.prop and default.prop
- Set/reset MagiskHide Sensitive props
- Change/set custom prop values
- Removing prop values
- Prop script settings
- Configuration file
- Miscellaneous MagiskHide issues
- Issues, support,etc
- Current fingerprints list
Miscellaneous MagiskHide issues
If you're having other issues passing SafetyNet or otherwise getting MagiskHide to work, take a look in the Magisk and MagiskHide Installation and Troubleshooting Guide. Lots of good info there (if I may say so myself)...
If you've had any help from me or this module, any kind of donation to support the work involved would of course be appreciated.
@topjohnwu, for Magisk
@Zackptg5, @veez21 and @jenslody, for inspiration
Any previous releases can be found on GitHub.
Releases up until v2.4.0 are compatible with Magisk v15 to v16.7.
Releases from v2.4.1 are compatible with Magisk v17+.
Releases from v4.0.0 are compatible with Magisk v19+.
The current release is attached below: