v3.5.1-v50

This commit is contained in:
Didgeridoohan 2019-04-02 21:42:29 +02:00 committed by GitHub
parent 6284eea4d0
commit c4615b39a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 167 additions and 79 deletions

View File

@ -150,7 +150,7 @@ NOTE: If you're using a fingerprint for an Android build after March 16th 2018 y
### I still can't pass the ctsProfile check ### I still can't pass the ctsProfile check
If you've picked a certified fingerprint from the provided list, or you're using a fingerprint that you know is certified but still can't pass the ctsProfile check, try one or more of the following: If you've picked a certified fingerprint from the provided list, or you're using a fingerprint that you know is certified but still can't pass the ctsProfile check, try one or more of the following:
- First, do you pass basicIntegrity? If you don't, there's something else going on that this module can't help you with. Take a look under ["Miscellaneous MagiskHide issues"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#miscellaneous-magiskhide-issues) below. - First, do you pass basicIntegrity? If you don't, there's something else going on that this module can't help you with. Take a look under ["Miscellaneous MagiskHide issues"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#miscellaneous-magiskhide-issues) below.
- Go into the script options and make sure the execution of the boot script is in post-fs-data. See ["Boot stage"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config#boot-stage) below. - Go to the "Edit fingerprints menu", select "Boot stages", and start by changing the security patch date boot stage to either default or post-fs-data. If that doesn't work, also try changing the fingerprint boot stage to post-fs-data. The default boot stage can also be changed if you go into the script options and change the boot stage to post-fs-data. See ["Boot stage"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config#boot-stage) below.
- Try a different fingerprint (pick one from the provided list). - Try a different fingerprint (pick one from the provided list).
- If you're not using one of the fingerprints provided in the module, make sure you have a matching security patch date set in [Custom props](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values). See ["Matching the Android security patch date"](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#matching-the-android-security-patch-date) above. - If you're not using one of the fingerprints provided in the module, make sure you have a matching security patch date set in [Custom props](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values). See ["Matching the Android security patch date"](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#matching-the-android-security-patch-date) above.
- Some ROMs will just not be able to pass the ctsProfile check, if they contain signs of a rooted/modified device that Magisk can't hide, or that they are built in a way that makes it impossible to pass SafetyNet. Check in your ROM thread or with the creator/developer. - Some ROMs will just not be able to pass the ctsProfile check, if they contain signs of a rooted/modified device that Magisk can't hide, or that they are built in a way that makes it impossible to pass SafetyNet. Check in your ROM thread or with the creator/developer.
@ -176,7 +176,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) 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 - v49_** **_Current fingerprints list version - v50_**
## Please add support for device X ## Please add support for device X
@ -194,6 +194,8 @@ You can enter the fingerprint manually in the `Edit device fingerprint` menu in
## Device simulation ## Device simulation
**_NOTE! This feature is not needed to pass SafetyNet's CTS profile test and may even cause issues. Only enable it if you actually need it!_**
If you want to simulate a specific device (to get access to device specific apps in the Play store, as an example), you can activate this option. It will pull information from the currently used fingerprint (has to be set by the module) and use this to set a few certain props to these values. The props that are set are (currently): If you want to simulate a specific device (to get access to device specific apps in the Play store, as an example), you can activate this option. It will pull information from the currently used fingerprint (has to be set by the module) and use this to set a few certain props to these values. The props that are set are (currently):
- ro.product.brand - ro.product.brand
- ro.product.name - ro.product.name
@ -260,7 +262,9 @@ There are a couple of persistent options that you can set for the `props` script
### Boot stage ### Boot stage
It's possible to move the execution of the boot script from the default system.prop file to either post-fs-data or late_start service. If there are any kind of issues during boot or that props don't set properly, try changing the boot stage to either post-fs-data or late_start service instead. Just keep in mind that this might cause other issues like the fingerprint not setting properly (if set during late_start service) or that post-fs-data will be interupted by having too many props causing the script to run too slow. It's possible to move the execution of the boot script from the default system.prop file to either post-fs-data or late_start service. If there are any kind of issues during boot or that props don't set properly, try changing the boot stage to either post-fs-data or late_start service instead. Just keep in mind that this might cause other issues like the fingerprint not setting properly (if set during late_start service) or that post-fs-data will be interupted by having too many props causing the script to run too slow.
Note: post-fs-data runs earlier than system.prop and late_start service runs after, right at the end of the boot process. It is also possible to set individual props, like fingerprint, security patch date and custom props individualy. There'll be an option under the corresponding menu.
Note: post-fs-data runs earlier than system.prop and late_start service runs after, right at the end of the boot process. Having to many props set in post-fs-data may have an adverse effect on the boot process. Using the default system.prop file or late_start service is prefered if possible.
### Script colours ### Script colours
This option will disable or enable colours for the `props` script. This option will disable or enable colours for the `props` script.
@ -295,7 +299,7 @@ If you have questions, suggestions or are experiencing some kind of issue, visit
### Known issues ### Known issues
- MagiskHide Props Config v2.7.2 and earlier versions won't work on Magisk v18.1-d73127b1(18006) or later, due to internal changes in Magisk. - MagiskHide Props Config v2.7.2 and earlier versions won't work on Magisk v18.1-d73127b1(18006) or later, due to internal changes in Magisk.
- Xiaomi devices (MIUI) sometimes have issues passing the ctsProfile check, particularly China releases. Try using [ShellHide](https://forum.xda-developers.com/apps/magisk/magisk-shellhide-t3855616) by @JayminSuthar together with this module. They might work in conjunction to get the device to pass SafetyNet. This should only be necessary on Magisk releases up to v18.1, due to later versions of Magisk having an updated and improved MagiskHide. - Xiaomi devices (MIUI) sometimes have issues passing the ctsProfile check on Magisk releases up to v18.1, particularly China ROMs. Try updating to a newer Magisk version, since MagiskHide has been greatly improved since v18.1.
- If you're on Android Pie you will have to use Magisk v17.2+. Any version prior to that will not be able to change the required prop values. This is because of a change in Android Pie, and with Magisk v17.2 the resetprop tool was updated for this change. - If you're on Android Pie you will have to use Magisk v17.2+. Any version prior to that will not be able to change the required prop values. This is because of a change in Android Pie, and with Magisk v17.2 the resetprop tool was updated for this change.
### An option is marked as "disabled" ### An option is marked as "disabled"
@ -358,7 +362,13 @@ Releases from v2.4.1 are compatible with Magisk v17+.
## Changelog ## Changelog
### v3.5.0 ### v3.5.1
- Fix a few bugs causing props not setting properly at boot in some cases when using the system.prop boot stage.
- Moved ro.build.version.security_patch to late_start service by default, so as not to cause issues for devices with Keymaster 4 (possible source of bootloops). Thank you @Nebrassy.
- Added an option to change security patch date boot stage under "Edit device fingerprint" boot stages.
- Added a new fingerprint for the Xiaomi Redmi Note7 and an updated one for Motorola Moto G6 Play. Fingerprints list updated to v50.
### v3.5.0
- Added ro.build.version.sdk to the device simulation props (see the documentation for details). - Added ro.build.version.sdk to the device simulation props (see the documentation for details).
- Updated editing the device fingerprint feature so that fingerprints for different Android versions can be added to the fingerprints list and the user can pick the desired one when applying a new fingerprint (see the documentation for details). Several fingerprints have been updated with dual fingerprints. - Updated editing the device fingerprint feature so that fingerprints for different Android versions can be added to the fingerprints list and the user can pick the desired one when applying a new fingerprint (see the documentation for details). Several fingerprints have been updated with dual fingerprints.
- Updated and optimised when props are set during boot. Uses Magisk's system.prop function by default, rather than post-fs-data, to avoid putting a strain on the system during boot. At what boot stage props are set can of course be completely configured by the user (see the documentation for details). - Updated and optimised when props are set during boot. Uses Magisk's system.prop function by default, rather than post-fs-data, to avoid putting a strain on the system during boot. At what boot stage props are set can of course be completely configured by the user (see the documentation for details).
@ -589,7 +599,7 @@ Releases from v2.4.1 are compatible with Magisk v17+.
## Current fingerprints list ## Current fingerprints list
### List v49 ### List v50
- Asus Zenfone 2 Laser (6.0.1) - Asus Zenfone 2 Laser (6.0.1)
- Asus Zenfone 4 Max (7.1.1) - Asus Zenfone 4 Max (7.1.1)
- Asus Zenfone Max M1 (8.0.0) - Asus Zenfone Max M1 (8.0.0)
@ -646,7 +656,7 @@ Releases from v2.4.1 are compatible with Magisk v17+.
- Motorola Moto G5 (7.0) - Motorola Moto G5 (7.0)
- Motorola Moto G5 Plus (7.0) - Motorola Moto G5 Plus (7.0)
- Motorola Moto G5S (7.1.1) - Motorola Moto G5S (7.1.1)
- Motorola Moto G6 Play (8.0.0) - Motorola Moto G6 Play (8.0.0 & 9)
- Motorola Moto X4 (8.0.0) - Motorola Moto X4 (8.0.0)
- Motorola Moto Z2 Play (8.0.0) - Motorola Moto Z2 Play (8.0.0)
- Nextbook Ares 8A (6.0.1) - Nextbook Ares 8A (6.0.1)
@ -750,6 +760,7 @@ Releases from v2.4.1 are compatible with Magisk v17+.
- Xiaomi Redmi Note 5 Pro (8.1.0) - Xiaomi Redmi Note 5 Pro (8.1.0)
- Xiaomi Redmi Note 5A Lite (7.1.2) - Xiaomi Redmi Note 5A Lite (7.1.2)
- Xiaomi Redmi Note 6 Pro (8.1.0) - Xiaomi Redmi Note 6 Pro (8.1.0)
- Xiaomi Redmi Note 7 (9)
- Xiaomi Redmi Y1 (7.1.2) - Xiaomi Redmi Y1 (7.1.2)
- ZTE Axon 7 (7.1.1 & 8.0.0) - ZTE Axon 7 (7.1.1 & 8.0.0)
- ZTE Blade (6.0.1) - ZTE Blade (6.0.1)

View File

@ -5,6 +5,7 @@
# Licence: MIT # Licence: MIT
MODPATH=${0%/*} MODPATH=${0%/*}
BOOTSTAGE="post"
# Load functions # Load functions
. $MODPATH/util_functions.sh . $MODPATH/util_functions.sh
@ -15,6 +16,7 @@ COREPATH=$(dirname "$IMGPATH")
# Start logging # Start logging
log_start log_start
bb_check
# Clears out the script check file # Clears out the script check file
rm -f $RUNFILE rm -f $RUNFILE
@ -67,18 +69,20 @@ fi
# Get default values # Get default values
log_handler "Checking device default values." log_handler "Checking device default values."
curr_values #curr_values
# Get the current original values saved in propsconf_late # Get the current original values saved in propsconf_late
log_handler "Loading currently saved values." #log_handler "Loading currently saved values."
. $LATEFILE #. $LATEFILE
# Save default file values in propsconf_late # Save default file values in propsconf_late
for ITEM in $VALPROPSLIST; do for ITEM in $VALPROPSLIST; do
TMPPROP=$(get_prop_type $ITEM | tr '[:lower:]' '[:upper:]') TMPPROP=$(get_prop_type $ITEM | tr '[:lower:]' '[:upper:]')
ORIGPROP="ORIG${TMPPROP}" ORIGPROP="ORIG${TMPPROP}"
ORIGTMP="$(eval "echo \$$ORIGPROP")" #ORIGTMP="$(eval "echo \$$ORIGPROP")"
ORIGTMP="$(get_file_value $LATEFILE "${ORIGPROP}=")"
CURRPROP="CURR${TMPPROP}" CURRPROP="CURR${TMPPROP}"
CURRTMP="$(eval "echo \$$CURRPROP")" #CURRTMP="$(eval "echo \$$CURRPROP")"
CURRTMP="$(resetprop $ITEM)"
replace_fn $ORIGPROP "\"$ORIGTMP\"" "\"$CURRTMP\"" $LATEFILE replace_fn $ORIGPROP "\"$ORIGTMP\"" "\"$CURRTMP\"" $LATEFILE
done done
log_handler "Default values saved to $LATEFILE." log_handler "Default values saved to $LATEFILE."
@ -90,13 +94,13 @@ for V in $PROPSLIST; do
log_handler "Checking ${V}=${FILEVALUE}" log_handler "Checking ${V}=${FILEVALUE}"
safe_props $V $FILEVALUE safe_props $V $FILEVALUE
if [ "$SAFE" == 0 ]; then if [ "$SAFE" == 0 ]; then
log_handler "Prop $V set to triggering value in prop file." echo "Prop $V set to triggering value in prop file." >> $LOGFILE 2>&1
replace_fn FILESAFE 1 0 $LATEFILE replace_fn FILESAFE 1 0 $LATEFILE
else else
if [ -z "$FILEVALUE" ]; then if [ -z "$FILEVALUE" ]; then
log_handler "Could not retrieve value for prop $V." echo "Could not retrieve value for prop $V." >> $LOGFILE 2>&1
elif [ "$SAFE" == 1 ]; then elif [ "$SAFE" == 1 ]; then
log_handler "Prop $V set to \"safe\" value in prop file." echo "Prop $V set to \"safe\" value in prop file." >> $LOGFILE 2>&1
fi fi
fi fi
done done
@ -107,13 +111,17 @@ done
config_file config_file
# Edits prop values if set for post-fs-data # Edits prop values if set for post-fs-data
echo -e "\n--------------------" >> $LOGFILE 2>&1 echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in post-fs-data mode." log_handler "Editing prop values in post-fs-data mode."
if [ "$OPTIONBOOT" == 1 ]; then if [ "$OPTIONBOOT" == 1 ]; then
# ---Setting/Changing fingerprint--- # ---Setting/Changing fingerprint---
if [ "$PRINTSTAGE" == 0 ]; then if [ "$PRINTSTAGE" == 0 ]; then
print_edit print_edit
fi fi
# ---Setting/Changing security patch date---
if [ "$PATCHSTAGE" == 0 ]; then
patch_edit
fi
# ---Setting device simulation props--- # ---Setting device simulation props---
if [ "$SIMSTAGE" == 0 ]; then if [ "$SIMSTAGE" == 0 ]; then
dev_sim_edit dev_sim_edit
@ -125,6 +133,10 @@ fi
if [ "$OPTIONBOOT" != 1 ] && [ "$PRINTSTAGE" == 1 ]; then if [ "$OPTIONBOOT" != 1 ] && [ "$PRINTSTAGE" == 1 ]; then
print_edit print_edit
fi 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 # Edit simulation props if set for post-fs-data
if [ "$OPTIONBOOT" != 1 ] && [ "$SIMSTAGE" == 1 ]; then if [ "$OPTIONBOOT" != 1 ] && [ "$SIMSTAGE" == 1 ]; then
dev_sim_edit dev_sim_edit
@ -133,7 +145,7 @@ fi
custom_edit "CUSTOMPROPSPOST" custom_edit "CUSTOMPROPSPOST"
# Deleting props # Deleting props
prop_del prop_del
echo -e "\n--------------------" >> $LOGFILE 2>&1 echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
# Edits build.prop # Edits build.prop
if [ "$FILESAFE" == 0 ]; then if [ "$FILESAFE" == 0 ]; then

View File

@ -4,7 +4,7 @@
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers # Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
# Licence: MIT # Licence: MIT
PRINTSV=49 PRINTSV=50
PRINTSTRANSF=350 PRINTSTRANSF=350
# Certified fingerprints # Certified fingerprints
@ -64,8 +64,8 @@ Motorola Moto E5 Plus (8.0.0)=motorola/hannah_sprint/hannah:8.0.0/OCPS27.91-32-4
Motorola Moto G4 (7.0)=motorola/athene/athene:7.0/NPJS25.93-14-13/3:user/release-keys Motorola Moto G4 (7.0)=motorola/athene/athene:7.0/NPJS25.93-14-13/3:user/release-keys
Motorola Moto G5 (7.0)=motorola/cedric/cedric:7.0/NPPS25.137-15-11/11:user/release-keys Motorola Moto G5 (7.0)=motorola/cedric/cedric:7.0/NPPS25.137-15-11/11:user/release-keys
Motorola Moto G5 Plus (7.0)=motorola/potter_n/potter_n:7.0/NPNS25.137-33-11/11:user/release-keys Motorola Moto G5 Plus (7.0)=motorola/potter_n/potter_n:7.0/NPNS25.137-33-11/11:user/release-keys
Motorola Moto G5S (7.1.1 & 8.1.0)=motorola/montana/montana:7.1.1/NPPS26.102-49-8/6:user/release-keys Motorola Moto G5S (7.1.1)=motorola/montana/montana:7.1.1/NPPS26.102-49-8/6:user/release-keys
Motorola Moto G6 Play (8.0.0)=motorola/jeter_sprint/jeter:8.0.0/OCP27.91-23/23:user/release-keys Motorola Moto G6 Play (8.0.0 & 9)=motorola/jeter_sprint/jeter:8.0.0/OCP27.91-23/23:user/release-keys;motorola/aljeter/aljeter:9/PPP29.55-25/08c6:user/release-keys__2019-01-01
Motorola Moto X4 (8.0.0)=motorola/payton/payton:8.0.0/OPWS27.57-25-6-10/12:user/release-keys Motorola Moto X4 (8.0.0)=motorola/payton/payton:8.0.0/OPWS27.57-25-6-10/12:user/release-keys
Motorola Moto Z2 Play (8.0.0)=motorola/albus/albus:8.0.0/OPS27.76-12-25/26:user/release-keys Motorola Moto Z2 Play (8.0.0)=motorola/albus/albus:8.0.0/OPS27.76-12-25/26:user/release-keys
Nextbook Ares 8A (6.0.1)=NextBook/NX16A8116K/NX16A8116K:6.0.1/MMB29M/V4.0.3:user/release-keys Nextbook Ares 8A (6.0.1)=NextBook/NX16A8116K/NX16A8116K:6.0.1/MMB29M/V4.0.3:user/release-keys
@ -165,10 +165,11 @@ Xiaomi Redmi Note 2 (5.0.2)=Xiaomi/hermes/hermes:5.0.2/LRX22G/V9.2.4.0.LHMMIEK:u
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 (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 Xiaomi Redmi Note 3 Pro SE (6.0.1)=Xiaomi/kate/kate:6.0.1/MMB29M/V8.1.3.0.MHRMIDI:user/release-keys
Xiaomi Redmi Note 4/4X (7.0)=xiaomi/mido/mido:7.0/NRD90M/V9.2.1.0.NCFMIEK:user/release-keys Xiaomi Redmi Note 4/4X (7.0)=xiaomi/mido/mido:7.0/NRD90M/V9.2.1.0.NCFMIEK:user/release-keys
Xiaomi Redmi Note 5/5 Plus (7.1.2)=xiaomi/vince/vince:7.1.2/N2G47H/V9.5.4.0.NEGMIFA:user/release-keys Xiaomi Redmi Note 5/5 Plus (7.1.2)=xiaomi/vince/vince:7.1.2/N2G47H/V9.5.4.0.NEGMIFA:user/release-keys;
Xiaomi Redmi Note 5 Pro (8.1.0)=xiaomi/whyred/whyred:8.1.0/OPM1.171019.011/V10.0.6.0.OEIMIFH:user/release-keys__2018-11-01 Xiaomi Redmi Note 5 Pro (8.1.0)=xiaomi/whyred/whyred:8.1.0/OPM1.171019.011/V10.0.6.0.OEIMIFH:user/release-keys__2018-11-01
Xiaomi Redmi Note 5A Lite (7.1.2)=xiaomi/ugglite/ugglite:7.1.2/N2G47H/V9.1.2.0.NDFMIEI:user/release-keys Xiaomi Redmi Note 5A Lite (7.1.2)=xiaomi/ugglite/ugglite:7.1.2/N2G47H/V9.1.2.0.NDFMIEI:user/release-keys
Xiaomi Redmi Note 6 Pro (8.1.0)=xiaomi/tulip/tulip:8.1.0/OPM1.171019.011/V10.0.5.0.OEKMIFH:user/release-keys__2018-10-01 Xiaomi Redmi Note 6 Pro (8.1.0)=xiaomi/tulip/tulip:8.1.0/OPM1.171019.011/V10.0.5.0.OEKMIFH:user/release-keys__2018-10-01
Xiaomi Redmi Note 7 (9)=xiaomi/lavender/lavender:9/PKQ1.180904.001/V10.2.7.0.PFGINXM:user/release-keys__2019-02-05
Xiaomi Redmi Y1 (7.1.2)=xiaomi/ugg/ugg:7.1.2/N2G47H/V9.6.2.0.NDKMIFD:user/release-keys__2018-07-01 Xiaomi Redmi Y1 (7.1.2)=xiaomi/ugg/ugg:7.1.2/N2G47H/V9.6.2.0.NDKMIFD:user/release-keys__2018-07-01
ZTE Axon 7 (7.1.1 & 8.0.0)=ZTE/P996A01_N/ailsa_ii:7.1.1/NMF26V/20171211.005949:user/release-keys;ZTE/P996A01_O/ailsa_ii:8.0.0/OPR1.170623.032/20180815.171922:user/release-keys__2018-07-01 ZTE Axon 7 (7.1.1 & 8.0.0)=ZTE/P996A01_N/ailsa_ii:7.1.1/NMF26V/20171211.005949:user/release-keys;ZTE/P996A01_O/ailsa_ii:8.0.0/OPR1.170623.032/20180815.171922:user/release-keys__2018-07-01
ZTE Blade (6.0.1)=ZTE/P809A50_MY_MAX/P809A50:6.0.1/MMB29M/20161017.095504:user/release-keys ZTE Blade (6.0.1)=ZTE/P809A50_MY_MAX/P809A50:6.0.1/MMB29M/20161017.095504:user/release-keys

View File

@ -5,12 +5,13 @@
# Licence: MIT # Licence: MIT
# Required module version. Do not edit this value! # Required module version. Do not edit this value!
CONFTRANSF=350 CONFTRANSF=351
# Device fingerprint # Device fingerprint
CONFFINGERPRINT="" CONFFINGERPRINT=""
CONFVENDPRINT=false CONFVENDPRINT=false
CONFPRINTBOOT=default CONFPRINTBOOT=default
CONFPATCHBOOT=late
# Device simulation # Device simulation
CONFDEVSIM=false CONFDEVSIM=false
@ -91,6 +92,12 @@ CONFUPDATE=true
# If the setting is changed to "post" or "late", the props will be set during either # If the setting is changed to "post" or "late", the props will be set during either
# post-fs-data or late_start service mode. This is useful if props don't seem to set # 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. # 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
# Keymaster 4 (bootloops). If the prop doesn't seem to set properly, try changing the stage.
# CONFDEVSIM and the following CONFBRAND, CONFNAME, CONFDEVICE, CONFRELEASE # CONFDEVSIM and the following CONFBRAND, CONFNAME, CONFDEVICE, CONFRELEASE
# CONFID, CONFINCREMENTAL, CONFDESCRIPTION and CONFSDK are used to set a number # CONFID, CONFINCREMENTAL, CONFDESCRIPTION and CONFSDK are used to set a number

View File

@ -10,7 +10,7 @@
# In that case, feel free to delete it. # In that case, feel free to delete it.
# Script version # Script version
SCRIPTV=24 SCRIPTV=25
SETTRANSF=2 SETTRANSF=2
NOTTRANSF="" NOTTRANSF=""
@ -45,6 +45,7 @@ DELEDIT=0
# Boot stages # Boot stages
PRINTSTAGE=0 PRINTSTAGE=0
PATCHSTAGE=2
SIMSTAGE=0 SIMSTAGE=0
# Script settings # Script settings

View File

@ -5,6 +5,7 @@
# Licence: MIT # Licence: MIT
MODPATH=${0%/*} MODPATH=${0%/*}
BOOTSTAGE="late"
# Load functions # Load functions
. $MODPATH/util_functions.sh . $MODPATH/util_functions.sh
@ -18,13 +19,17 @@ fi
log_script_chk "Running service.sh module script." log_script_chk "Running service.sh module script."
# Edits prop values if set for late_start service # Edits prop values if set for late_start service
echo -e "\n--------------------" >> $LOGFILE 2>&1 echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in late_start service mode." log_handler "Editing prop values in late_start service mode."
if [ "$OPTIONBOOT" == 2 ]; then if [ "$OPTIONBOOT" == 2 ]; then
# ---Setting/Changing fingerprint--- # ---Setting/Changing fingerprint---
if [ "$PRINTSTAGE" == 0 ]; then if [ "$PRINTSTAGE" == 0 ]; then
print_edit print_edit
fi fi
# ---Setting/Changing security patch date---
if [ "$PATCHSTAGE" == 0 ]; then
patch_edit
fi
# ---Setting device simulation props--- # ---Setting device simulation props---
if [ "$SIMSTAGE" == 0 ]; then if [ "$SIMSTAGE" == 0 ]; then
dev_sim_edit dev_sim_edit
@ -36,6 +41,10 @@ fi
if [ "$OPTIONBOOT" != 2 ] && [ "$PRINTSTAGE" == 2 ]; then if [ "$OPTIONBOOT" != 2 ] && [ "$PRINTSTAGE" == 2 ]; then
print_edit print_edit
fi fi
# Edit security patch date if set for late_start service
if [ "$OPTIONBOOT" != 2 ] && [ "$PATCHSTAGE" == 2 ]; then
patch_edit
fi
# Edit simulation props if set for late_start service # Edit simulation props if set for late_start service
if [ "$OPTIONBOOT" != 2 ] && [ "$SIMSTAGE" == 2 ]; then if [ "$OPTIONBOOT" != 2 ] && [ "$SIMSTAGE" == 2 ]; then
dev_sim_edit dev_sim_edit
@ -55,7 +64,7 @@ if [ "$PROPEDIT" == 1 ]; then
fi fi
done done
fi fi
echo -e "\n--------------------" >> $LOGFILE 2>&1 echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
# ---Edits default.prop--- # ---Edits default.prop---
if [ "$DEFAULTEDIT" == 1 ] && [ "$FILESAFE" == 0 ]; then if [ "$DEFAULTEDIT" == 1 ] && [ "$FILESAFE" == 0 ]; then
@ -70,5 +79,7 @@ fi
# Get currently saved values # Get currently saved values
log_handler "Checking current values." log_handler "Checking current values."
curr_values 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.\n\n=================="

View File

@ -62,6 +62,7 @@ if [ "$INSTFN" ]; then
CUSTOMEDIT CUSTOMEDIT
DELEDIT DELEDIT
PRINTSTAGE PRINTSTAGE
PATCHSTAGE
SIMSTAGE SIMSTAGE
OPTIONBOOT OPTIONBOOT
OPTIONCOLOUR OPTIONCOLOUR
@ -306,6 +307,16 @@ module_v_ctrl() {
VERSIONCMP=$(echo $VERSIONTMP | sed 's|v||g' | sed 's|-.*||' | sed 's|\.||g') VERSIONCMP=$(echo $VERSIONTMP | sed 's|v||g' | sed 's|-.*||' | sed 's|\.||g')
} }
# 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 # Find prop type
get_prop_type() { get_prop_type() {
if [ "$1" == "ro.vendor.build.fingerprint" ]; then if [ "$1" == "ro.vendor.build.fingerprint" ]; then
@ -504,12 +515,14 @@ after_change() {
all_values all_values
# Update the system.prop file # Update the system.prop file
system_prop system_prop
# Ask to reboot if [ "$4" != "noreboot" ]; then
reboot_fn "$1" "$2" # Ask to reboot
reboot_fn "$1" "$2"
fi
fi fi
} }
# Run after changing props/settings with configuration file # Run after editing prop files
after_change_propfile() { after_change_propfile() {
# Update the reboot variable # Update the reboot variable
reboot_chk reboot_chk
@ -599,12 +612,7 @@ reset_fn() {
placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC" placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH" placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
if [ "$1" != "post" ]; then after_change "$1" "$2"
# Update the reboot variable
reboot_chk
# Update all prop value variables
all_values
fi
} }
# Checks for configuration file # Checks for configuration file
@ -697,6 +705,18 @@ config_file() {
fi fi
replace_fn PRINTSTAGE $PRINTSTAGE $OPTLCHNG $LATEFILE replace_fn PRINTSTAGE $PRINTSTAGE $OPTLCHNG $LATEFILE
log_handler "Fingerprint boot stage is ${TMPTXT}." log_handler "Fingerprint boot stage is ${TMPTXT}."
if [ "$CONFPATCHBOOT" == "default" ]; then
OPTLCHNG=0
TMPTXT="default"
elif [ "$CONFPATCHBOOT" == "post" ]; then
OPTLCHNG=1
TMPTXT="post-fs-data"
elif [ "$CONFPATCHBOOT" == "late" ]; then
OPTLCHNG=2
TMPTXT="late_start service"
fi
replace_fn PATCHSTAGE $PATCHSTAGE $OPTLCHNG $LATEFILE
log_handler "Security patch boot stage is ${TMPTXT}."
fi fi
if [ "$DEVSIM" == 1 ]; then if [ "$DEVSIM" == 1 ]; then
if [ "$CONFSIMBOOT" == "default" ]; then if [ "$CONFSIMBOOT" == "default" ]; then
@ -832,9 +852,32 @@ system_prop() {
log_handler "Creating system.prop file." log_handler "Creating system.prop file."
touch $MODPATH/system.prop >> $LOGFILE 2>&1 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
print_edit "$MODPATH/system.prop" if [ "$PRINTSTAGE" == 0 ]; then
dev_sim_edit "$MODPATH/system.prop" print_edit "$MODPATH/system.prop"
custom_edit "CUSTOMPROPS" "$MODPATH/system.prop" fi
if [ "$PATCHSTAGE" == 0 ]; then
patch_edit "$MODPATH/system.prop"
fi
if [ "$SIMSTAGE" == 0 ]; then
dev_sim_edit "$MODPATH/system.prop"
fi
if [ "CUSTOMPROPS" ]; then
custom_edit "CUSTOMPROPS" "$MODPATH/system.prop"
fi
# Check system.prop content
system_prop_cont
fi
}
# system.prop content
system_prop_cont() {
if [ -f "$MODPATH/system.prop" ]; then
log_handler "system.prop contents:"
echo "----------------------------------------" >> $LOGFILE 2>&1
cat $MODPATH/system.prop >> $LOGFILE 2>&1
echo "----------------------------------------" >> $LOGFILE 2>&1
else
log_handler "No system.prop file present."
fi fi
} }
@ -1096,42 +1139,17 @@ print_edit() {
for ITEM in $PRINTPROPS; do for ITEM in $PRINTPROPS; do
log_handler "Changing/writing $ITEM." log_handler "Changing/writing $ITEM."
if [ "$1" ]; then if [ "$1" ]; then
if [ "$PRINTSTAGE" == 0 ]; then echo "${ITEM}=${PRINTCHNG}" >> $1
log_handler "${ITEM}=${PRINTCHNG}"
echo "${ITEM}=${PRINTCHNG}" >> $1
fi
else else
resetprop -nv $ITEM $PRINTCHNG >> $LOGFILE 2>&1 resetprop -nv $ITEM $PRINTCHNG >> $LOGFILE 2>&1
fi fi
done done
# Edit security patch date if included
if [ "$PRINTVEND" != 1 ]; then
SECPATCH="$(get_sec_patch $MODULEFINGERPRINT)"
case "$MODULEFINGERPRINT" in
*__*)
if [ "$SECPATCH" ]; then
log_handler "Updating security patch date to match fingerprint used."
if [ "$1" ]; then
if [ "$PRINTSTAGE" == 0 ]; then
log_handler "ro.build.version.security_patch=${SECPATCH}"
echo "ro.build.version.security_patch=${SECPATCH}" >> $1
fi
else
resetprop -nv ro.build.version.security_patch $SECPATCH >> $LOGFILE 2>&1
fi
fi
;;
esac
fi
# Edit device description # Edit device description
if [ "$DESCRIPTIONSET" == 1 ]; then if [ "$DESCRIPTIONSET" == 1 ]; then
if [ "$SIMDESCRIPTION" ]; then if [ "$SIMDESCRIPTION" ]; then
log_handler "Changing/writing ro.build.description." log_handler "Changing/writing ro.build.description."
if [ "$1" ]; then if [ "$1" ]; then
if [ "$PRINTSTAGE" == 0 ]; then echo "ro.build.description=${SIMDESCRIPTION}" >> $1
log_handler "ro.build.description=${SIMDESCRIPTION}"
echo "ro.build.description=${SIMDESCRIPTION}" >> $1
fi
else else
resetprop -nv ro.build.description "$SIMDESCRIPTION" >> $LOGFILE 2>&1 resetprop -nv ro.build.description "$SIMDESCRIPTION" >> $LOGFILE 2>&1
fi fi
@ -1142,6 +1160,25 @@ print_edit() {
fi fi
} }
# Edit security patch date if included
patch_edit() {
if [ "$PRINTVEND" != 1 ]; then
case "$MODULEFINGERPRINT" in
*__*)
SECPATCH="$(get_sec_patch $MODULEFINGERPRINT)"
if [ "$SECPATCH" ]; then
log_handler "Updating security patch date to match fingerprint used."
if [ "$1" ]; then
echo "ro.build.version.security_patch=${SECPATCH}" >> $1
else
resetprop -nv ro.build.version.security_patch $SECPATCH >> $LOGFILE 2>&1
fi
fi
;;
esac
fi
}
# Create fingerprint files # Create fingerprint files
print_files() { print_files() {
if [ "$INSTFN" ]; then if [ "$INSTFN" ]; then
@ -1320,7 +1357,9 @@ change_print() {
NEWFINGERPRINT="" NEWFINGERPRINT=""
if [ "$DEVSIM" == 1 ]; then if [ "$DEVSIM" == 0 ]; then
after_change "$1" "$3" "$4" "noreboot"
else
after_change "$1" "$3" "$4" after_change "$1" "$3" "$4"
fi fi
} }
@ -1355,7 +1394,9 @@ change_print_vendor() {
# Set device simulation variables # Set device simulation variables
print_parts "$ORIGVENDPRINT" print_parts "$ORIGVENDPRINT"
if [ "$DEVSIM" == 1 ]; then if [ "$DEVSIM" == 0 ]; then
after_change "$1" "$3" "$4" "noreboot"
else
after_change "$1" "$3" after_change "$1" "$3"
fi fi
} }
@ -1417,10 +1458,7 @@ dev_sim_edit() {
if [ "$TMPENB" == 1 ] && [ "$TMPVALUE" ]; then if [ "$TMPENB" == 1 ] && [ "$TMPVALUE" ]; then
log_handler "Changing/writing $ITEM." log_handler "Changing/writing $ITEM."
if [ "$1" ]; then if [ "$1" ]; then
if [ "$SIMSTAGE" == 0 ]; then echo "${ITEM}=${TMPVALUE}" >> $1
log_handler "${ITEM}=${TMPVALUE}"
echo "${ITEM}=${TMPVALUE}" >> $1
fi
else else
resetprop -nv $ITEM $TMPVALUE >> $LOGFILE 2>&1 resetprop -nv $ITEM $TMPVALUE >> $LOGFILE 2>&1
fi fi
@ -1725,9 +1763,8 @@ custom_edit() {
log_handler "Writing custom props." log_handler "Writing custom props."
for ITEM in $TMPLST; do for ITEM in $TMPLST; do
log_handler "Changing/writing $(get_eq_left "$ITEM")." log_handler "Changing/writing $(get_eq_left "$ITEM")."
TMPITEM=$( echo $(get_eq_right "$ITEM") | sed 's|_sp_| |g') TMPITEM=$(echo $(get_eq_right "$ITEM") | sed 's|_sp_| |g')
if [ "$1" == "CUSTOMPROPS" ] && [ "$2" ]; then if [ "$2" ]; then
log_handler "$(get_eq_left "$ITEM")=${TMPITEM}"
echo "$(get_eq_left "$ITEM")=${TMPITEM}" >> $2 echo "$(get_eq_left "$ITEM")=${TMPITEM}" >> $2
else else
resetprop -nv $(get_eq_left "$ITEM") "$TMPITEM" >> $LOGFILE 2>&1 resetprop -nv $(get_eq_left "$ITEM") "$TMPITEM" >> $LOGFILE 2>&1
@ -1890,17 +1927,19 @@ collect_logs() {
*) BPNAME="" *) BPNAME=""
;; ;;
esac esac
cp -af $ITEM ${TMPLOGLOC}/${BPNAME} >> $LOGFILE 2>&1 if [ "$ITEM" != "$CACHELOC/propsconf.log" ]; then
cp -af $ITEM ${TMPLOGLOC}/${BPNAME} >> $LOGFILE 2>&1
fi
else else
case "$ITEM" in case "$ITEM" in
*/cache) *cache)
if [ "$CACHELOC" == "/cache" ]; then if [ "$CACHELOC" == "/cache" ]; then
CACHELOCTMP=/data/cache CACHELOCTMP=/data/cache
else else
CACHELOCTMP=/cache CACHELOCTMP=/cache
fi fi
ITEMTPM=$(echo $ITEM | sed 's|$CACHELOC|$CACHELOCTMP|') ITEMTPM=$(echo $ITEM | sed 's|$CACHELOC|$CACHELOCTMP|')
if [ -f "$ITEMTPM" ]; then if [ -f "$a" ]; then
cp -af $ITEMTPM $TMPLOGLOC >> $LOGFILE 2>&1 cp -af $ITEMTPM $TMPLOGLOC >> $LOGFILE 2>&1
else else
log_handler "$ITEM not available." log_handler "$ITEM not available."
@ -1914,6 +1953,9 @@ collect_logs() {
# Saving the current prop values # Saving the current prop values
resetprop > $TMPLOGLOC/props.txt resetprop > $TMPLOGLOC/props.txt
# Saving the log file
cp -af $CACHELOC/propsconf.log $TMPLOGLOC >> $LOGFILE 2>&1
# Package the files # Package the files
cd $CACHELOC cd $CACHELOC
@ -1953,4 +1995,7 @@ collect_logs() {
} }
# Log print # Log print
log_handler "Functions loaded." if [ "$BOOTSTAGE" != "post" ]; then
log_handler "Functions loaded."
bb_check
fi

View File

@ -1,7 +1,7 @@
id=MagiskHidePropsConf id=MagiskHidePropsConf
name=MagiskHide Props Config name=MagiskHide Props Config
version=v3.5.0-v49 version=v3.5.1-v50
versionCode=41 versionCode=42
author=Didgeridoohan author=Didgeridoohan
description=Change your device's fingerprint, to pass SafetyNet's CTS Profile check. Edit prop files for better root hiding. Set/reset prop values set by MagiskHide. Change any prop values easily, and set your own custom props. description=Change your device's fingerprint, to pass SafetyNet's CTS Profile check. Edit prop files for better root hiding. Set/reset prop values set by MagiskHide. Change any prop values easily, and set your own custom props.
minMagisk=17000 minMagisk=17000

Binary file not shown.