MagiskHidePropsConf/README.md

289 lines
18 KiB
Markdown
Raw Normal View History

2018-03-18 15:39:43 +00:00
# MagiskHide Props Config
## By Didgeridoohan @ XDA Developers
2017-12-25 21:21:25 +00:00
2018-05-12 16:29:05 +00:00
[Support Thread @ XDA](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228)
2018-03-26 16:51:48 +00:00
2018-03-18 15:39:43 +00:00
## Installation
2018-05-12 16:29:05 +00:00
Install through the Magisk Manager Downloads section. Or, download the zip from the Manager or the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228), and install through the Magisk Manager -> Modules, or from recovery.
2018-03-26 16:25:58 +00:00
2018-05-12 16:29:05 +00:00
The current release is always attached to the OP of the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228). Any previous releases can be found on [GitHub](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/releases).
2017-12-25 21:21:25 +00:00
2018-03-20 17:36:47 +00:00
## Usage
2018-03-28 16:39:57 +00:00
After installing the module and rebooting, run the command `props` (as su) in a terminal emulator (you can find a one on [F-Droid](https://f-droid.org/) or in the [Play Store](https://play.google.com/store/apps)), and follow the instructions to set your desired options.
2018-03-18 15:39:43 +00:00
```
su
props
```
2018-04-15 22:05:33 +00:00
You can also run the command with options. Use -h for details.
2018-03-18 15:39:43 +00:00
2018-04-19 03:13:40 +00:00
## Spoofing device's fingerprint to pass the ctsProfile check
2018-03-18 15:39:43 +00:00
If your device can't pass SafetyNet fully, the CTS profile check fails while basic integrity passes, that means MagiskHide is working on your device but Google doesn't recognise your device as being certified.
This might be because your device simply hasn't been certified or that the ROM you are using on your device isn't recognised by Google (because it's a custom ROM).
2018-03-26 16:25:58 +00:00
To fix this, you can use a known working fingerprint (one that has been certified by Google), usually from a stock ROM/firmware/factory image, and replace your device's current fingerprint with this. You can also use a fingerprint from another device, but this will change how your device is perceived.
2018-03-18 15:39:43 +00:00
2018-05-12 16:29:05 +00:00
There are a few pre-configured certified fingerprints available in the module, just in case you can't get a hold of one for your device. If you have a working fingerprint that could be added to the list, or an updated one for one already on there, please post that in the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228) toghether with device details.
2018-03-18 15:39:43 +00:00
### Can I use any fingerprint?
It's possible to use any fingerprint that's certified for your device. It doesn't have to match, either device or Android version. If you don't use a fingerprint for your device, the device might be percieved as the device that the fingerprint belongs to, in certain situations (Play Store, etc). The Android version doesn't matter much, and if you're using a ROM with an Android version much newer than what is officially available for your device, you are going to have to use an older fingerprint if you want to use the one for your device. But, like already stated, that doesn't really matter.
2018-03-18 15:39:43 +00:00
### Finding a certified fingerprint
#### The getprop method
If you don't want to use one of the provided fingerprints, you can get one for your device by running the getprop command below on a stock ROM/firmware/factory image that fully passes SafetyNet.
2018-03-18 15:39:43 +00:00
```
getprop ro.build.fingerprint
```
If you're already on a custom ROM that can't pass the CTS profile check, this might not be an option... Head over to your device's forum and ask for help. If someone can run the getprop command on their device for you, you're good to go. Or, you can try the other method described below.
#### The stock ROM/firmware/factory image method
Another way to find a certified fingerprint is to download a stock ROM/firmware/factory image for your device and extract the fingerprint from there.
2018-05-16 16:21:12 +00:00
You can find the file to download in your device's forum on XDA Developers (either as a firmware file, a proper stock ROM, or in the development section as a debloated stock ROM), from the manufacturer's website, or elsewhere on the great interweb (just remember to be careful when downloading unknown files, it's dangerous to go alone!).
Once you have the file downloaded, there are several different ways that the fingerprint can be found. In all cases you'll have to access the file somehow, and in most cases it's just a matter of unpackaging it. After that it depends on how the package is constructed.
- Sometimes there'll be a build.prop file directly in the zip/package. You'll likely find the fingerprint in there.
- For some devices you'll have to unpackage the system.img to get to the build.prop file. On Windows, you can use something like [this tool](https://forum.xda-developers.com/showpost.php?p=57742855&postcount=42). You'll also find more info in the [main thread for that post](https://forum.xda-developers.com/android/software-hacking/how-to-conver-lollipop-dat-files-to-t2978952).
2018-05-17 20:41:34 +00:00
- Other times you'll find the fingerprint in META-INF\com\google\android\updater-script. Look for "Target:" and you'll likely find the fingerprint there.
- Etc... Experiment, the fingerprint will be in there somewhere.
2018-03-18 15:39:43 +00:00
2018-05-17 20:41:34 +00:00
Take a look below for an example of what a device fingerprint looks like.
2018-03-18 15:39:43 +00:00
### Custom fingerprints list
2018-03-28 16:39:57 +00:00
You can add your own fingerprint to the list by placing a file, named `printslist`, in the root of your internal storage with the fingerprint. It needs to be formated as follows:`device name=fingerprint`.
2018-03-18 15:39:43 +00:00
Here's an example:
```
Google Nexus 6=google/shamu/shamu:7.1.1/N8I11B/4171878:user/release-keys
```
2018-04-25 22:17:32 +00:00
### I still can't pass the ctsProfile check
If you've picked a certified fingerprint from the provided list, or you're using a fingerprint that you know is certified but still can't pass the ctsProfile check, do the following.
- First, do you pass basicIntegrity? If you don't, there's something else going on that this module can't help you with. Take a look under "Miscellaneous MagiskHide issues" below.
- Try a different fingerprint from the provided list.
- Make sure you don't have any remnants from previous root methods that may interfere with the SafetyNet check. A clean install of your system may be required.
2018-04-29 09:14:35 +00:00
- Some ROMs will just not be able to pass the ctsProfile check, if they contain signs of a rooted/modified device that Magisk can't hide.
- If you can't get things working, and want help, make sure to provide logs. See "Logs, etc" below.
## Keeping your device "certified"
If you're using a custom ROM, the chances of it being [perceived as uncertified by Google](https://www.xda-developers.com/google-blocks-gapps-uncertified-devices-custom-rom-whitelist/) are pretty high. If your ROM has a build date later than March 16 2018, this might mean that you can't even log into your Google account or use Gapps without [whitelisting your device with Google](https://www.google.com/android/uncertified/) first.
Magisk, and this module, can help with that.
Before setting up your device, install Magisk, this module and use the configuration file described below to pass the ctsProfile check. This should make your device be perceived as certified by Google and you can log into your Google account and use your device without having to whitelist it. Check [here](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/common/prints.sh) for usable fingerprints (only use the part to the right of the equal sign).
If you're having issues getting your device certified, take a look in the Magisk troubleshooting guide linked below.
2018-04-25 22:17:32 +00:00
2018-03-18 15:39:43 +00:00
2018-03-20 18:47:36 +00:00
## Current fingerprints list version
2018-05-12 16:29:05 +00:00
The fingerprints list will update without the need to update the entire module. Keep an eye on the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228) for info.
2018-03-20 18:47:36 +00:00
2018-04-19 03:13:40 +00:00
Just run the `props` command and the list will be updated automatically. Use the -nw option to disable or disable it completely in the script settings (see below). If you've disabled the this setting you can update the list manually in the `Edit device fingerprint` menu.
2018-03-20 18:47:36 +00:00
**_Current fingerprints list version - v16_**
2018-03-20 18:47:36 +00:00
2018-04-15 22:12:58 +00:00
## Improved root hiding - Editing build.prop and default.prop
2018-03-18 15:39:43 +00:00
Some apps and services look at the actual files, rather than the set prop values. With this module feature you can make sure that the actual prop in build.prop and default.prop is changed to match whatever value the prop has been set to by either MagiskHide or the module. If there's a prop value set by the module (see below), that value takes precedence.
## Set/reset MagiskHide Sensitive props
By default, if MagiskHide detects certain sensitive prop values they will be changed to known safe values. These are currently:
- ro.debuggable (set to "0" by MagiskHide - sensitive value is "1")
- ro.secure (set to "1" by MagiskHide - sensitive value is "0")
- ro.build.type (set to "user" by MagiskHide - sensitive value is "userdebug")
2018-04-15 22:05:33 +00:00
- ro.build.tags (set to "release-keys" by MagiskHide - sensitive value is "test-keys" or "dev-keys")
2018-03-18 15:39:43 +00:00
- ro.build.selinux (set to "0" by MagiskHide - sensitive value is "1")
If, for some reason, you need one or more of these to be kept as their original value (one example would be resetting ro.build.type to userdebug since some ROMs need this to work properly), you can reset to the original value with this module. Keep in mind that this might trigger some apps looking for these prop values as a sign of your device being rooted.
2018-04-15 22:05:33 +00:00
## Change/set custom prop values
2018-04-28 06:46:09 +00:00
It's quite easy to change prop values with Magisk. With this module it's even easier. Just enter the prop you want to change and the new value and the module does the rest, nice and systemless. Any changes that you've previously done directly to build.prop, default.prop, etc, you can now do with this module instead.
2018-04-15 22:05:33 +00:00
2018-04-16 16:06:49 +00:00
## Prop script settings
2018-04-19 03:13:40 +00:00
There are a couple of persistent options that you can set for the `props` script. These are currently "Colour" and "Fingerprints list check". The colour option disables or enables colours for the script, and the fingerprints list check option disables or enables automatic updating of the fingerprints list when the script starts. If the fingerprints list check is disabled, the list can be manually updated from within the script, under the `Edit device fingerprint` menu.
2018-04-15 22:05:33 +00:00
## Configuration file
You can use a configuration file to set your desired options, rather than running the `props` command. Download the [settings file](https://raw.githubusercontent.com/Magisk-Modules-Repo/MagiskHide-Props-Config/master/common/propsconf_conf) or extract it from the module zip (in the common folder), fill in the desired options (follow the instructions in the file), place it in /cache (or /data/cache if you're using an A/B device) and reboot. This can also be done directly at the first install (through Manager or recovery), before even rebooting your device. Instant settings.
2018-03-20 17:36:47 +00:00
## Miscellaneous MagiskHide issues
2018-04-15 22:05:33 +00:00
If you're having issues passing SafetyNet, getting your device certified, or otherwise getting MagiskHide to work, take a look in the [Magisk and MagiskHide Installation and Troubleshooting Guide](https://www.didgeridoohan.com/magisk). Lots of good info there (if I may say so myself)...
But first: have you tried turning it off and on again? Toggling MagiskHide off and on usually works if MagiskHide has stopped working after an update of Magisk or your ROM.
2018-03-18 15:39:43 +00:00
2018-04-25 22:17:32 +00:00
## Issues, support, etc
2018-05-12 16:29:05 +00:00
If you have questions, suggestions or are experiencing some kind of issue, visit the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228) @ XDA.
2018-03-18 15:39:43 +00:00
2018-04-26 20:40:46 +00:00
### Device issues because of the module
In case of issues, if you've set a prop value that doesn't work on your device causing it not to boot, etc, don't worry. There are options. You can follow the advice in the [Magisk troubleshooting guide](https://www.didgeridoohan.com/magisk/Magisk#hn_Module_causing_issues_Magisk_functionality_bootloop_loss_of_root_etc) to remove or disable the module, or you can use the module's built-in options to reset all module settings to the defaults.
Place a file named `reset_mhpc` in /cache (or /data/cache on A/B devices) and reboot.
It is possible to use this in combination with the configuration file described above to keep device fingerprint or any other settings intact past the reset. Just make sure to remove any custom props that might have been causing issues from the configuration file.
2018-03-20 17:36:47 +00:00
### Logs, etc
2018-04-29 09:14:35 +00:00
In case of issues, please provide the different log files, found in /cache (or /data/cache for A/B devices), together with a detailed description of your problem. The logs available could include "magisk.log", "propsconf.log", "propsconf_last.log", "propsconf_install.log" and "propsconf_latefile.log" Providing the output from terminal might also be useful.
If you have the latest beta release of Magisk installed, the "magisk_debug.log" is also useful. If there's no new beta released, there's always a beta version of the latest stable Magisk release (the only difference is the more verbose logging), so that you can collect the debug log.
2018-03-20 17:36:47 +00:00
2018-03-18 15:39:43 +00:00
## Source
2018-03-26 16:25:58 +00:00
[GitHub](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config)
2018-03-18 15:39:43 +00:00
## Credits
@topjohnwu @ XDA Developers, for Magisk
2018-04-19 03:13:40 +00:00
@Zackptg5, @veez21 and @jenslody @ XDA Developers, for help and inspiration
2018-03-18 15:39:43 +00:00
## Changelog
2018-05-12 16:29:05 +00:00
### v2.1.6
- Added some new fingerprints (Sony Xperia Z, Sony Xperia Z1, Xiaomi Redmi 4 Prime, Xiaomi Redmi Note 5/5 Plus), list v15.
- Very minor improvements that doesn't even deserve their own release, or changelog.
2018-05-06 09:57:49 +00:00
### v2.1.5
- Show what device the currently set fingerprint is from.
- Fixed,updated and added a bunch of fingerprints, list v12.
- Minor updates and improvements.
2018-04-29 09:14:35 +00:00
### v2.1.4
- Fixed improved hiding.
- Fixed using the configuration file on a clean install.
- Fixed a fault in the AE-35 Unit.
- Improved logging.
- A bunch of optimisations that will probably break stuff.
2018-04-26 20:40:46 +00:00
### v2.1.3
- Reverted the function to only editing existing fingerprint props.
- Optimised setting the different props.
- Minor updates and improvements.
2018-04-25 22:17:32 +00:00
### v2.1.2
- Detects and edits only existing device fingerprint props.
- Slightly optimised the boot scripts.
- New fingerprint (Motorola Moto E4), list v10.
- Minor updates and improvements.
2018-04-20 22:29:24 +00:00
### v2.1.1
- Fixed transferring custom props between module updates.
2018-04-19 03:13:40 +00:00
### v2.1.0
2018-04-19 04:08:35 +00:00
- "Improved hiding" will now also mask the device fingerprint in build.prop. Please reapply the option to set.
2018-04-19 03:13:40 +00:00
- Fixed colour code issues if running the script with ADB Shell. Huge shout-out to @veez21 over at XDA Developers.
- Fixed typo in A/B device detection. Thank you to @JayminSuthar over at XDA Developers.
- New fingerprints (Samsung Galaxy S4 and Sony Xperia Z3 Tablet Compact), list v8.
- Minor fixes and improvements.
2018-04-15 22:05:33 +00:00
### v2.0.0
- Added a function for setting your own custom prop values.
- Added a function for setting values by configuration file. Useful if you want to make a ROM pass the ctsProfile check out of the box.
- Added a function for resetting the module by placing a specific file in /cache. Useful if a custom prop is causing issues.
- Added a function to set options for the props script. See the documentation for details.
- Added command option to not check online for new fingerprints list at start. Run `props` with the -h option for details.
- Restructured the fingerprints list menu. Sorted by manufacturer for easier access.
- New and updated fingerprints (lots), list v6.
- Minor fixes and improvements.
2018-03-28 16:39:57 +00:00
### v1.2.1
- Fixed logic for checking the original prop values.
- New fingerprints (Xiaomi Mi 5, ZTE Axon 7), list v4.
- Minor fixes.
2018-03-26 16:25:58 +00:00
### v1.2.0
- Now in the Magisk repo. Updated to match.
2018-03-28 16:39:57 +00:00
- New fingerprint (Pixel 2), list v3.
2018-03-26 16:25:58 +00:00
- Show info when checking for fingerprint updates.
- Minor changes and improvements.
2018-03-20 18:47:36 +00:00
### v1.1.0
- New fingerprint added (Sony Xperia Z3).
- Added the ability to update the fingerprints list automatically
2018-03-18 15:39:43 +00:00
### v1.0.0
- Initial release. Compatible with Magisk v15+.
2018-03-26 16:25:58 +00:00
## Current fingerprints list
### List v16 
2018-05-06 18:55:30 +00:00
- Asus Zenfone 2 Laser (6.0.1)
2018-04-20 07:43:28 +00:00
- Google Nexus 4 (5.1.1)
- Google Nexus 5 (6.0.1)
2018-03-26 16:25:58 +00:00
- Google Nexus 6 (7.1.1)
2018-04-20 07:43:28 +00:00
- Google Nexus 5X (8.1.0)
- Google Nexus 6P (8.1.0)
2018-04-15 22:05:33 +00:00
- Google Pixel (8.1.0)
2018-04-20 07:43:28 +00:00
- Google Pixel (P DP1)
- Google Pixel XL (8.1.0)
- Google Pixel XL (P DP1)
2018-05-07 20:32:21 +00:00
- Google Pixel 2 (8.1.0)
2018-03-26 16:25:58 +00:00
- Google Pixel 2 (P DP1)
- Google Pixel 2 XL (8.1.0)
2018-04-20 07:43:28 +00:00
- Google Pixel 2 XL (P DP1)
2018-04-15 22:05:33 +00:00
- HTC 10 (6.0.1)
- Huawei Mate 10 Pro (8.0.0)
2018-04-25 22:17:32 +00:00
- Motorola Moto E4 (7.1.1)
2018-04-15 22:05:33 +00:00
- Motorola Moto G4 (7.0)
- Motorola Moto G5 (7.0)
- Motorola Moto G5 Plus (7.0)
2018-05-06 09:57:49 +00:00
- Motorola Moto X4 (8.0.0)
2018-04-15 22:05:33 +00:00
- Nvidia Shield K1 (7.0)
2018-03-26 16:25:58 +00:00
- OnePlus 3T (8.0.0)
- OnePlus 5T (7.1.1)
2018-04-15 22:05:33 +00:00
- OnePlus 5T (8.0.0)
- Samsung Galaxy A8 Plus (7.1.1)
2018-03-26 16:25:58 +00:00
- Samsung Galaxy Grand Prime (5.0.2)
2018-05-06 09:57:49 +00:00
- Samsung Galaxy J5 Prime (7.0)
2018-04-15 22:05:33 +00:00
- Samsung Galaxy Note 3 (7.1.1)
2018-03-31 19:45:01 +00:00
- Samsung Galaxy Note 4 (6.0.1)
2018-04-15 22:05:33 +00:00
- Samsung Galaxy Note 5 (7.0)
2018-05-07 20:32:21 +00:00
- Samsung Galaxy S3 Neo (4.4.4)
2018-04-19 03:13:40 +00:00
- Samsung Galaxy S4 (5.0.1)
- Samsung Galaxy S6 (7.0)
- Samsung Galaxy S6 Edge (7.0)
2018-03-31 19:45:01 +00:00
- Samsung Galaxy S7 (7.0)
2018-05-07 20:32:21 +00:00
- Samsung Galaxy S7 (8.0.0)
2018-04-15 22:05:33 +00:00
- Samsung Galaxy S7 Edge (7.0)
2018-05-06 09:57:49 +00:00
- Samsung Galaxy S7 Edge (8.0.0)
2018-04-15 22:05:33 +00:00
- Samsung Galaxy S8 Plus (7.0)
2018-03-31 19:45:01 +00:00
- Samsung Galaxy S8 Plus (8.0.0)
- Samsung Galaxy S9 (8.0.0)
- Samsung Galaxy S9 Plus (8.0.0)
2018-04-20 07:43:28 +00:00
- Sony Xperia X (8.0.0)
2018-04-15 22:05:33 +00:00
- Sony Xperia X Performance (8.0.0)
- Sony Xperia XZ (8.0.0)
2018-03-31 19:45:01 +00:00
- Sony Xperia XZ1 Compact (8.0.0)
2018-05-12 16:29:05 +00:00
- Sony Xperia Z (5.1.1)
- Sony Xperia Z1 (5.1.1)
2018-05-06 18:55:30 +00:00
- Sony Xperia Z2 (6.0.1)
2018-03-26 16:25:58 +00:00
- Sony Xperia Z3 (6.0.1)
2018-05-06 18:55:30 +00:00
- Sony Xperia Z3 Compact (6.0.1)
2018-04-19 03:13:40 +00:00
- Sony Xperia Z3 Tablet Compact (6.0.1)
2018-04-16 16:06:49 +00:00
- Sony Xperia Z5 (7.1.1)
- Sony Xperia Z5 Compact (7.1.1)
- Sony Xperia Z5 Dual (7.1.1)
2018-04-15 22:05:33 +00:00
- Vodafone Smart Ultra 6 (5.1.1)
- Xiaomi Mi 3/4 (6.0.1)
2018-05-06 18:55:30 +00:00
- Xiaomi Mi 5/5 Pro (7.0)
2018-03-31 19:45:01 +00:00
- Xiaomi Mi 5S (7.0)
- Xiaomi Mi 5S Plus (6.0.1)
2018-05-06 18:55:30 +00:00
- Xiaomi Mi 6 (7.1.1)
- Xiaomi Mi 6 (8.0.0)
2018-05-12 16:29:05 +00:00
- Xiaomi Redmi 4 Prime (6.0.1)
2018-04-15 22:05:33 +00:00
- Xiaomi Redmi 4X (6.0.1)
- Xiaomi Redmi Note 3 Pro (6.0.1)
- Xiaomi Redmi Note 4/4X (7.0)
2018-05-12 16:29:05 +00:00
- Xiaomi Redmi Note 5/5 Plus (7.1.2)
2018-03-31 19:45:01 +00:00
- ZTE Axon 7 (7.1.1)
2018-04-30 15:18:27 +00:00
- ZTE Nubia Z17 (7.1.1)
2018-04-15 22:05:33 +00:00
- Zuk Z2 Pro (7.0)