v5.1.0-v66

This commit is contained in:
Didgeridoohan 2019-11-22 20:19:18 +01:00 committed by GitHub
parent 4a2cdf6b11
commit 37d57ad3bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 354 additions and 278 deletions

View File

@ -19,11 +19,13 @@ Keep reading below to find out more details about the different parts of the mod
- [Prerequisites](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#prerequisites)
- [Installation](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#installation)
- [Usage](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#usage)
- [Run options](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#run-options)
##### Passing SafetyNet's CTS Profile
- [Spoofing device's fingerprint to pass the ctsProfile check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#spoofing-devices-fingerprint-to-pass-the-ctsprofile-check)
- [Use vendor fingerprint](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#use-vendor-fingerprint-for-treble-gsi-roms)
- [Matching the Android security patch date](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#matching-the-android-security-patch-date)
- [Can I use any fingerprint?](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#can-i-use-any-fingerprint)
- [How do I submit a fingerprint?](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#how-do-i-submit-a-fingerprint)
- [Finding a certified fingerprint](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#finding-a-certified-fingerprint)
- [The getprop method](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#the-getprop-method)
- [The stock ROM/firmware/factory image method](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#the-stock-romfirmwarefactory-image-method)
@ -47,18 +49,21 @@ Keep reading below to find out more details about the different parts of the mod
- [Script colours](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#script-colours)
- [Fingerprints list check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#fingerprints-list-check)
- [Automatic fingerprint update](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#automatic-fingerprint-update)
- [Background boot script](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#background-boot-script)
- [Configuration file](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#configuration-file)
- [Setting up the module on a clean Magisk/ROM flash](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#setting-up-the-module-on-a-clean-magiskrom-flash)
##### Issues and logs
- [Miscellaneous MagiskHide issues](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#miscellaneous-magiskhide-issues)
- [Issues, support,etc](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#issues-support-etc)
- [Known issues](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#known-issues)
- [The boot scripts did not run](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#the-boot-scripts-did-not-run)
- [Requires Magisk v19+](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#requires-magisk-v19)
- [An option is marked as "disabled"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#an-option-is-marked-as-disabled)
- [I can't pass the ctsProfile check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#i-cant-pass-the-ctsprofile-check)
- [I can't pass the basicIntegrity check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#i-cant-pass-the-basicintegrity-check)
- [Props don't seem to set properly](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#props-dont-seem-to-set-properly)
- [My device's Android security patch date changed](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#my-devices-android-security-patch-date-changed)
- [The interface looks weird](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#the-interface-looks-weird)
- [Device issues because of the module](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#device-issues-because-of-the-module)
- [The Play Store is "uncertified"](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#the-play-store-is-uncertified)
- [Logs](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#logs)
@ -86,10 +91,27 @@ The current release is always attached to the OP of the [module support thread](
## Usage
After installing the module and rebooting, run the command `props` in terminal (you can find a terminal emulator 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. 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.
You can also run the command with options. See below or use -h for details.
If you want further details as to what this module does and can do, keep reading. To get an overview of what is available, take a look at the index above. If experiencing issues, take a look at the part about [Issues, support,etc](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#issues-support-etc), and don't forget to provide [logs](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#logs) when asking for help.
### Run options
```
Usage: props [options]...
Options:
-d Update to fingerprints test list.
-f Update fingerprints list.
-l Save module logs and info.
-h Show this message.
-nc Run without colours.
-nw Run without fingerprint startup check.
-r Reset all options/settings.
-s Open script settings menu.
-t Activate test mode.
```
The settings option (-s) can be used even if the module boot scripts did not run.
## Spoofing device's fingerprint to pass the ctsProfile check
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 (if basic integrity fails there is nothing this module can do, please check [I can't pass the basicIntegrity check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#i-cant-pass-the-basicintegrity-check)).
@ -100,7 +122,7 @@ To fix this, you can use a known working device fingerprint (`ro.build.fingerpri
NOTE: If you're using a fingerprint for an Android build after March 16th 2018 you might have to change the security patch date to one that matches the fingerprint used. You can use the [Custom prop](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values) function of this module to change `ro.build.version.security_patch` to the desired date. If you don't know the security patch date you can try finding it with trial and error (although it's a much better option to find the actual date from the ROM/firmware/factory image in question). The dates are always either the 1st or the 5th of the month, so try different months one after the other until the CTS profile passes.
There are a bunch of tested certified fingerprints available in the module, just in case you can't get a hold of one for your device. For some devices there are several fingerprints available, for different Android versions. When picking a fingerprint you will also have to pick which version you need. 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. Please also include the Android security patch date for the factory image/firmware/ROM that the fingerprint comes from.
There are a bunch of tested certified fingerprints available in the module, just in case you can't get a hold of one for your device. For some devices there are several fingerprints available, for different Android versions. When picking a fingerprint you will also have to pick which version you need.
After having applied a device fingerprint from the module, whenever that particular print is updated in the included prints list, the chosen fingerprint will be automatically updated when the fingerprints list is. Just reboot to apply the new fingerprint. If there are several fingerprints available for the same device, this option only applies for fingerprints of the same Android version. In that case, if you want to update to a newer version you will have to update the fingerprint manually.
@ -115,10 +137,14 @@ For some devices, if the fingerprint is for an Android build after March 16th 20
### Can I use any fingerprint?
It's usually 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 (most of the time, there might of course be exceptions).
### How do I submit a fingerprint?
If you have a device fingerprint that you want to submit to the module, just post it in the [Support Thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228) together with device details and the [matching security patch date](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#matching-the-android-security-patch-date).
Also see [Finding a certified fingerprint](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#finding-a-certified-fingerprint) below.
### Finding a certified fingerprint
If you need a certain fingerprint from a device, here are a few tips on how to find it. Also remember that you might need to get the security patch date that corresponds to the fingerprint you find (see [Matching the Android security patch date](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#matching-the-android-security-patch-date) above).
Also make sure that you get the actual device fingerprint, since there might be props that look similar to what you need. Here's an example, taken from a Google Nexus 6 (named Shamu):
Make sure that you get the actual device fingerprint, since there might be props that look similar to what you need. Here's an example, taken from a Google Nexus 6 (named Shamu):
```
google/shamu/shamu:7.1.1/N8I11B/4171878:user/release-keys
```
@ -188,7 +214,7 @@ Just run the `props` command and the list will be updated automatically. Use the
If you already have a device fingerprint set by the module, and it has been updated in the current fingerprints list, it will be automatically updated when the prints list gets an update. Just reboot to apply. This function can be turned of in the script settings (see ["Prop script settings"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config#prop-script-settings) below)
**_Current fingerprints list version - v64_**
**_Current fingerprints list version - v66_**
## Please add support for device X
@ -284,12 +310,17 @@ This option will disable or enable the automatic updating of the fingerprints li
### Automatic fingerprint update
Whenever there is an update to the fingerprints list and if you have a fingerprint applied for a device that is on the list, the fingerprint will automatically be updated (if there is an update to that particular fingerprint). This option will not update a fingerprint to one for a different Android version if there are several fingerprints available for the same device.
### Backround boot script
By default, parts of the module post-fs-data boot script is executed in the background, but the parts that don't might still cause issues on some devices. If there are issues with the boot scripts not running during boot, try enabling this option to execute the script entirely in the background. Keep in mind that this might cause other issues, so only enable if necessary.
## Configuration file
You can use a configuration file to set your desired options, rather than running the `props` command. This is particularly useful if you have a large amount of custom props you want to set. 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 ('propsconf_conf' in the common folder), fill in the desired options (follow the instructions in the file), place it in the root of your internal storage (/sdcard), in /data or in /cache (or /data/cache if you're using an A/B device) and reboot. You can also use the configuration file when first installing the module. Just place the file in the root of your internal storage (or one of the other previously mentioned locations) before flashing the module and the installation script will set everything up.
**NOTE!** If a configuration file is used during boot there will be a reboot during the late_start service boot mode, to load the newly set up values.
If you edit the configuration file in Windows, make sure that you use a text editor that can handle [Unix file endings](https://en.m.wikipedia.org/wiki/Newline), such as Notepad++ and similar editors (not regular Windows Notepad).
This can also be done directly at the first install (through Manager or recovery) and even on a brand new clean install of Magisk, before even rebooting your device (also see "Setting up the module on a clean Magisk/ROM flash" below).
Using the configuration file can also be done directly at the first install (through Manager or recovery) and even on a brand new clean install of Magisk, before even rebooting your device (also see "Setting up the module on a clean Magisk/ROM flash" below). Just place the file in one of the above mentioned locations prior to installing the module.
**NOTE!** Upon detecting the file, the module installation/boot script will load the configured values into the module and then delete the the configuration file, so keep a copy somewhere if you want to use the same settings later.
@ -309,6 +340,15 @@ If you have questions, suggestions or are experiencing some kind of issue, visit
### Known issues
- 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](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#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.
### The boot scripts did not run
Sometimes there are issues with the boot scripts and as a result the `props` command won't work. A common cause for this is having EdXposed installed (see above). Always try rebooting to see if things start working, but if they don't, make sure to share the logs (that have been saved automatically to your internal storage) in the module [support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228).
This issue can in rare cases be caused by the module post-fs-data boot script taking too long to execute. This can be worked around by enabling the [script setting](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#prop-script-settings) to execute the script entirely in the background. This has the potential of causing other issues though, so only enable it if you need it.
If the issue is caused by having changed any of the script settings (for boot stages, etc), you can still enter the settings menu by using the -s [run option](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#run-options).
It might still be possible to use the module, even though you can't run the `props` command. Use the [configuration file](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#configuration-file) to set your desired options and make sure that all the boot options (CONFPRINTBOOT, CONFPATCHBOOT, CONFSIMBOOT and CONFBOOT) are set to use the default boot stage (since the boot scripts don't seem to run properly).
### Requires Magisk v19+
If the module won't install, with the message that Magisk v19+ is required, but you have Magisk v19+ installed, that means that your Magisk installation is broken. It's likely that you did not update properly (always update directly from the Manager) from a previous Magisk version (or something along those lines) and core parts of Magisk are still from an old install. The solution is to do a reinstallation by using "Direct install" in the Magisk Manager. If you for some reason can't do a direct install you're likely going to have to uninstall Magisk and start over.
@ -328,9 +368,14 @@ This module can usually only really help with the ctsProfile check, by spoofing
### Props don't seem to set properly
If it seems like props you're trying to set with the module don't get set properly (ctsProfile still doesn't pass, custom props don't work, etc), go into the script options and change the boot stage at which the props are being set, or change the boot stage for that particular prop, to late_start service. See ["Boot stage"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config#boot-stage) or ["Custom prop values"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values) above. This might happen because the particular prop you're trying to set get assigned it's value late in the boot process and by setting the boot stage for the prop to the last one available (late_start service) you optimise the chances of the module setting the prop after the system.
This may also be caused by the post-fs-data.sh script being set to run in the background because of the execution taking to long. Try disabling this option in the [script settings](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#prop-script-settings) and see if that changes anything.
### My device's Android security patch date changed
For some fingerprints it is necessary to also change the security patch date to match the fingerprint used (the actual patch won't change, just the displayed date). This is automatically done by the module when using a fingerprint from a build after March 16 2018. If you do not want this to happen you can manually add `ro.build.version.security_patch` to the custom props and load back the original date, but keep in mind that this may result in the fingerprint not working and SafetyNet will fail.
### The interface looks weird
If the interface of the props script looks strange, with a lot of gibberish along the lines of "\e[01;32m", that means that your terminal emulator of choice can't display colours properly (the "gibberish" is a colour code). Check the terminal emulators preferences if it is possible to change the terminal type to something that can display colours. You could also run the `props` command with the [-nc option](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#run-options) (No Colour), or disable colours in the [script settings](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#script-colours).
### Device issues because of the module
A common reason for issues with booting the device or with system apps force closing, etc, is having enabled [Device simulation](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#device-simulation). This feature is not needed for passing SafetyNet's CTS profile check. Only enable it if you actually need it, and keep in mind that it may cause issues when activated.
@ -379,6 +424,14 @@ Releases from v4.0.0 are compatible with Magisk v19+.
Releases from v5.0.0 are recommended for Magisk v19.4+.
## Changelog
### v5.1.0
- Fixed issue caused by some devices toybox commands not working as expected.
- Cleaned up the post-fs-data script to remove unnecessary strain from the boot process. Moved as much as possible to the late_start service boot script instead. Among other things, this means that there will be a reboot late in the boot process when using the configuration file during boot (see the documentation for details).
- Added new script setting to execute the post-fs-data module boot script completely in the background (see the documentation for details).
- Fixed some typos.
- Various minor fixes and optimisations (which just means I can't remember exactly what I did and can't be bothered to look it up).
- Added fingerprints for the Fairphone 2, Google Pixel 4 and 4 XL, OnePlus 7T and Samsung Galaxt Tab A WiFi. Updated fingerprints for the Essential PH-1, Google Pixel 2-3a (both regular and XL), OnePlus 6, 6T, 7 Pro and 7 Pro NR, Samsung Galaxy A5 2017 and Xiaomi Mi 9 Lite and Redmi K20 Pro/Mi 9T Pro. List updated to v66.
### v5.0.1
- Fixed issue with settings being cleared when updating from earlier module versions. Sorry if anyone got all their custom props removed...
- Fixed issue with creating a custom prints list.
@ -662,7 +715,7 @@ Releases from v5.0.0 are recommended for Magisk v19.4+.
## Current fingerprints list
### List v64
### List v66
- Asus Zenfone 2 Laser (6.0.1)
- Asus Zenfone 3 Max (7.1.1 & 8.1.0)
- Asus Zenfone 4 Max (7.1.1)
@ -674,6 +727,7 @@ Releases from v5.0.0 are recommended for Magisk v19.4+.
- BLU R1 HD 2018 (7.0)
- Elephone U Pro (8.0.0)
- Essential PH-1 (9 & 10)
- Fairphone 2 (6.0.1)
- Google Nexus 4 (5.1.1)
- Google Nexus 5 (6.0.1)
- Google Nexus 5X (8.1.0)
@ -695,6 +749,8 @@ Releases from v5.0.0 are recommended for Magisk v19.4+.
- Google Pixel 3 XL (9 & 10)
- Google Pixel 3a (9 & 10)
- Google Pixel 3a XL (9 & 10)
- Google Pixel 4 (10)
- Google Pixel 4 XL (10)
- Google Pixel C (8.1.0)
- HTC 10 (6.0.1)
- HTC U11 (8.0.0)
@ -754,13 +810,14 @@ Releases from v5.0.0 are recommended for Magisk v19.4+.
- OnePlus 3T (8.0.0 & 9)
- OnePlus 5 (8.1.0 & 9)
- OnePlus 5T (8.1.0 & 9)
- OnePlus 6 (8.1.0 & 9)
- OnePlus 6T (9)
- OnePlus 6 (8.1.0 & 9 & 10)
- OnePlus 6T (9 & 10)
- OnePlus 7 GM1901/GM1905 (9)
- OnePlus 7 GM1903 (9)
- OnePlus 7 Pro GM1911/GM1917 (9 & 10)
- OnePlus 7 Pro GM1913 (9)
- OnePlus 7 Pro NR GM1920 (9)
- OnePlus 7T (10)
- OPPO Neo 7 A33w (5.1)
- OPPO Neo 7 A1603 (5.1)
- Razer Phone (8.1.0)
@ -796,6 +853,7 @@ Releases from v5.0.0 are recommended for Magisk v19.4+.
- Samsung Galaxy S9 Plus (8.0.0)
- Samsung Galaxy S10 Plus (9)
- Samsung Galaxy Tab 2 7.0 (4.2.2)
- Samsung Galaxt Tab A WiFi (9)
- Samsung Galaxy Tab S3 (LTE SM-T825) (8.0.0)
- Sony Xperia X (8.0.0)
- Sony Xperia X Compact (8.0.0)
@ -870,6 +928,7 @@ Releases from v5.0.0 are recommended for Magisk v19.4+.
- Xiaomi Redmi Note 5A Lite (7.1.2)
- Xiaomi Redmi Note 6 Pro (8.1.0)
- Xiaomi Redmi Note 7 (9)
- Xiaomi Redmi Note 7 Pro (9)
- Xiaomi Redmi Y1 (7.1.2)
- ZTE Axon 7 (7.1.1 & 8.0.0)
- ZTE Blade (6.0.1)

View File

@ -4,123 +4,132 @@
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
# Licence: MIT
MODPATH=${0%/*}
BOOTSTAGE="post"
#anch1
MODPATH=${0%/*}
BOOTSTAGE="post"
# Load functions
. $MODPATH/util_functions.sh
# Variables
MODULESPATH=${MODPATH%/*}
ADBPATH=${MODULESPATH%/*}
MHPCPATH=$ADBPATH/mhpc
LOGFILE=$MHPCPATH/propsconf.log
LASTLOGFILE=$MHPCPATH/propsconf_last.log
RUNFILE=$MHPCPATH/script_check
# Start logging
log_start
bb_check
# Placeholder variables
MODVERSIONPH=VER_PLACEHOLDER
LATEFILEPH=LATE_PLACEHOLDER
# Clears out the script check file
rm -f $RUNFILE
touch $RUNFILE
# Clears out the script control file
touch $POSTCHKFILE
# Checks the reboot and print update variables in propsconf_late
if [ "$REBOOTCHK" == 1 ]; then
replace_fn REBOOTCHK 1 0 $LATEFILE
fi
if [ "$PRINTCHK" == 1 ]; then
replace_fn PRINTCHK 1 0 $LATEFILE
fi
# Check for the boot script and restore backup if deleted, or if the resetfile is present
RESETFILE=""
for ITEM in $RESETFILELST; do
if [ -f "$ITEM" ]; then
RESETFILE="$ITEM"
break
# Saves the previous log (if available) and creates a new one
if [ -f "$LOGFILE" ]; then
mv -f $LOGFILE $LASTLOGFILE
fi
done
if [ ! -f "$LATEFILE" ] || [ -f "$RESETFILE" ]; then
if [ -f "$RESETFILE" ]; then
RSTTXT="Resetting"
for ITEM in $RESETFILELST; do
rm -f $ITEM
done
else
RSTTXT="Restoring"
log_handler "The module settings file could not be found."
fi
log_handler "$RSTTXT module settings file (${LATEFILE})."
cp -af $MODPATH/propsconf_late $LATEFILE >> $LOGFILE 2>&1
rm -f $MODPATH/system.prop >> $LOGFILE 2>&1
fi
echo "***************************************************" > $LOGFILE 2>&1
echo "********* MagiskHide Props Config $MODVERSION ********" >> $LOGFILE 2>&1
echo "***************** By Didgeridoohan ***************" >> $LOGFILE 2>&1
echo "***************************************************" >> $LOGFILE 2>&1
echo ""
STRST="$(date +"%m-%d-%Y %H:%M:%S:%N") - Log start (regular execution)."
echo -e $STRST >> $LOGFILE 2>&1
echo -e $STRST > $RUNFILE 2>&1
# Checks for the Universal SafetyNet Fix module and similar modules editing the device fingerprint
PRINTMODULE=false
for USNF in $USNFLIST; do
if [ -d "$MODULESPATH/$USNF" ]; then
if [ ! -f "$MODULESPATH/$USNF/disable" ]; then
NAME=$(get_file_value $MODULESPATH/$USNF/module.prop "name=")
log_handler "Magisk module '$NAME' installed (modifies the device fingerprint)."
PRINTMODULE=true
# Save default prop values
resetprop > $MHPCPATH/defaultprops
echo "" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S:%N") - Saved default values" >> $LOGFILE 2>&1
{
# Creates/updates the script control file
touch $MHPCPATH/propsconf_postchk
# Logging
log_handler() {
echo "" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S:%N") - $1" >> $LOGFILE 2>&1
}
# Reset file locations
RESETFILELST="
/data/media/0/reset_mhpc
/data/reset_mhpc
$CACHELOC/reset_mhpc
"
# Check for the boot script and restore backup if deleted, or if the resetfile is present
RESETFILE=""
for ITEM in $RESETFILELST; do
if [ -f "$ITEM" ]; then
RESETFILE="$ITEM"
break
fi
done
if [ ! -s "$LATEFILE" ] || [ -f "$RESETFILE" ]; then
if [ -f "$RESETFILE" ]; then
RSTTXT="Resetting"
for ITEM in $RESETFILELST; do
rm -f $ITEM
done
else
RSTTXT="Restoring"
if [ -f "$LATEFILE" ]; then
log_handler "The module settings file was empty."
else
log_handler "The module settings file could not be found."
fi
fi
log_handler "$RSTTXT module settings file (${LATEFILE})."
cp -af $MODPATH/propsconf_late $LATEFILE >> $LOGFILE 2>&1
rm -f $MODPATH/system.prop >> $LOGFILE 2>&1
fi
done
if [ "$PRINTMODULE" == "true" ]; then
replace_fn FINGERPRINTENB 1 0 $LATEFILE
replace_fn PRINTMODULE 0 1 $LATEFILE
log_handler "Fingerprint modification disabled."
else
replace_fn FINGERPRINTENB 0 1 $LATEFILE
replace_fn PRINTMODULE 1 0 $LATEFILE
fi
# Save default values
log_handler "Saving device prop values."
resetprop > $MHPCPATH/defaultprops
log_handler "Prop values saved to $MHPCPATH/defaultprops."
# Loading module settings
. $LATEFILE
# Loading module settings
. $LATEFILE
# Checks for configuration file
config_file
# Edits prop values if set for post-fs-data
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in post-fs-data mode."
if [ "$OPTIONBOOT" == 1 ]; then
# ---Setting/Changing fingerprint---
if [ "$PRINTSTAGE" == 0 ]; then
print_edit
# Edits prop values if set for post-fs-data
if [ "$OPTIONBOOT" == 1 ] || [ "$OPTIONBOOT" != 1 -a "$PRINTSTAGE" == 1 ] || [ "$OPTIONBOOT" != 1 -a "$PATCHSTAGE" == 1 ] || [ "$OPTIONBOOT" != 1 -a "$SIMSTAGE" == 1 ] || [ "$CUSTOMPROPSPOST" ] || [ "$DELETEPROPS" ]; then
# Load functions
. $MODPATH/util_functions.sh
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in post-fs-data mode."
if [ "$OPTIONBOOT" == 1 ]; then
# Setting/Changing fingerprint
if [ "$PRINTSTAGE" == 0 ]; then
print_edit
fi
# Setting/Changing security patch date
if [ "$PATCHSTAGE" == 0 ]; then
patch_edit
fi
# Setting device simulation props
if [ "$SIMSTAGE" == 0 ]; then
dev_sim_edit
fi
# Setting custom props
custom_edit "CUSTOMPROPS"
fi
# Edit fingerprint if set for post-fs-data
if [ "$OPTIONBOOT" != 1 ] && [ "$PRINTSTAGE" == 1 ]; then
print_edit
fi
# Edit security patch date if set for post-fs-data
if [ "$OPTIONBOOT" != 1 ] && [ "$PATCHSTAGE" == 1 ]; then
patch_edit
fi
# Edit simulation props if set for post-fs-data
if [ "$OPTIONBOOT" != 1 ] && [ "$SIMSTAGE" == 1 ]; then
dev_sim_edit
fi
# Edit custom props set for post-fs-data
custom_edit "CUSTOMPROPSPOST"
# Deleting props
prop_del
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
fi
# ---Setting/Changing security patch date---
if [ "$PATCHSTAGE" == 0 ]; then
patch_edit
fi
# ---Setting device simulation props---
if [ "$SIMSTAGE" == 0 ]; then
dev_sim_edit
fi
# ---Setting custom props---
custom_edit "CUSTOMPROPS"
fi
# Edit fingerprint if set for post-fs-data
if [ "$OPTIONBOOT" != 1 ] && [ "$PRINTSTAGE" == 1 ]; then
print_edit
fi
# Edit security patch date if set for post-fs-data
if [ "$OPTIONBOOT" != 1 ] && [ "$PATCHSTAGE" == 1 ]; then
patch_edit
fi
# Edit simulation props if set for post-fs-data
if [ "$OPTIONBOOT" != 1 ] && [ "$SIMSTAGE" == 1 ]; then
dev_sim_edit
fi
# Edit custom props set for post-fs-data
custom_edit "CUSTOMPROPSPOST"
# Deleting props
prop_del
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
log_script_chk "post-fs-data.sh module script finished.\n\n===================="
FNSH="\n$(date +"%Y-%m-%d %H:%M:%S:%N") - post-fs-data.sh module script finished."
echo -e $FNSH >> $LOGFILE 2>&1
echo -e $FNSH >> $RUNFILE 2>&1
# Deletes the post-fs-data control file
rm -f $POSTCHKFILE
# Deletes the post-fs-data control file
rm -f $MHPCPATH/propsconf_postchk
} &

View File

@ -4,7 +4,7 @@
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
# Licence: MIT
PRINTSV=65
PRINTSV=66
PRINTSTRANSF=350
# Certified fingerprints
@ -19,7 +19,8 @@ Asus Zenfone Max Pro M1 (8.1.0)=asus/RU_X00TD/ASUS_X00T_6:8.1.0/OPM1/15.2016.190
Asus ZenPad S 8.0 (6.0.1)=asus/WW_P01M/P01M_3:6.0.1/MMB29P/WW_P01M-V5.6.0-20170608:user/release-keys
BLU R1 HD 2018 (7.0)=BLU/BLU_S1/S0320WW:7.0/NRD90M/1514191903:user/release-keys
Elephone U Pro (8.0.0)=Elephone/U_Pro/U_Pro:8.0.0/Elephone_U_Pro_20180917/09172123:user/release-keys__2018-09-05
Essential PH-1 (9 & 10)=essential/mata/mata:9/PQ1A.190105.112/550:user/release-keys__2019-08-05;essential/mata/mata:10/QP1A.190711.148/446:user/release-keys__2019-10-05
Essential PH-1 (9 & 10)=essential/mata/mata:9/PQ1A.190105.112/550:user/release-keys__2019-08-05;essential/mata/mata:10/QP1A.191005.014/478:user/release-keys__2019-11-05
Fairphone 2 (6.0.1)=Fairphone/FP2/FP2:6.0.1/FP2-gms-17.09.3/FP2-gms-17.09.3:user/release-keys
Google Nexus 4 (5.1.1)=google/occam/mako:5.1.1/LMY48T/2237560:user/release-keys
Google Nexus 5 (6.0.1)=google/hammerhead/hammerhead:6.0.1/M4B30Z/3437181:user/release-keys
Google Nexus 5X (8.1.0)=google/bullhead/bullhead:8.1.0/OPM7.181205.001/5080180:user/release-keys__2018-12-05
@ -35,12 +36,14 @@ Google Nexus 10 (5.1.1)=google/mantaray/manta:5.1.1/LMY49J/2640980:user/release-
Google Nexus Player (6.0.1)=google/fugu/fugu:6.0.1/MMB29U/2495654:user/release-keys
Google Pixel (8.1.0 & 9 & 10)=google/sailfish/sailfish:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/sailfish/sailfish:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/sailfish/sailfish:10/QP1A.191005.007.A1/5908163:user/release-keys__2019-10-06
Google Pixel XL (8.1.0 & 9 & 10)=google/marlin/marlin:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/marlin/marlin:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/marlin/marlin:10/QP1A.191005.007.A1/5908163:user/release-keys__2019-10-06
Google Pixel 2 (8.1.0 & 9 & 10)=google/walleye/walleye:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/walleye/walleye:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/walleye/walleye:10/QP1A.191005.007.A1/5908163:user/release-keys__2019-10-06
Google Pixel 2 XL (8.1.0 & 9 & 10)=google/taimen/taimen:8.1.0/OPM4.171019.016.B1/4720843:user/release-keys;google/taimen/taimen:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/taimen/taimen:10/QP1A.191005.007.A1/5908163:user/release-keys__2019-10-06
Google Pixel 3 (9 & 10)=google/blueline/blueline:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/blueline/blueline:10/QP1A.191005.007/5878874:user/release-keys__2019-10-05
Google Pixel 3 XL (9 & 10)=google/crosshatch/crosshatch:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/crosshatch/crosshatch:10/QP1A.191005.007/5878874:user/release-keys__2019-10-05
Google Pixel 3a (9 & 10)=google/sargo/sargo:9/PQ3B.190801.002/5674421:user/release-keys__2019-08-01;google/sargo/sargo:10/QP1A.191005.007/5878874:user/release-keys__2019-10-05
Google Pixel 3a XL (9 & 10)=google/bonito/bonito:9/PQ3B.190801.002/5674421:user/release-keys__2019-08-01;google/bonito/bonito:10/QP1A.191005.007/5878874:user/release-keys__2019-10-05
Google Pixel 2 (8.1.0 & 9 & 10)=google/walleye/walleye:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/walleye/walleye:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/walleye/walleye:10/QP1A.191105.004/5908170:user/release-keys__2019-11-05
Google Pixel 2 XL (8.1.0 & 9 & 10)=google/taimen/taimen:8.1.0/OPM4.171019.016.B1/4720843:user/release-keys;google/taimen/taimen:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/taimen/taimen:10/QP1A.191105.004/5908170:user/release-keys__2019-11-05
Google Pixel 3 (9 & 10)=google/blueline/blueline:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/blueline/blueline:10/QP1A.191105.003/5899767:user/release-keys__2019-11-05
Google Pixel 3 XL (9 & 10)=google/crosshatch/crosshatch:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/crosshatch/crosshatch:10/QP1A.191105.003/5899767:user/release-keys__2019-11-05
Google Pixel 3a (9 & 10)=google/sargo/sargo:9/PQ3B.190801.002/5674421:user/release-keys__2019-08-01;google/sargo/sargo:10/QP1A.191105.003/5899767:user/release-keys__2019-11-05
Google Pixel 3a XL (9 & 10)=google/bonito/bonito:9/PQ3B.190801.002/5674421:user/release-keys__2019-08-01;google/bonito/bonito:10/QP1A.191105.003/5899767:user/release-keys__2019-11-05
Google Pixel 4 (10)=google/flame/flame:10/QD1A.190821.007.A3/5891392:user/release-keys__2019-11-05
Google Pixel 4 XL (10)=google/coral/coral:10/QD1A.190821.007.A3/5891392:user/release-keys__2019-11-05
Google Pixel C (8.1.0)=google/ryu/dragon:8.1.0/OPM8.190605.005/5749003:user/release-keys__2019-06-05
HTC 10 (6.0.1)=htc/HTCOneM10vzw/htc_pmewl:6.0.1/MMB29M/774095.8:user/release-keys
HTC U11 (8.0.0)=htc/ocndtwl_01405/htc_ocndtwl:8.0.0/OPR6.170623.013/1017190.2:user/release-keys
@ -100,19 +103,20 @@ OnePlus 3 (8.0.0 & 9)=OnePlus/OnePlus3/OnePlus3:8.0.0/OPR1.170623.032/1809142047
OnePlus 3T (8.0.0 & 9)=OnePlus/OnePlus3/OnePlus3T:8.0.0/OPR1.170623.032/1812060016:user/release-keys__2018-11-01;OnePlus/OnePlus3/OnePlus3T:9/PKQ1.181203.001/1907311932:user/release-keys__2019-08-01
OnePlus 5 (8.1.0 & 9)=OnePlus/OnePlus5/OnePlus5:8.1.0/OPM1.171019.011/1809241512:user/release-keys__2018-09-01;OnePlus/OnePlus5/OnePlus5:9/PKQ1.180716.001/1910081949:user/release-keys__2019-10-01
OnePlus 5T (8.1.0 & 9)=OnePlus/OnePlus5T/OnePlus5T:8.1.0/OPM1.171019.011/1809241512:user/release-keys__2018-09-01;OnePlus/OnePlus5T/OnePlus5T:9/PKQ1.180716.001/1910081948:user/release-keys__2019-10-01
OnePlus 6 (8.1.0 & 9)=OnePlus/OnePlus6/OnePlus6:8.1.0/OPM1.171019.011/06140300:user/release-keys;OnePlus/OnePlus6/OnePlus6:9/PKQ1.180716.001/1908012000:user/release-keys__2019-08-01
OnePlus 6T (9)=OnePlus/OnePlus6T/OnePlus6T:9/PKQ1.180716.001/1909112330:user/release-keys__2019-08-01
OnePlus 6 (8.1.0 & 9 & 10)=OnePlus/OnePlus6/OnePlus6:8.1.0/OPM1.171019.011/06140300:user/release-keys;OnePlus/OnePlus6/OnePlus6:9/PKQ1.180716.001/1908012000:user/release-keys__2019-08-01;OnePlus/OnePlus6/OnePlus6:10/QKQ1.190716.003/1910270526:user/release-keys__2019-10-01
OnePlus 6T (9 & 10)=OnePlus/OnePlus6T/OnePlus6T:9/PKQ1.180716.001/1909112330:user/release-keys__2019-08-01;OnePlus/OnePlus6T/OnePlus6T:10/QKQ1.190716.003/1910270420:user/release-keys__2019-10-01
OnePlus 7 GM1901/GM1905 (9)=OnePlus/OnePlus7/OnePlus7:9/PKQ1.190110.001/1907280700:user/release-keys__2019-08-01
OnePlus 7 GM1903 (9)=OnePlus/OnePlus7_EEA/OnePlus7:9/PKQ1.190110.001/1907280700:user/release-keys__2019-08-01
OnePlus 7 Pro GM1911/GM1917 (9 & 10)=OnePlus/OnePlus7Pro/OnePlus7Pro:9/PKQ1.190110.001/1907281556:user/release-keys__2019-08-01;OnePlus/OnePlus7Pro/OnePlus7Pro:10/QKQ1.190716.003/1909010630:user/release-keys__2019-09-05
OnePlus 7 Pro GM1911/GM1917 (9 & 10)=OnePlus/OnePlus7Pro/OnePlus7Pro:9/PKQ1.190110.001/1907281556:user/release-keys__2019-08-01;OnePlus/OnePlus7Pro/OnePlus7Pro:10/QKQ1.190716.003/1910071200:user/release-keys__2019-09-05
OnePlus 7 Pro GM1913 (9)=OnePlus/OnePlus7Pro_EEA/OnePlus7Pro:9/PKQ1.190110.001/1907281556:user/release-keys__2019-08-01
OnePlus 7 Pro NR GM1920 (9)=OnePlus/OnePlus7ProNR_EEA/OnePlus7ProNR:9/PKQ1.190223.001/1907280803:user/release-keys__2019-06-01
OnePlus 7 Pro NR GM1920 (9)=OnePlus/OnePlus7ProNR_EEA/OnePlus7ProNR:9/PKQ1.190223.001/1909251702:user/release-keys__2019-10-01
OnePlus 7T (10)=OnePlus/OnePlus7T/OnePlus7T:10/QKQ1.190716.003/1909250940:user/release-keys__2019-09-05
OPPO Neo 7 A33w (5.1)=OPPO/A33w/A33w:5.1/LMY47I/1487829433:user/release-keys
OPPO Neo 7 A1603 (5.1)=OPPO/A1603/A1603:5.1/LMY47I/1489407760:user/release-keys
Razer Phone (8.1.0)=razer/cheryl/cheryl:8.1.0/OPM1.171019.011-RZR-180803/6033:user/release-keys__2018-07-05
Razer Phone 2 (8.1.0)=razer/cheryl2/aura:8.1.0/O-MR2-RC009-RZR-181124/2009:user/release-keys__2018-10-05
Samsung Galaxy A5 2015 (6.0.1)=samsung/a5ultexx/a5ulte:6.0.1/MMB29M/A500FUXXU1CPH3:user/release-keys
Samsung Galaxy A5 2017 (8.0.0)=samsung/a5y17ltexx/a5y17lte:8.0.0/R16NW/A520FXXUBCSI1:user/release-keys__2019-09-01
Samsung Galaxy A5 2017 (8.0.0)=samsung/a5y17ltexx/a5y17lte:8.0.0/R16NW/A520FXXUCCSK1:user/release-keys__2019-11-01
Samsung Galaxy A6 Plus (9)=samsung/a6pltedx/a6plte:9/PPR1.180610.011/A605GDXU3BSC6:user/release-keys__2019-03-01
Samsung Galaxy A8 Plus (7.1.1)=samsung/jackpot2ltexx/jackpot2lte:7.1.1/NMF26X/A730FXXU2ARD1:user/release-keys
Samsung Galaxy Grand Prime (5.0.2)=samsung/fortuna3gdtvvj/fortuna3gdtv:5.0.2/LRX22G/G530BTVJU1BPH4:user/release-keys
@ -142,6 +146,7 @@ Samsung Galaxy S9 (8.0.0)=samsung/starltexx/starlte:8.0.0/R16NW/G960FXXU1ARCC:us
Samsung Galaxy S9 Plus (8.0.0)=samsung/star2ltexx/star2lte:8.0.0/R16NW/G965FXXU1ARCC:user/release-keys
Samsung Galaxy S10 Plus (9)=samsung/beyond2qlteue/beyond2q:9/PPR1.180610.011/G975U1UEU1ASD3:user/release-keys__2019-03-01
Samsung Galaxy Tab 2 7.0 (4.2.2)=samsung/espresso10wifixx/espresso10wifi:4.2.2/JDQ39/P5110XXDML1:user/release-keys
Samsung Galaxt Tab A WiFi (9)=samsung/gta2xlwifixx/gta2xlwifi:9/PPR1.180610.011/T590XXU3BSJ1:user/release-keys__2019-10-01
Samsung Galaxy Tab S3 (LTE SM-T825) (8.0.0)=samsung/gts3lltexx/gts3llte:8.0.0/R16NW/T825XXU2BRL2:user/release-keys__2018-12-01
Sony Xperia X (8.0.0)=Sony/F5121/F5121:8.0.0/34.4.A.2.118/1631208121:user/release-keys__2018-09-01
Sony Xperia X Compact (8.0.0)=Sony/F5321/F5321:8.0.0/34.4.A.2.118/1631208121:user/release-keys__2018-09-01
@ -182,7 +187,7 @@ Xiaomi Mi 5S Plus (6.0.1 & 7.0)=Xiaomi/natrium/natrium:6.0.1/MXB48T/V8.5.2.0.MBG
Xiaomi Mi 6 (8.0.0)=Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V9.2.3.0.OCAMIEK:user/release-keys
Xiaomi Mi 8 (8.1.0 & 9)=Xiaomi/dipper/dipper:8.1.0/OPM1.171019.011/V9.5.5.0.OEAMIFA:user/release-keys;Xiaomi/dipper/dipper:9/PKQ1.180729.001/V10.2.3.0.PEAMIXM:user/release-keys__2019-02-01
Xiaomi Mi 9 (9)=Xiaomi/cepheus_eea/cepheus:9/PKQ1.181121.001/V10.2.27.0.PFAEUXM:user/release-keys__2019-06-01
Xiaomi Mi 9 Lite (9)=Xiaomi/pyxis/pyxis:9/PKQ1.181121.001/V10.3.1.0.PFCMIXM:user/release-keys__2019-08-01
Xiaomi Mi 9 Lite (9)=Xiaomi/pyxis/pyxis:9/PKQ1.181121.001/V11.3.3.0.PFCMIXM:user/release-keys__2019-10-01
Xiaomi Mi 9T (9)=Xiaomi/davinci_eea/davinci:9/PKQ1.190302.001/V10.3.12.0.PFJEUXM:user/release-keys__2019-07-01
Xiaomi Mi A1 (8.0.0 & 9)=xiaomi/tissot/tissot_sprout:8.0.0/OPR1.170623.026/V.9.5.10.0.ODHMIFA:user/release-keys;xiaomi/tissot/tissot_sprout:9/PKQ1.180917.001/V10.0.4.0.PDHMIXM:user/release-keys__2019-01-05
Xiaomi Mi A2 (8.1.0 & 9)=xiaomi/jasmine/jasmine_sprout:8.1.0/OPM1.171019.011/V9.6.16.0.ODIMIFE:user/release-keys__2018-11-05;xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/V10.0.14.0.PDIMIXM:user/release-keys__2019-09-05
@ -205,7 +210,7 @@ Xiaomi Redmi 4A (7.1.2)=Xiaomi/rolex/rolex:7.1.2/N2G47H/V9.2.6.0.NCCMIEK:user/re
Xiaomi Redmi 4X (6.0.1)=Xiaomi/santoni/santoni:6.0.1/MMB29M/V8.5.4.0.MAMCNED:user/release-keys
Xiaomi Redmi 5A (7.1.2 & 8.1.0)=Xiaomi/riva/riva:7.1.2/N2G47H/V9.1.8.0.NCKMIEI:user/release-keys;Xiaomi/riva/riva:8.1.0/OPM1.171019.026/V10.3.2.0.OCKMIXM:user/release-keys__2019-06-01
Xiaomi Redmi Go (8.1.0)=Xiaomi/tiare/tiare:8.1.0/OPM1.171019.026/V10.2.6.0.OCLMIXM:user/release-keys__2019-01-01
Xiaomi Redmi K20 Pro (9 & 10)=Xiaomi/raphael/raphael:9/PKQ1.181121.001/V10.3.14.0.PFKCNXM:user/release-keys__2019-06-01;Xiaomi/raphael/raphael:10/QKQ1.190716.003/V10.4.6.0.QFKCNXM:user/release-keys__2019-09-05
Xiaomi Redmi K20 Pro/Mi 9T Pro (9 & 10)=Xiaomi/raphael/raphael:9/PKQ1.181121.001/V10.3.14.0.PFKCNXM:user/release-keys__2019-06-01;Xiaomi/raphael/raphael:10/QKQ1.190825.002/V11.0.1.0.QFKMIXM:user/release-keys__2019-10-01
Xiaomi Redmi Note 2 (5.0.2)=Xiaomi/hermes/hermes:5.0.2/LRX22G/V9.2.4.0.LHMMIEK:user/release-keys
Xiaomi Redmi Note 3 Pro (6.0.1)=Xiaomi/kenzo/kenzo:6.0.1/MMB29M/V8.2.1.0.MHOCNDL:user/release-keys
Xiaomi Redmi Note 3 Pro SE (6.0.1)=Xiaomi/kate/kate:6.0.1/MMB29M/V8.1.3.0.MHRMIDI:user/release-keys

View File

@ -9,7 +9,7 @@
# =================================================================
# Required module version (or newer). Do not edit this value!
CONFTRANSF=500
CONFTRANSF=510
# Device fingerprint
CONFFINGERPRINT=""
@ -52,6 +52,7 @@ CONFBOOT=default
CONFCOLOUR=true
CONFWEB=true
CONFUPDATE=true
CONFBACK=false
# =================================================================
# ========================== Instructions =========================
@ -96,9 +97,9 @@ CONFUPDATE=true
# propely or the module's boot script seems to be causing issues during boot.
#
# CONFPATCHBOOT is by default set to using late_start service boot stage for setting
# ro.build.version.security_patch. If the setting is changed to "default" or "late",
# the prop will be set during either the default or late_start service stage. The
# late_start service boot stage is used as to not cause issues for devices with
# ro.build.version.security_patch. If the setting is changed to "default" or "post",
# the prop will be set during either the default or post-fs-data stage. The
# late_start service boot stage is used by default as to not cause issues for devices with
# Keymaster 4 (bootloops). If the prop doesn't seem to set properly, try changing the stage.
# CONFDEVSIM and the following CONFBRAND, CONFNAME, CONFDEVICE, CONFRELEASE
@ -165,5 +166,7 @@ CONFUPDATE=true
# post-fs-data or late_start service mode. This is useful if props don't seem to set
# propely or the module's boot script seems to be causing issues during boot.
#
# CONFCOLOUR, CONFWEB and CONFUPDATE are the options for scrit colours, automatic fingerprints
# list update and automatic update of the set fingerprint. See the module documentation for more details. Set to "true" or "false".
# CONFCOLOUR, CONFWEB, CONFUPDATE and CONFBACK are the options for scrit colours,
# automatic fingerprints list update, automatic update of the set fingerprint and
# background execution of the post-fs-data.sh boot script.
# See the module documentation for more details. Set to "true" or "false".

View File

@ -8,7 +8,7 @@
# In that case, feel free to delete it.
# Script version
SCRIPTV=28
SCRIPTV=30
SETTRANSF=3
NOTTRANSF="BRANDSET;NAMESET;DEVICESET;RELEASESET;IDSET;INCREMENTALSET;SDKSET"
@ -38,6 +38,7 @@ OPTIONBOOT=0
OPTIONCOLOUR=1
OPTIONWEB=1
OPTIONUPDATE=1
OPTIONBACK=0
# Device simulation
BRANDSET=0

View File

@ -10,19 +10,46 @@ BOOTSTAGE="late"
# Load functions
. $MODPATH/util_functions.sh
if [ "$OPTIONBOOT" == 1 ]; then
until [ ! -f "$POSTCHKFILE" ]; do
sleep 1
done
fi
TMP_WAIT=0
until [ ! -f "$POSTCHKFILE" ] || [ "$TMP_WAIT" == 10 ]; do
sleep 1
TMP_WAIT=$(($TMP_WAIT + 1))
done
log_script_chk "Running service.sh module script."
# Resets the reboot and print update variables in propsconf_late
replace_fn REBOOTCHK 1 0 $LATEFILE
replace_fn PRINTCHK 1 0 $LATEFILE
# Retrieving default values from props file
log_handler "Saving device default values."
default_save
log_handler "Default values saved to $LATEFILE."
# Checks for the Universal SafetyNet Fix module and similar modules editing the device fingerprint
PRINTMODULE=false
for USNF in $USNFLIST; do
if [ -d "$MODULESPATH/$USNF" ]; then
if [ ! -f "$MODULESPATH/$USNF/disable" ]; then
NAME=$(get_file_value $MODULESPATH/$USNF/module.prop "name=")
log_handler "Magisk module '$NAME' installed (modifies the device fingerprint)."
PRINTMODULE=true
fi
fi
done
if [ "$PRINTMODULE" == "true" ]; then
replace_fn FINGERPRINTENB 1 0 $LATEFILE
replace_fn PRINTMODULE 0 1 $LATEFILE
log_handler "Fingerprint modification disabled."
else
replace_fn FINGERPRINTENB 0 1 $LATEFILE
replace_fn PRINTMODULE 1 0 $LATEFILE
fi
# Checks for configuration file
config_file
# Edits prop values if set for late_start service
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in late_start service mode."
@ -56,6 +83,7 @@ if [ "$OPTIONBOOT" != 2 ] && [ "$SIMSTAGE" == 2 ]; then
fi
# Edit custom props set for late_start service
custom_edit "CUSTOMPROPSLATE"
# Edit MagiskHide sensitive values
if [ "$PROPEDIT" == 1 ]; then
log_handler "Changing sensitive props."
@ -77,4 +105,4 @@ curr_values
# Check system.prop content
system_prop_cont
log_script_chk "service.sh module script finished.\n\n=================="
log_script_chk "service.sh module script finished."

View File

@ -15,22 +15,22 @@ get_file_value() {
ADBPATH=/data/adb
MODULESPATH=$ADBPATH/modules
MHPCPATH=$ADBPATH/mhpc
LATEFILE=$MHPCPATH/propsconf_late
MIRRORLOC=/sbin/.magisk/mirror/system
VENDLOC=/sbin/.magisk/mirror/vendor
if [ -z $SLOT ]; then
CACHELOC=/cache
else
CACHELOC=/data/cache
fi
if [ "$INSTFN" ]; then
# Installation (config.sh)
MODVERSION=$(echo $(get_file_value $TMPDIR/module.prop "version=") | sed 's|-.*||')
MODVERSION=$(echo $(get_file_value $TMPDIR/module.prop "version=") | sed 's|-.*||')
POSTPATH=$ADBPATH/post-fs-data.d
SERVICEPATH=$ADBPATH/service.d
LATEFILE=$MHPCPATH/propsconf_late
POSTFILE=$POSTPATH/propsconf_post
POSTLATEFILE=$POSTPATH/propsconf_late
UPDATELATEFILE=$TMPDIR/propsconf_late
MIRRORLOC=/sbin/.magisk/mirror/system
VENDLOC=/sbin/.magisk/mirror/vendor
if [ -z $SLOT ]; then
CACHELOC=/cache
else
CACHELOC=/data/cache
fi
CACHERM="
$CACHELOC/propsconf_postfile.log
$CACHELOC/propsconf.log
@ -56,6 +56,7 @@ if [ "$INSTFN" ]; then
OPTIONCOLOUR
OPTIONWEB
OPTIONUPDATE
OPTIONBACK
BRANDSET
NAMESET
DEVICESET
@ -92,11 +93,6 @@ if [ "$INSTFN" ]; then
else
# Placeholder variables
MODVERSIONPH=VER_PLACEHOLDER
MHPCPATHPH=MHPCPATH_PLACEHOLDER
LATEFILEPH=LATE_PLACEHOLDER
MIRRORLOCPH=MIRROR_PLACEHOLDER
VENDLOCPH=VEND_PLACEHOLDER
CACHELOCPH=CACHE_PLACEHOLDER
BINPH=BIN_PLACEHOLDER
# Log variables
@ -118,18 +114,13 @@ COREPATH=/sbin/.magisk
MIRRORPATH=$COREPATH/mirror
SYSTEMFILE=$MODPATH/system.prop
POSTCHKFILE=$MHPCPATH/propsconf_postchk
RUNFILE=$MODPATH/script_check
RUNFILE=$MHPCPATH/script_check
# Make sure that the terminal app used actually can see resetprop
if [ "$BOOTSTAGE" == "props" ]; then
alias resetprop="$ADBPATH/magisk/magisk resetprop"
fi
alias reboot="/system/bin/reboot"
# Finding installed Busybox
if [ -d "$MODULESPATH/busybox-ndk" ]; then
BBPATH=$(find $MODULESPATH/busybox-ndk -name 'busybox')
else
BBPATH=$(which busybox)
fi
# Fingerprint variables
PRINTSLOC=$MODPATH/prints.sh
PRINTSTMP=$MHPCPATH/prints.sh
@ -159,13 +150,6 @@ CONFFILELST="
$CACHELOC/propsconf_conf
"
# Reset file locations
RESETFILELST="
/data/media/0/reset_mhpc
/data/reset_mhpc
$CACHELOC/reset_mhpc
"
# MagiskHide props
PROPSLIST="
ro.debuggable
@ -232,6 +216,22 @@ APILVL="
8.0=26
8.1=27
9=28
10=29
"
# List of aliases to set from Busybox
ALIASLIST="
cat
cp
cut
grep
id
mv
printf
sed
sort
tar
tr
"
# Values props list
@ -242,6 +242,12 @@ if [ -z "$INSTFN" ]; then
. $LATEFILE
fi
# Add log divider
if [ "$BOOTSTAGE" != "post" ]; then
echo "" >> $LOGFILE
echo "==============================" >> $LOGFILE
fi
# ======================== General functions ========================
# Log functions
log_handler() {
@ -250,26 +256,6 @@ log_handler() {
echo -e "$(date +"%Y-%m-%d %H:%M:%S:%N") - $1" >> $LOGFILE 2>&1
fi
}
# Saves the previous log (if available) and creates a new one
log_start() {
if [ -f "$LOGFILE" ]; then
if [ "$INSTFN" ]; then
rm -f $LOGFILE
else
mv -f $LOGFILE $LASTLOGFILE
fi
fi
touch $LOGFILE
echo "***************************************************" >> $LOGFILE 2>&1
echo "********* MagiskHide Props Config $MODVERSION ********" >> $LOGFILE 2>&1
echo "***************** By Didgeridoohan ***************" >> $LOGFILE 2>&1
echo "***************************************************" >> $LOGFILE 2>&1
if [ "$INSTFN" ]; then
log_handler "Starting module installation script"
else
log_script_chk "Log start."
fi
}
log_print() {
if [ "$INSTFN" ]; then
ui_print "$1"
@ -283,6 +269,25 @@ log_script_chk() {
echo -e "$(date +"%m-%d-%Y %H:%M:%S") - $1" >> $RUNFILE 2>&1
}
# Finding and setting up installed Busybox
if [ ! "$INSTFN" ] && [ "$BOOTSTAGE" != "post" -a "$BOOTSTAGE" != "late" ]; then
log_handler "Setting up Busybox."
if [ -d "$MODULESPATH/busybox-ndk" ]; then
BBPATH=$(find $MODULESPATH/busybox-ndk -name 'busybox')
else
BBPATH=$(which busybox)
fi
if [ "$BBPATH" ]; then
log_handler "Using $($BBPATH | head -1)."
echo "$BBPATH" >> $LOGFILE 2>&1
for ITEM in $ALIASLIST; do
alias $ITEM="$BBPATH $ITEM"
done
else
log_handler "No Busybox found."
fi
fi
#Divider
DIVIDER="${Y}=====================================${N}"
@ -311,16 +316,6 @@ module_v_ctrl() {
VERSIONTMP=$(echo $(get_file_value $MODPATH/module.prop "version="))
}
# Check for Busybox
bb_check() {
if [ "$BBPATH" ]; then
log_handler "Using $($BBPATH | head -1)."
echo "$BBPATH" >> $LOGFILE 2>&1
else
log_handler "No Busybox found."
fi
}
# Find prop type
get_prop_type() {
if [ "$1" == "ro.vendor.build.fingerprint" ]; then
@ -419,7 +414,7 @@ force_reboot() {
echo ""
echo "${C}Rebooting...${N}"
log_handler "Rebooting."
/system/bin/svc power reboot "" >> $LOGFILE 2>&1 || /system/bin/reboot "" >> $LOGFILE 2>&1 || setprop sys.powerctl reboot >> $LOGFILE 2>&1
[ "$(resetprop sys.boot_completed)" == 1 ] && /system/bin/svc power reboot "" >> $LOGFILE 2>&1 || /system/bin/reboot "" >> $LOGFILE 2>&1 || setprop sys.powerctl reboot >> $LOGFILE 2>&1
sleep 15
log_handler "Rebooting failed."
echo ""
@ -431,16 +426,20 @@ force_reboot() {
# Updates placeholders
placeholder_update() {
FILEVALUE=$(get_file_value $1 "${2}PH=")
log_handler "Checking for ${3} in ${1}."
if [ "$FILEVALUE" ]; then
case $FILEVALUE in
*PLACEHOLDER*) replace_fn $2 $3 $4 $1 "placeholder"
log_handler "Placeholder ${3} updated to ${4} in ${1}."
;;
esac
if [ -f "$1" ]; then
FILEVALUE=$(get_file_value "$1" "${2}PH=")
if [ "$FILEVALUE" ]; then
case $FILEVALUE in
*PLACEHOLDER*) replace_fn $2 $3 $4 $1 "placeholder"
log_handler "Placeholder ${3} updated to ${4} in ${1}."
;;
esac
else
log_handler "No placeholder to update for ${2} in ${1}."
fi
else
log_handler "No placeholder to update for ${2} in ${1}."
log_handler "$1 does not exist."
fi
}
@ -517,34 +516,18 @@ after_change() {
. $LATEFILE
else
# Update the reboot variable
reboot_chk
replace_fn REBOOTCHK 0 1 $LATEFILE
# Load all values
all_values
# Update the system.prop file
system_prop
if [ "$3" != "noreboot" ] && [ -z "$INSTFN" ]; then
if [ "$3" != "noreboot" ] && [ ! "$INSTFN" ]; then
# Ask to reboot
reboot_fn "$1" "$2"
fi
fi
}
# Run after editing prop files
after_change_propfile() {
# Update the reboot variable
reboot_chk
# Load all values
INPUT=""
all_values
# Ask to reboot
reboot_fn "$1" "$2"
}
# Check if module needs a reboot
reboot_chk() {
replace_fn REBOOTCHK 0 1 $LATEFILE
}
# Reboot function
reboot_fn() {
INPUT5=""
@ -578,8 +561,7 @@ reboot_fn() {
read -r INPUT5
fi
case "$INPUT5" in
y|Y)
force_reboot
y|Y) force_reboot
;;
n|N)
if [ "$2" == "p" ] || [ "$2" == "r" ] || [ "$2" == "reset-script" ]; then
@ -600,7 +582,7 @@ reboot_fn() {
exit_fn
fi
;;
*) invalid_input $INV1 5
*) invalid_input $INV1 5
;;
esac
done
@ -830,6 +812,9 @@ config_file() {
rm -f $ITEM
done
log_handler "Configuration file import complete."
if [ "$BOOTSTAGE" == "late" ]; then
force_reboot
fi
else
log_handler "No configuration file."
fi
@ -842,11 +827,9 @@ test_connection() {
# system.prop creation
system_prop() {
rm -f $MODPATH/system.prop
if [ "$OPTIONBOOT" == 0 ]; then
log_handler "Creating system.prop file."
touch $MODPATH/system.prop >> $LOGFILE 2>&1
echo -e "# This file will be read by resetprop\n\n# MagiskHide Props Config\n# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers\n# Licence: MIT\n" >> $MODPATH/system.prop
echo -e "# This file will be read by resetprop\n\n# MagiskHide Props Config\n# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers\n# Licence: MIT\n" > $MODPATH/system.prop
if [ "$PRINTSTAGE" == 0 ]; then
print_edit "$MODPATH/system.prop"
fi
@ -899,6 +882,7 @@ script_placement() {
log_print "- Installing scripts"
cp -af $TMPDIR/util_functions.sh $MODPATH/util_functions.sh >> $LOGFILE 2>&1
cp -af $TMPDIR/prints.sh $MODPATH/prints.sh >> $LOGFILE 2>&1
cp -af $TMPDIR/post-fs-data_back $MODPATH/post-fs-data_back >> $LOGFILE 2>&1
cp -af $UPDATELATEFILE $MODPATH/propsconf_late >> $LOGFILE 2>&1
if [ "$FILEV" ]; then
# New script
@ -939,6 +923,9 @@ script_placement() {
if [ "$SOLD" ] && [ "$SOLD" != "$SNEW" ]; then
log_handler "Setting ${ITEM} from ${SNEW} to ${SOLD}."
sed -i "s|${ITEM}=${SNEW}|${ITEM}=${SOLD}|" $UPDATELATEFILE
if [ "$ITEM" == "OPTIONBACK" -a "$SNEW" == 1 ]; then
sed -i -e "s|^{|\#anch0}|;s|^\#anch1|{|;s|regular|background|" $TMPDIR/post-fs-data.sh
fi
fi
fi
done
@ -1043,9 +1030,9 @@ files_check() {
rm -f $ITEM
fi
done
if [ -f "" ]; then
if [ -f "$PRINTFILES/custom.sh" ]; then
log_handler "Removing broken custom.sh file."
$PRINTFILES/custom.sh
rm -f $PRINTFILES/custom.sh
fi
}
@ -1085,11 +1072,11 @@ script_install() {
files_check
script_placement
log_print "- Updating placeholders"
placeholder_update $TMPDIR/post-fs-data.sh MODVERSION VER_PLACEHOLDER "$MODVERSION"
placeholder_update $TMPDIR/post-fs-data.sh LATEFILE LATE_PLACEHOLDER "$LATEFILE"
placeholder_update $MODPATH/post-fs-data_back MODVERSION VER_PLACEHOLDER "$MODVERSION"
placeholder_update $MODPATH/post-fs-data_back LATEFILE LATE_PLACEHOLDER "$LATEFILE"
placeholder_update $MODPATH/util_functions.sh MODVERSION VER_PLACEHOLDER "$MODVERSION"
placeholder_update $MODPATH/util_functions.sh LATEFILE LATE_PLACEHOLDER "$LATEFILE"
placeholder_update $MODPATH/util_functions.sh MIRRORLOC MIRROR_PLACEHOLDER "$MIRRORLOC"
placeholder_update $MODPATH/util_functions.sh VENDLOC VEND_PLACEHOLDER "$VENDLOC"
placeholder_update $MODPATH/util_functions.sh CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
placeholder_update $MODPATH/util_functions.sh BIN BIN_PLACEHOLDER "$BIN"
placeholder_update $MODPATH/system/$BIN/props ADBPATH ADB_PLACEHOLDER "$ADBPATH"
placeholder_update $MODPATH/system/$BIN/props LATEFILE LATE_PLACEHOLDER "$LATEFILE"
@ -1289,7 +1276,7 @@ download_prints() {
if [ -s "$PRINTSTMP" ]; then
LISTVERSION=$(get_file_value $PRINTSTMP "PRINTSV=")
if [ "$LISTVERSION" ]; then
if [ "$LISTVERSION" == "Dev" ] || [ "$LISTVERSION" -gt "$(get_file_value $PRINTSLOC "PRINTSV=")" ]; then
if [ "$LISTVERSION" == "Dev" ] || [ "$1" == "f" -a "$(get_file_value $PRINTSLOC "PRINTSV=")" == "Dev" ] || [ "$LISTVERSION" -gt "$(get_file_value $PRINTSLOC "PRINTSV=")" ]; then
module_v_ctrl
if [ "$(get_file_value $PRINTSTMP "PRINTSTRANSF=")" -le $VERSIONCMP ]; then
mv -f $PRINTSTMP $PRINTSLOC >> $LOGFILE 2>&1
@ -1702,31 +1689,6 @@ set_custprop() {
replace_fn $ITEM "\"$CURRCUSTPROPS\"" "\"$SORTCUSTPROPS\"" $LATEFILE
replace_fn CUSTOMEDIT 0 1 $LATEFILE
DLIMTMP=$(($DLIMTMP + 1))
# if [ "$ITEM" == "CUSTOMPROPSLATE" ] && [ "$(get_file_value $LATEFILE "CUSTOMEDIT=")" == 1 ]; then
# case "$CURRCUSTPROPS" in
# *$1*) #Do nothing when the prop already exists
# ;;
# *)
# CUSTOMPROPSLATE=$(get_file_value $LATEFILE "${ITEM}=")
# CNTLITEM=1
# FNDLITEM=0
# for LITEM in $CUSTOMPROPSLATE
# case "$CUSTOMPROPSLATE" in
# *$1*)
# $FNDLITEM=1
# break
# ;;
# esac
# CNTLITEM=$(($CNTLITEM + 1))
# done
# if [ "$FNDLITEM" == 1 ]; then
# CUSTOMPROPSDELAY=$(get_file_value $LATEFILE "CUSTOMPROPSDELAY=")
# replace_fn CUSTOMPROPSDELAY "$CUSTOMPROPSDELAY" "$(echo "$CUSTOMPROPSDELAY" | cut -f 1-$CNTLITEM -d ';');0;$(echo "$CUSTOMPROPSDELAY" | cut -f $(($CNTLITEM + 1))- -d ';')" $LATEFILE
# fi
# ;;
# esac
# fi
done
after_change "$1" "$4"
@ -1852,7 +1814,8 @@ collect_logs() {
done
# Saving the current prop values
resetprop > $TMPLOGLOC/props.txt
resetprop > $TMPLOGLOC/currentprops
sed -i -e "s|\]\:\ \[|=|g;s|^\[||g;s|\]$||g" $TMPLOGLOC/currentprops
# Saving the log file
cp -af $MHPCPATH/propsconf.log $TMPLOGLOC >> $LOGFILE 2>&1
@ -1863,7 +1826,7 @@ collect_logs() {
# Copy package to internal storage
mv -f $MHPCPATH/propslogs.tar.gz /storage/emulated/0 >> $LOGFILE 2>&1
# Remove temporary directory
rm -rf $TMPLOGLOC >> $LOGFILE 2>&1
@ -1877,8 +1840,11 @@ collect_logs() {
echo ""
echo "The packaged file has been saved to the"
echo "root of your device's internal storage."
echo "If it did not, please see the documentation"
echo "for details on how to collect the logs"
echo "manually."
echo ""
echo "Attach the file to a post in the support"
echo "Attach the file(s) to a post in the support"
echo "thread @ XDA, with a detailed description"
echo "of your issue."
echo ""
@ -1897,5 +1863,4 @@ collect_logs() {
# Log print
if [ "$BOOTSTAGE" != "post" ]; then
log_handler "Functions loaded."
bb_check
fi

View File

@ -36,10 +36,10 @@ set_permissions() {
##########################################################################################
print_modname() {
ui_print "*******************************"
ui_print "MagiskHide Props Config $(grep "version=" $TMPDIR/module.prop | sed 's|.*=||' | sed 's|-.*||')"
ui_print " By Didgeridoohan @XDA"
ui_print "*******************************"
ui_print " *******************************"
ui_print " MagiskHide Props Config $(grep "version=" $TMPDIR/module.prop | sed 's|.*=||' | sed 's|-.*||')"
ui_print " By Didgeridoohan @XDA"
ui_print " *******************************"
# Load functions and variables
INSTFN=true
@ -49,7 +49,12 @@ print_modname() {
mkdir -pv $MHPCPATH
# Start module installation log
log_start
echo "***************************************************" > $LOGFILE 2>&1
echo "********* MagiskHide Props Config $MODVERSION ********" >> $LOGFILE 2>&1
echo "***************** By Didgeridoohan ***************" >> $LOGFILE 2>&1
echo "***************************************************" >> $LOGFILE 2>&1
log_handler "Starting module installation script"
# Check Magisk version
if [ $MAGISK_VER_CODE -lt 19000 ]; then
ui_print ""

View File

@ -1,6 +1,6 @@
id=MagiskHidePropsConf
name=MagiskHide Props Config
version=v5.0.1-v65
versionCode=49
version=v5.1.0-v66
versionCode=50
author=Didgeridoohan
description=Change your device's fingerprint, to pass SafetyNet's CTS Profile check. Set/reset prop values set by MagiskHide. Change any prop values easily, and set your own custom props.

Binary file not shown.

View File

@ -8,6 +8,7 @@
# together with a few module files in /cache.
MODPATH=${0%/*}
BOOTSTAGE="post"
# Load functions
. $MODPATH/util_functions.sh