From 37d57ad3bbf750245888c9536d0609c4efdca12d Mon Sep 17 00:00:00 2001 From: Didgeridoohan Date: Fri, 22 Nov 2019 20:19:18 +0100 Subject: [PATCH] v5.1.0-v66 --- README.md | 75 +++++++++++-- common/post-fs-data.sh | 225 ++++++++++++++++++++------------------- common/prints.sh | 35 +++--- common/propsconf_conf | 15 +-- common/propsconf_late | 3 +- common/service.sh | 40 +++++-- common/util_functions.sh | 219 ++++++++++++++++--------------------- install.sh | 15 ++- module.prop | 4 +- system/binpath/props | Bin 66219 -> 64920 bytes uninstall.sh | 1 + 11 files changed, 354 insertions(+), 278 deletions(-) diff --git a/README.md b/README.md index 5b9c044..50f40af 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/common/post-fs-data.sh b/common/post-fs-data.sh index 6f38cb3..ef15a1d 100644 --- a/common/post-fs-data.sh +++ b/common/post-fs-data.sh @@ -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 \ No newline at end of file + # Deletes the post-fs-data control file + rm -f $MHPCPATH/propsconf_postchk +} & diff --git a/common/prints.sh b/common/prints.sh index 69611cc..4883084 100644 --- a/common/prints.sh +++ b/common/prints.sh @@ -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 diff --git a/common/propsconf_conf b/common/propsconf_conf index 6270fc7..0fee32b 100644 --- a/common/propsconf_conf +++ b/common/propsconf_conf @@ -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". diff --git a/common/propsconf_late b/common/propsconf_late index e7b30ab..0fade70 100644 --- a/common/propsconf_late +++ b/common/propsconf_late @@ -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 diff --git a/common/service.sh b/common/service.sh index dd41407..ede42fb 100644 --- a/common/service.sh +++ b/common/service.sh @@ -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." diff --git a/common/util_functions.sh b/common/util_functions.sh index dbe8d19..c94c1c9 100644 --- a/common/util_functions.sh +++ b/common/util_functions.sh @@ -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 diff --git a/install.sh b/install.sh index 22b2bb0..a834ff3 100644 --- a/install.sh +++ b/install.sh @@ -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 "" diff --git a/module.prop b/module.prop index 279f215..2d52b4c 100644 --- a/module.prop +++ b/module.prop @@ -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. diff --git a/system/binpath/props b/system/binpath/props index cf54b4d76ebfef11d07a8f4a0f513e582c794476..0f765d1c42724cc09d0720db9558a9bded39b9f3 100644 GIT binary patch delta 2273 zcmc&#Z)_7~7*ESacQ8sf1{*`RcgL}{9ql$8qU#E5UFW*N)@-dntjt^cw!P5ZHFsBK z*^R|bM*N`BJ%r3JMq*IWDAPkQF+@Xzz!$S%kW4?|{P&T}sEG+0eD7`@9fBby#xH%| z_xX3f=l4AC(|3>LP2E~HeZXQBcr+wrL=?l%a8azLEa%GMc4;A0?x*15C(R(dYy~H6 zHM>~YLD#_BV+dv|iePSRBfLl3z&dV$3-lJ)eZ~itKpBk2^I<+#2s2;<+wl_kqa3Ma z49{YCt6GlwHfZW_4f76aGMZpO+y&D=2ERW+RxoN}#UB z3g3=Zz|?Uo>~fS7i!i zZGl0hmxiYCPK|uiHuww>gzDSjtQEnH`uEq_6Ikv~iySZa$2cjSVuuj3)d3AV%GK!x zUyyWqt%Vv=_7j9~<483e3zxzV6Pw}WxUD_Nq+PVn{Y?g{r2gygc+idYd7 zWlt~^=;=1xAboj#zMcw>U3S9UHT&8KpW-ALaauCNb+5k_&M*4SU9Km74~??vbc(~V z2p{M81Qzv`ksB2bwzY)(Iy=T(Z*x$Cn9uYJX_*uF1^oA}UaR8{d*t?aw@RHQd4C+r z82!~O-Tu8^TEvM=iWO<7z3Ryg$m;c#vFM$X2C8Pao0*4U!&l##nFc`DtISLzbY4fJ zTpT?~3MPMXUT>Cjtppl9MpXo$OQOMX(=!@MlEzC&7LY6sHAQ&TX3RM9$M%twIOZlgUy>!$u`t;(OO6tj zWj#<3(H(k->tZiaoR~=6x$lA4?P7-4)oD>kOOcH{iVA~+EO|H2a&l6)xFlpumqY#f trroqWo)Jl&59fb0nGsTd`Z=u2=3lTW57BX2J@M7pT1f@gCx*E7fA?+D42c4}BrR3~Yx-67evK09s-I$?Gida7VC- zmm?ae`KmC*&BDfc1d|nM!Z+n-Qe)Dti%a{KK}vf~e-!G+cf;Kea$&+)pfvR~n2Z`Y zVJd;5@?2Okw!&*w7%o<2W;QfL$kX4Z!}+2D08`nf!;_m1gkzkdtDDt8(`-3h+g~^m zD;}kjR6N<9L_G73;>qh0#FOn7ToPT4MDg;Kb(FE26;4*nro;$WA1B;or6gR*!BVkb zlvTN)t$GUH)fRxeDhJ%lIlHAslL^bkuY(geini}28YZbAvOS3)bvp_ouS*c59zR+) z1yHE3LTuQzNFsrge#|t z1y4=04W65;KO8+DwGx3rsw;!=^Ue0o_AZNEG*-urlI;45>7YzIw5qRl5*_Z1~#e{M2-@-d=b{So(&xn>76^k zCUk_HdhGV1emElX1{0AZ0zds}dUU9CDU_R?n%4>MOx!9H0w4a7@n05QHCq5b;yq%~ z|C+~=-c|kMDY{EQkGJT(pWv;c)BFEX(XY-Mvfv0)2-6?yr&!I@g-qeMYZVHx zUda>Q{BlTfgmX9p-pFx`yPP35$Rp{I!}K_A?r87m?zA7Xi-)3gc$kf9AMuABfgsNY z{G7DWa8Azv!tlmIAq+3l$zRlFagK1%#qdOWv%Ihu(y#9lRuPnUt-~%jdPqODnwv^bb03`i{4Cu4 zI!kN!5X40%g(T82v$_w?+);w&baR00oi4#e`4UejdaDZ=EU zK2Ow#rW!z41YkK>SoyX*ia-KaMq^%7TQ4{CEqKKmjr(WLOrMvoqBvq0Hyh&k${s&` mrb~n`?w2Wq?|=ACp->Aqf9j6>;h%{@c>9+DrSSWMY1KcDc2B