v6.1.0-v133

This commit is contained in:
Didgeridoohan 2021-09-20 19:38:22 +02:00 committed by GitHub
parent b022128ffd
commit 6ae8d3d0e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 207 additions and 157 deletions

View File

@ -51,6 +51,8 @@ Keep in mind that this module cannot help you pass CTS if your device uses hardw
- [Device simulation](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#device-simulation) - [Device simulation](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#device-simulation)
##### MagiskHide props ##### MagiskHide props
- [Set/reset MagiskHide Sensitive props](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#setreset-magiskhide-sensitive-props) - [Set/reset MagiskHide Sensitive props](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#setreset-magiskhide-sensitive-props)
##### SELinux
- [SELinux Permissive](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#selinux-permissive)
##### Custom props ##### Custom props
- [Change/set custom prop values](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values) - [Change/set custom prop values](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values)
- [Removing prop values](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#removing-prop-values) - [Removing prop values](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#removing-prop-values)
@ -272,7 +274,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 - v132_** **_Current fingerprints list version - v133_**
## Please add support for device X ## Please add support for device X
@ -341,28 +343,39 @@ Up to and including Magisk v23 MagiskHide changes some sensitive props to "safe"
This feature is enabled by default and will automatically change any triggering values it finds to "safe" values. This feature is enabled by default and will automatically change any triggering values it finds to "safe" values.
The props in question are: The props in question are:
__General__
- ro.debuggable - ro.debuggable
- ro.secure - ro.secure
- ro.build.type - ro.build.type
__Rootbeer, Microsoft, etc__
- ro.build.tags - ro.build.tags
__SafetyNet, unlocked bootloader, etc__
- ro.boot.vbmeta.device_state - ro.boot.vbmeta.device_state
- ro.boot.verifiedbootstate - ro.boot.verifiedbootstate
- ro.boot.flash.locked - ro.boot.flash.locked
- ro.boot.veritymode - ro.boot.veritymode
- vendor.boot.vbmeta.device_state
__Samsung__
- ro.boot.warranty_bit - ro.boot.warranty_bit
- ro.warranty_bit - ro.warranty_bit
- ro.vendor.boot.warranty_bit - ro.vendor.boot.warranty_bit
- ro.vendor.warranty_bit - ro.vendor.warranty_bit
- vendor.boot.vbmeta.device_state
There are a few props that will only change if a triggering value is detected, and these are (these will always be set in the post-fs-data boot stage): There are a few props that will only change if a triggering value is detected, and these are (by default these will be set in the late_start service boot stage but can be set during post-fs-data if this is changed in the settings):
__Recovery mode__
- ro.bootmode - ro.bootmode
- ro.boot.mode - ro.boot.mode
- vendor.boot.mode - vendor.boot.mode
__MIUI cross-region flash__
- ro.boot.hwc - ro.boot.hwc
- ro.boot.hwcountry - ro.boot.hwcountry
And lastly there are props that will only change in the late_start service boot stage. These are: And lastly there are props that will only change after boot is completed. These are:
__SafetyNet, unlocked bootloader, etc__
- vendor.boot.verifiedbootstate - vendor.boot.verifiedbootstate
ro.build.selinux used to be changed by MagiskHide, but since some root detectors has a broken implementation of detecting this prop it is simply removed instead of changed (MagiskHide did this since Magisk build 20412). ro.build.selinux used to be changed by MagiskHide, but since some root detectors has a broken implementation of detecting this prop it is simply removed instead of changed (MagiskHide did this since Magisk build 20412).
@ -372,6 +385,8 @@ If, for some reason, you need one or more of these to be kept as their original
It is possible to change or reset each prop individually or all of them at once. It is also possible to change several props simultaneously by choosing the corresponding numbers in the menu list and entering them separated by a comma. This will change any props set to a sensitive value to a safe value and vice versa. It is possible to change or reset each prop individually or all of them at once. It is also possible to change several props simultaneously by choosing the corresponding numbers in the menu list and entering them separated by a comma. This will change any props set to a sensitive value to a safe value and vice versa.
Example: If I would like to change ro.debuggable, ro.secure and ro.build.tags I would enter __"1,2,4"__. Example: If I would like to change ro.debuggable, ro.secure and ro.build.tags I would enter __"1,2,4"__.
## SELinux Permissive
If MagiskHide detected that SELinux was in a permissive state it would change permissions for a couple of SELinux related files on the device, to prevent detection of this state. This has been implemented in the late_start service script.
## Change/set custom prop values ## Change/set custom prop values
It's quite easy to change prop values with Magisk. With this module it's even easier. Just enter the prop you want to change and the new value and the module does the rest, nice and systemless. Any changes that you've previously done directly to build.prop, default.prop, etc, you can now do with this module instead. If you have a lot of props that you want to change it'll be a lot easier to use the [configuration file](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#configuration-file) (see below). It's quite easy to change prop values with Magisk. With this module it's even easier. Just enter the prop you want to change and the new value and the module does the rest, nice and systemless. Any changes that you've previously done directly to build.prop, default.prop, etc, you can now do with this module instead. If you have a lot of props that you want to change it'll be a lot easier to use the [configuration file](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#configuration-file) (see below).
@ -614,6 +629,16 @@ Releases from v5.4.0 will only install on Magisk v20.4+.
## Changelog ## Changelog
### v6.1.0
- Added settings file version check.
- Added a check for the new Universal SafetyNet Fix and disable sensitive props at install if v2.1.0 or newer is detected.
- Changed default boot stage for SELinux fix and triggering props to late_start service.
- Fixed update check.
- Fixed a few problems with the configuration file import.
- Make sure late props are set after boot completed (might break some features otherwise, forgot about that).
- Minor UI fixes.
- Added fingerprints for Asus Smartphone for Snapdragon Insiders and Xiaomi Mi 11 Lite Indonesia. Updated fingerprint for Xiaomi Mi 10 Lite 5G Global. List updated to v133.
### v6.0.2 ### v6.0.2
- Fix problems when trying to disable/enable sensitive props. - Fix problems when trying to disable/enable sensitive props.
- Fix typo when checking for triggering prop values (meant that props wouldn't set properly during boot). - Fix typo when checking for triggering prop values (meant that props wouldn't set properly during boot).
@ -1031,7 +1056,7 @@ Releases from v5.4.0 will only install on Magisk v20.4+.
## Current fingerprints list ## Current fingerprints list
### List v132 ### List v133
- Asus ROG Phone 3 ZS661KS (10) - Asus ROG Phone 3 ZS661KS (10)
- Asus ROG Phone 5 ZS673KS (10) - Asus ROG Phone 5 ZS673KS (10)
- Asus ZenFone 2 Laser ASUS_Z00LD (6.0.1) - Asus ZenFone 2 Laser ASUS_Z00LD (6.0.1)

View File

@ -4,15 +4,16 @@
# Copyright (c) 2018-2021 Didgeridoohan @ XDA Developers # Copyright (c) 2018-2021 Didgeridoohan @ XDA Developers
# Licence: MIT # Licence: MIT
PRINTSV=132 PRINTSV=133
PRINTSTRANSF=520 PRINTSTRANSF=520
# Certified fingerprints # Certified fingerprints
# Current fingerprints count=695 # Current fingerprints count=698
# Unique devices=484 # Unique devices=486
PRINTSLIST=" PRINTSLIST="
Asus ROG Phone 3 ZS661KS (10):Asus:ZS661KS=asus/WW_I003D/ASUS_I003_1:10/QKQ1.200419.002/17.0823.2012.122-0:user/release-keys__2020-12-01 Asus ROG Phone 3 ZS661KS (10):Asus:ZS661KS=asus/WW_I003D/ASUS_I003_1:10/QKQ1.200419.002/17.0823.2012.122-0:user/release-keys__2020-12-01
Asus ROG Phone 5 ZS673KS (10):Asus:ZS673KS=asus/WW_I005D/ASUS_I005_1:11/RKQ1.201022.002/18.0840.2103.26-0:user/release-keys__2021-03-05 Asus ROG Phone 5 ZS673KS (10):Asus:ZS673KS=asus/WW_I005D/ASUS_I005_1:11/RKQ1.201022.002/18.0840.2103.26-0:user/release-keys__2021-03-05
Asus Smartphone for Snapdragon Insiders ASUS_I007D (11):asus:ASUS_I007D=asus/WW_I007D/ASUS_I007_1:11/RKQ1.201112.002/18.1030.2107.138-0:user/release-keys__2021-07-01
Asus ZenFone 2 Laser ASUS_Z00LD (6.0.1):Asus:ASUS_Z00LD=asus/WW_Z00L/ASUS_Z00L_63:6.0.1/MMB29P/WW_user_21.40.1220.2196_20180308:user/release-keys Asus ZenFone 2 Laser ASUS_Z00LD (6.0.1):Asus:ASUS_Z00LD=asus/WW_Z00L/ASUS_Z00L_63:6.0.1/MMB29P/WW_user_21.40.1220.2196_20180308:user/release-keys
Asus ZenFone 3 Max ASUS_X00DD (7.1.1 & 8.1.0):Asus:ASUS_X00DD=asus/WW_Phone/ASUS_X00DD:7.1.1/NMF26F/14.0200.1712.347-20171214:user/release-keys;asus/WW_Phone/ASUS_X00DD:8.1.0/OPM1.171019.011/15.0200.1812.503-0:user/release-keys__2018-12-05 Asus ZenFone 3 Max ASUS_X00DD (7.1.1 & 8.1.0):Asus:ASUS_X00DD=asus/WW_Phone/ASUS_X00DD:7.1.1/NMF26F/14.0200.1712.347-20171214:user/release-keys;asus/WW_Phone/ASUS_X00DD:8.1.0/OPM1.171019.011/15.0200.1812.503-0:user/release-keys__2018-12-05
Asus ZenFone 3 Ultra ASUS_A001 (7.0):Asus:ASUS_A001=asus/WW_Phone/ASUS_A001:7.0/NRD90M/14.1010.1804.75-20180612:user/release-keys__2018-04-01 Asus ZenFone 3 Ultra ASUS_A001 (7.0):Asus:ASUS_A001=asus/WW_Phone/ASUS_A001:7.0/NRD90M/14.1010.1804.75-20180612:user/release-keys__2018-04-01
@ -426,7 +427,7 @@ Xiaomi Mi 9T Pro Global (10):Xiaomi:Mi 9T Pro=Xiaomi/raphael/raphael:10/QKQ1.190
Xiaomi Mi 10 China (10 & 11):Xiaomi:Mi 10=Xiaomi/umi/umi:10/QKQ1.191117.002/V12.0.8.0.QJBCNXM:user/release-keys__2020-07-01;Xiaomi/umi/umi:11/RKQ1.200710.002/V12.1.3.0.RJBCNXM:user/release-keys__2020-09-01 Xiaomi Mi 10 China (10 & 11):Xiaomi:Mi 10=Xiaomi/umi/umi:10/QKQ1.191117.002/V12.0.8.0.QJBCNXM:user/release-keys__2020-07-01;Xiaomi/umi/umi:11/RKQ1.200710.002/V12.1.3.0.RJBCNXM:user/release-keys__2020-09-01
Xiaomi Mi 10 Europe (10):Xiaomi:Mi 10=Xiaomi/umi_eea/umi:10/QKQ1.191117.002/V11.0.10.0.QJBEUVF:user/release-keys__2020-07-01 Xiaomi Mi 10 Europe (10):Xiaomi:Mi 10=Xiaomi/umi_eea/umi:10/QKQ1.191117.002/V11.0.10.0.QJBEUVF:user/release-keys__2020-07-01
Xiaomi Mi 10 Lite 5G Europe (10):Xiaomi:M2002J9G=Xiaomi/monet_eea/monet:10/QKQ1.191222.002/V12.0.1.0.QJIEUXM:user/release-keys__2020-06-01 Xiaomi Mi 10 Lite 5G Europe (10):Xiaomi:M2002J9G=Xiaomi/monet_eea/monet:10/QKQ1.191222.002/V12.0.1.0.QJIEUXM:user/release-keys__2020-06-01
Xiaomi Mi 10 Lite 5G Global (10):Xiaomi:M2002J9G=Xiaomi/monet_global/monet:10/QKQ1.191222.002/V12.0.1.0.QJIMIXM:user/release-keys__2020-08-01 Xiaomi Mi 10 Lite 5G Global (10 & 11):Xiaomi:M2002J9G=Xiaomi/monet_global/monet:10/QKQ1.191222.002/V12.0.1.0.QJIMIXM:user/release-keys__2020-08-01;Xiaomi/monet_global/monet:11/RKQ1.200826.002/V12.5.3.0.RJITWXM:user/release-keys__2021-07-01
Xiaomi Mi 10 Pro China (10 & 11):Xiaomi:Mi 10 Pro=Xiaomi/cmi/cmi:10/QKQ1.191117.002/V12.0.4.0.QJACNXM:user/release-keys__2020-07-01;Xiaomi/cmi/cmi:11/RKQ1.200710.002/V12.1.2.0.RJACNXM:user/release-keys__2020-09-01 Xiaomi Mi 10 Pro China (10 & 11):Xiaomi:Mi 10 Pro=Xiaomi/cmi/cmi:10/QKQ1.191117.002/V12.0.4.0.QJACNXM:user/release-keys__2020-07-01;Xiaomi/cmi/cmi:11/RKQ1.200710.002/V12.1.2.0.RJACNXM:user/release-keys__2020-09-01
Xiaomi Mi 10 Ultra China (10 & 11):Xiaomi:Mi 10 Ultra=Xiaomi/cas/cas:10/QKQ1.200419.002/V12.0.10.0.QJJCNXM:user/release-keys__2020-08-01;Xiaomi/cas/cas:11/RKQ1.200826.002/V12.5.1.0.RJJCNXM:user/release-keys__2021-03-01 Xiaomi Mi 10 Ultra China (10 & 11):Xiaomi:Mi 10 Ultra=Xiaomi/cas/cas:10/QKQ1.200419.002/V12.0.10.0.QJJCNXM:user/release-keys__2020-08-01;Xiaomi/cas/cas:11/RKQ1.200826.002/V12.5.1.0.RJJCNXM:user/release-keys__2021-03-01
Xiaomi Mi 10S China (11):Xiaomi:M2102J2SC=Xiaomi/thyme/thyme:11/RKQ1.200826.002/V12.0.10.0.RGACNXM:user/release-keys__2021-03-01 Xiaomi Mi 10S China (11):Xiaomi:M2102J2SC=Xiaomi/thyme/thyme:11/RKQ1.200826.002/V12.0.10.0.RGACNXM:user/release-keys__2021-03-01
@ -434,6 +435,7 @@ Xiaomi Mi 10T Europe (10):Xiaomi:M2007J3SY=Xiaomi/apollo_eea/apollo:10/QKQ1.2004
Xiaomi Mi 10T Lite Europe (10):Xiaomi:M2007J17G=Xiaomi/gauguin_eea/gauguin:10/QKQ1.200628.002/V12.0.8.0.QJSEUXM:user/release-keys__2020-12-01 Xiaomi Mi 10T Lite Europe (10):Xiaomi:M2007J17G=Xiaomi/gauguin_eea/gauguin:10/QKQ1.200628.002/V12.0.8.0.QJSEUXM:user/release-keys__2020-12-01
Xiaomi Mi 10T Pro Europe (10):Xiaomi:M2007J3SG=Xiaomi/apollopro_eea/apollo:10/QKQ1.200419.002/V12.0.13.0.QJDEUXM:user/release-keys__2020-11-01 Xiaomi Mi 10T Pro Europe (10):Xiaomi:M2007J3SG=Xiaomi/apollopro_eea/apollo:10/QKQ1.200419.002/V12.0.13.0.QJDEUXM:user/release-keys__2020-11-01
Xiaomi Mi 11 China (11):Xiaomi:M2011K2C=Xiaomi/venus/venus:11/RKQ1.200928.002/V12.0.22.0.RKBCNXM:user/release-keys__2021-01-01 Xiaomi Mi 11 China (11):Xiaomi:M2011K2C=Xiaomi/venus/venus:11/RKQ1.200928.002/V12.0.22.0.RKBCNXM:user/release-keys__2021-01-01
Xiaomi Mi 11 Lite Indonesia (11):Xiaomi:M2101K9AG=Xiaomi/courbet_id/courbet:11/RKQ1.200826.002/V12.5.1.0.RKQIDXM:user/release-keys__2021-06-01
Xiaomi Mi A1 Global (7.1.2 & 8.0.0 & 8.1.0 & 9):Xiaomi:Mi A1=xiaomi/tissot/tissot_sprout:7.1.2/N2G47H/7.12.19:user/release-keys;xiaomi/tissot/tissot_sprout:8.0.0/OPR1.170623.026/V.9.5.10.0.ODHMIFA:user/release-keys__2018-04-01;xiaomi/tissot/tissot_sprout:8.1.0/OPM1.171019.026/V9.6.8.0.ODHMIFE:user/release-keys__2018-11-01;xiaomi/tissot/tissot_sprout:9/PKQ1.180917.001/V10.0.24.0.PDHMIXM:user/release-keys__2020-08-01 Xiaomi Mi A1 Global (7.1.2 & 8.0.0 & 8.1.0 & 9):Xiaomi:Mi A1=xiaomi/tissot/tissot_sprout:7.1.2/N2G47H/7.12.19:user/release-keys;xiaomi/tissot/tissot_sprout:8.0.0/OPR1.170623.026/V.9.5.10.0.ODHMIFA:user/release-keys__2018-04-01;xiaomi/tissot/tissot_sprout:8.1.0/OPM1.171019.026/V9.6.8.0.ODHMIFE:user/release-keys__2018-11-01;xiaomi/tissot/tissot_sprout:9/PKQ1.180917.001/V10.0.24.0.PDHMIXM:user/release-keys__2020-08-01
Xiaomi Mi A2 Global (8.1.0 & 9 & 10):Xiaomi:Mi A2=xiaomi/jasmine/jasmine_sprout:8.1.0/OPM1.171019.011/V9.6.17.0.ODIMIFE:user/release-keys__2018-11-05;xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/V10.0.18.0.PDIMIXM:user/release-keys__2019-12-05;xiaomi/jasmine/jasmine_sprout:10/QKQ1.190910.002/V11.0.28.0.QDIMIXM:user/release-keys__2021-07-01 Xiaomi Mi A2 Global (8.1.0 & 9 & 10):Xiaomi:Mi A2=xiaomi/jasmine/jasmine_sprout:8.1.0/OPM1.171019.011/V9.6.17.0.ODIMIFE:user/release-keys__2018-11-05;xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/V10.0.18.0.PDIMIXM:user/release-keys__2019-12-05;xiaomi/jasmine/jasmine_sprout:10/QKQ1.190910.002/V11.0.28.0.QDIMIXM:user/release-keys__2021-07-01
Xiaomi Mi A2 Lite Global (8.1.0 & 9 & 10):Xiaomi:Mi A2 Lite=xiaomi/daisy/daisy_sprout:8.1.0/OPM1.171019.019/V9.6.11.0.ODLMIFF:user/release-keys__2018-11-01;xiaomi/daisy/daisy_sprout:9/PKQ1.180917.001/V10.0.20.0.PDLMIXM:user/release-keys__2020-03-01;xiaomi/daisy/daisy_sprout:10/QKQ1.191002.002/V11.0.21.0.QDLMIXM:user/release-keys__2021-07-01 Xiaomi Mi A2 Lite Global (8.1.0 & 9 & 10):Xiaomi:Mi A2 Lite=xiaomi/daisy/daisy_sprout:8.1.0/OPM1.171019.019/V9.6.11.0.ODLMIFF:user/release-keys__2018-11-01;xiaomi/daisy/daisy_sprout:9/PKQ1.180917.001/V10.0.20.0.PDLMIXM:user/release-keys__2020-03-01;xiaomi/daisy/daisy_sprout:10/QKQ1.191002.002/V11.0.21.0.QDLMIXM:user/release-keys__2021-07-01

View File

@ -7,7 +7,7 @@
# Unless: If you don't have the module installed something has gone horribly wrong and this file is an orphan. # Unless: If you don't have the module installed something has gone horribly wrong and this file is an orphan.
# In that case, feel free to delete it. # In that case, feel free to delete it.
# Script version # Script version, do not edit these values!
SCRIPTV=40 SCRIPTV=40
SETTRANSF=5 SETTRANSF=5
NOTTRANSF="PROPCOUNT;PROPEDIT;REDEBUGGABLE;RESECURE;RETYPE;RETAGS;REBOOTMODE;REMODE;REVENDORMODE;REHWC;REHWCOUNTRY;RESTATE;REVERIFIEDBOOTSTATE;REVENDORVERIFIEDBOOTSTATE;RELOCKED;REVERITYMODE;REBOOTWARRANTY_BIT;REBIT;REVENDORBOOTWARRANTY_BIT;REVENDORWARRANTY_BIT;REVENDORDEVICE_STATE" NOTTRANSF="PROPCOUNT;PROPEDIT;REDEBUGGABLE;RESECURE;RETYPE;RETAGS;REBOOTMODE;REMODE;REVENDORMODE;REHWC;REHWCOUNTRY;RESTATE;REVERIFIEDBOOTSTATE;REVENDORVERIFIEDBOOTSTATE;RELOCKED;REVERITYMODE;REBOOTWARRANTY_BIT;REBIT;REVENDORBOOTWARRANTY_BIT;REVENDORWARRANTY_BIT;REVENDORDEVICE_STATE"

View File

@ -124,25 +124,6 @@ if [ "$INSTFN" ]; then
REBOOTCHK REBOOTCHK
" "
PROPSETTINGSLIST=" PROPSETTINGSLIST="
MODULEDEBUGGABLE
MODULESECURE
MODULETYPE
MODULETAGS
MODULEBOOTMODE
MODULEMODE
MODULEVENDORMODE
MODULEHWC
MODULEHWCOUNTRY
MODULESTATE
MODULEVERIFIEDBOOTSTATE
MODULEVENDORVERIFIEDBOOTSTATE
MODULELOCKED
MODULEVERITYMODE
MODULEBOOTWARRANTY_BIT
MODULEBIT
MODULEVENDORBOOTWARRANTY_BIT
MODULEVENDORWARRANTY_BIT
MODULEVENDORDEVICE_STATE
MODULEFINGERPRINT MODULEFINGERPRINT
SIMBRAND SIMBRAND
SIMNAME SIMNAME
@ -584,6 +565,7 @@ orig_check() {
ORIGVALUE="$(echo ${ORIGPROP})" ORIGVALUE="$(echo ${ORIGPROP})"
if [ "$ORIGVALUE" ]; then if [ "$ORIGVALUE" ]; then
ORIGLOAD=1 ORIGLOAD=1
break
fi fi
done done
} }
@ -701,7 +683,7 @@ reboot_fn() {
done done
} }
# Reset module, $1=header, $2=Run options # Reset module, $1=header, $2=Run options, $3=Reboot or not
reset_fn() { reset_fn() {
before_change before_change
@ -710,7 +692,15 @@ reset_fn() {
replace_fn FINGERPRINTENB 1 $FINGERPRINTENB $LATEFILE replace_fn FINGERPRINTENB 1 $FINGERPRINTENB $LATEFILE
fi fi
after_change "$1" "$2" if [ "$2" == "mismatch" ]; then
log_handler "Saving device default values."
default_save
log_handler "Default values saved to $LATEFILE."
fi
log_handler "Settings cleared."
after_change "$1" "$2" "$3"
} }
# Checks for configuration file # Checks for configuration file
@ -727,7 +717,7 @@ config_file() {
sleep 1 sleep 1
touch $ITEM/testfbe touch $ITEM/testfbe
done done
rm -f $ITEM/testfbe rm -f $ITEM/testfbe >> $LOGFILE 2>&1
if [ -s "$ITEM/propsconf_conf" ]; then if [ -s "$ITEM/propsconf_conf" ]; then
CONFFILE="$ITEM/propsconf_conf" CONFFILE="$ITEM/propsconf_conf"
break break
@ -749,30 +739,24 @@ config_file() {
CONFFINGERPRINT=$(getprop ro.vendor.build.fingerprint) CONFFINGERPRINT=$(getprop ro.vendor.build.fingerprint)
echo "ro.vendor.build.fingerprint: ${CONFFINGERPRINT}" >> $LOGFILE 2>&1 echo "ro.vendor.build.fingerprint: ${CONFFINGERPRINT}" >> $LOGFILE 2>&1
fi fi
# Updates prop values (including fingerprint) # Device fingerprint
PROPSTMPLIST=$PROPSLIST$TRIGGERPROPS$LATEPROPS" if [ "$CONFFINGERPRINT" ]; then
ro.build.fingerprint if "$CONFFINGERPRINT" != "preserve" ] && [ "$FINGERPRINTENB" == 1 ]; then
" change_print "$PROPTYPE" "$TMPPROP" "file"
fi
else
reset_print "$PROPTYPE" "file"
fi
# Updates sensitive props
PROPSTMPLIST="$PROPSLIST$TRIGGERPROPS$LATEPROPS"
for PROPTYPE in $PROPSTMPLIST; do for PROPTYPE in $PROPSTMPLIST; do
CONFPROP=$(echo "CONF$(get_prop_type $PROPTYPE)" | tr '[:lower:]' '[:upper:]') CONFPROP=$(echo "CONF$(get_prop_type $PROPTYPE)" | tr '[:lower:]' '[:upper:]')
TMPPROP=$(eval "echo \$$CONFPROP") TMPPROP=$(eval "echo \$$CONFPROP")
if [ "$TMPPROP" ]; then if [ "$TMPPROP" == "true" ]; then
log_handler "Checking $PROPTYPE settings." change_prop "$PROPTYPE" "file"
if [ "$TMPPROP" != "preserve" ]; then
if [ "$PROPTYPE" == "ro.build.fingerprint" ]; then
if [ "$FINGERPRINTENB" == 1 ]; then
change_print "$PROPTYPE" "$TMPPROP" "file"
fi
else
change_prop "$PROPTYPE" "file"
fi
fi
else else
if [ "$PROPTYPE" == "ro.build.fingerprint" ]; then reset_prop "$PROPTYPE" "file"
reset_print "$PROPTYPE" "file"
else
reset_prop "$PROPTYPE" "file"
fi
fi fi
done done
@ -1004,7 +988,7 @@ config_file() {
# Deletes the configuration file # Deletes the configuration file
log_handler "Deleting configuration file." log_handler "Deleting configuration file."
for ITEM in $CONFFILELOC; do for ITEM in $CONFFILELOC; do
rm -f $ITEM/propsconf_conf rm -f $ITEM/propsconf_conf >> $LOGFILE 2>&1
done done
log_handler "Configuration file import complete." log_handler "Configuration file import complete."
if [ "$BOOTSTAGE" == "late" ]; then if [ "$BOOTSTAGE" == "late" ]; then
@ -1042,9 +1026,9 @@ update_check() {
log_print "Checking for module update." log_print "Checking for module update."
MODPROPTMP=$MHPCPATH/module.prop MODPROPTMP=$MHPCPATH/module.prop
MODPROPWWW="https://raw.githubusercontent.com/Magisk-Modules-Repo/MagiskHidePropsConf/master/module.prop" MODPROPWWW="https://raw.githubusercontent.com/Magisk-Modules-Repo/MagiskHidePropsConf/master/module.prop"
MODVERTMP="$(echo $(get_file_value $MODPROPTMP "version=") | sed 's|-.*||' | sed 's|v||' | sed 's|\.||g')"
module_v_ctrl module_v_ctrl
wget -T 5 -q -O $MODPROPTMP $MODPROPWWW >> $LOGFILE 2>&1 wget -T 5 -q -O $MODPROPTMP $MODPROPWWW >> $LOGFILE 2>&1
MODVERTMP="$(echo $(get_file_value $MODPROPTMP "version=") | sed 's|-.*||' | sed 's|v||' | sed 's|\.||g')"
if [ -s "$MODPROPTMP" ]; then if [ -s "$MODPROPTMP" ]; then
if [ "$VERSIONCMP" -lt "$MODVERTMP" ]; then if [ "$VERSIONCMP" -lt "$MODVERTMP" ]; then
UPDATECHECK="There is a newer version of the module\navailable. Please update." UPDATECHECK="There is a newer version of the module\navailable. Please update."
@ -1058,7 +1042,7 @@ update_check() {
log_print "No update available." log_print "No update available."
fi fi
elif [ -f "$MODPROPTMP" ]; then elif [ -f "$MODPROPTMP" ]; then
rm -f $MODPROPTMP rm -f $MODPROPTMP >> $LOGFILE 2>&1
log_print "! File not downloaded!" log_print "! File not downloaded!"
log_handler "File is empty." log_handler "File is empty."
else else
@ -1070,6 +1054,7 @@ update_check() {
sleep 0.5 sleep 0.5
;; ;;
esac esac
rm -f $MODPROPTMP >> $LOGFILE 2>&1
} }
# system.prop creation # system.prop creation
@ -1130,7 +1115,7 @@ settings_placement() {
FILETRANSF=$(get_file_value $SERVICEPATH/propsconf_late "SETTRANSF=") FILETRANSF=$(get_file_value $SERVICEPATH/propsconf_late "SETTRANSF=")
LATEFILETMP="$SERVICEPATH/propsconf_late" LATEFILETMP="$SERVICEPATH/propsconf_late"
else else
rm -f $LATEFILE rm -f $LATEFILE >> $LOGFILE 2>&1
FILEV=0 FILEV=0
FILETRANSF=$UPDATETRANSF FILETRANSF=$UPDATETRANSF
LATEFILETMP="$LATEFILE" LATEFILETMP="$LATEFILE"
@ -1234,6 +1219,7 @@ settings_placement() {
log_handler "Old settings file found in $SERVICEPATH." log_handler "Old settings file found in $SERVICEPATH."
rm -f $SERVICEPATH/propsconf_late >> $LOGFILE 2>&1 rm -f $SERVICEPATH/propsconf_late >> $LOGFILE 2>&1
fi fi
rm -f $UPDATELATEFILE >> $LOGFILE 2>&1
} }
# Checks for the Universal SafetyNet Fix module and similar modules editing device fingerprint # Checks for the Universal SafetyNet Fix module and similar modules editing device fingerprint
@ -1248,12 +1234,23 @@ usnf_check() {
log_print "! Module - '$NAME'!" log_print "! Module - '$NAME'!"
log_print "! Fingerprint modification disabled!" log_print "! Fingerprint modification disabled!"
ui_print "!" ui_print "!"
sed -i 's/FINGERPRINTENB=1/FINGERPRINTENB=0/' $UPDATELATEFILE sed -i 's/FINGERPRINTENB=1/FINGERPRINTENB=0/' $LATEFILE
fi fi
fi fi
done done
} }
# Check for the new Universal SafetyNet Fix
SNF_ctrl() {
if [ -d "$MODULESPATH/safetynet-fix" ]; then
TMPVER=$(echo $(get_file_value $MODULESPATH/safetynet-fix/module.prop "version=") | sed 's|v||g' | sed 's|\.||g')
if [ "$TMPVER" -ge "210" ]; then
log_handler "Found incompatible SafetyNet Fix. Disabling MagiskHide props."
reset_prop_all "Disabling MagiskHide props" "install"
fi
fi
}
# Check for bin/xbin # Check for bin/xbin
bin_check() { bin_check() {
$BOOTMODE && BINCHECK=$MIRRORPATH/system/xbin || BINCHECK=/system/xbin $BOOTMODE && BINCHECK=$MIRRORPATH/system/xbin || BINCHECK=/system/xbin
@ -1270,21 +1267,21 @@ bin_check() {
files_check() { files_check() {
if [ -f "$POSTLATEFILE" ]; then if [ -f "$POSTLATEFILE" ]; then
log_handler "Removing late_start service boot script from post-fs-data.d." log_handler "Removing late_start service boot script from post-fs-data.d."
rm -f $POSTLATEFILE rm -f $POSTLATEFILE >> $LOGFILE 2>&1
fi fi
if [ -f "$POSTFILE" ]; then if [ -f "$POSTFILE" ]; then
log_handler "Removing old post-fs-data boot script from post-fs-data.d" log_handler "Removing old post-fs-data boot script from post-fs-data.d"
rm -f $POSTFILE rm -f $POSTFILE >> $LOGFILE 2>&1
fi fi
for ITEM in $CACHERM; do for ITEM in $CACHERM; do
if [ -f "$ITEM" ]; then if [ -f "$ITEM" ]; then
log_handler "Removing old log files ($ITEM)." log_handler "Removing old log files ($ITEM)."
rm -f $ITEM rm -f $ITEM >> $LOGFILE 2>&1
fi fi
done done
if [ -f "$PRINTFILES/custom.sh" ]; then if [ -f "$PRINTFILES/custom.sh" ]; then
log_handler "Removing broken custom.sh file." log_handler "Removing broken custom.sh file."
rm -f $PRINTFILES/custom.sh rm -f $PRINTFILES/custom.sh >> $LOGFILE 2>&1
fi fi
} }
@ -1300,6 +1297,7 @@ load_settings() {
script_install() { script_install() {
load_settings load_settings
usnf_check usnf_check
SNF_ctrl
bin_check bin_check
files_check files_check
settings_placement settings_placement
@ -1579,20 +1577,20 @@ download_prints() {
log_print "Updated list to v${LISTVERSION}." log_print "Updated list to v${LISTVERSION}."
print_files print_files
else else
rm -f $PRINTSTMP rm -f $PRINTSTMP >> $LOGFILE 2>&1
log_print "New fingerprints list requires module update." log_print "New fingerprints list requires module update."
fi fi
else else
rm -f $PRINTSTMP rm -f $PRINTSTMP >> $LOGFILE 2>&1
log_print "Fingerprints list up-to-date." log_print "Fingerprints list up-to-date."
fi fi
else else
rm -f $PRINTSTMP rm -f $PRINTSTMP >> $LOGFILE 2>&1
log_print "! File not downloaded!" log_print "! File not downloaded!"
log_handler "Couldn't extract list version." log_handler "Couldn't extract list version."
fi fi
elif [ -f "$PRINTSTMP" ]; then elif [ -f "$PRINTSTMP" ]; then
rm -f $PRINTSTMP rm -f $PRINTSTMP >> $LOGFILE 2>&1
log_print "! File not downloaded!" log_print "! File not downloaded!"
log_handler "File is empty." log_handler "File is empty."
else else
@ -2021,11 +2019,11 @@ magiskhide_props_menu() {
ORIGVALUE=$(eval "echo \$$(echo "ORIG${PROP}" | tr '[:lower:]' '[:upper:]')") ORIGVALUE=$(eval "echo \$$(echo "ORIG${PROP}" | tr '[:lower:]' '[:upper:]')")
MODULEVALUE=$(eval "echo \$$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')") MODULEVALUE=$(eval "echo \$$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')")
if [ "$ORIGVALUE" ] && [ "$MODULEVALUE" != "$ORIGVALUE" ]; then if [ "$ORIGVALUE" ] && [ "$MODULEVALUE" != "$ORIGVALUE" ]; then
CTRLTRIGG=false; CTRLTRIGG=true;
if [ "$2" == "trigger" ]; then if [ "$2" == "trigger" ]; then
magiskhide_trigger "$ITEM" magiskhide_trigger "$ITEM"
fi fi
if [ "$CTRLTRIGG" == "false" ]; then if [ "$CTRLTRIGG" == "true" ]; then
if [ "$ITEMCOUNT" == 0 ]; then if [ "$ITEMCOUNT" == 0 ]; then
ITEMCOUNT=1 ITEMCOUNT=1
fi fi
@ -2072,9 +2070,9 @@ sensitive_props() {
ORIGVALUE=$(eval "echo \$$(echo "ORIG${PROP}" | tr '[:lower:]' '[:upper:]')") ORIGVALUE=$(eval "echo \$$(echo "ORIG${PROP}" | tr '[:lower:]' '[:upper:]')")
MODULEVALUE=$(eval "echo \$$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')") MODULEVALUE=$(eval "echo \$$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')")
if [ "$REVALUE" == 1 ] && [ "$ORIGVALUE" ]; then if [ "$REVALUE" == 1 ] && [ "$ORIGVALUE" ]; then
CTRLTRIGG=false; CTRLTRIGG=true;
magiskhide_trigger "$ITEM" magiskhide_trigger "$ITEM"
if [ "$CTRLTRIGG" == "false" ]; then if [ "$CTRLTRIGG" == "true" ]; then
if [ "$MODULEVALUE" == "$ORIGVALUE" ]; then if [ "$MODULEVALUE" == "$ORIGVALUE" ]; then
log_handler "Skipping $ITEM, already set to the safe value ($MODULEVALUE)." log_handler "Skipping $ITEM, already set to the safe value ($MODULEVALUE)."
else else
@ -2105,7 +2103,7 @@ magiskhide_trigger() {
if [ "$(get_eq_left "$TRIGG")" == "$1" ]; then if [ "$(get_eq_left "$TRIGG")" == "$1" ]; then
TRIGGVALUE=$(get_eq_right "$TRIGG") TRIGGVALUE=$(get_eq_right "$TRIGG")
if [ "$TRIGGVALUE" != "$ORIGVALUE" ]; then if [ "$TRIGGVALUE" != "$ORIGVALUE" ]; then
CTRLTRIGG=true; CTRLTRIGG=false;
fi fi
break break
fi fi
@ -2193,7 +2191,7 @@ change_prop() {
fi fi
} }
# Reset all module prop changes, $1=header # Reset all module prop changes, $1=header, $2=Run option
reset_prop_all() { reset_prop_all() {
before_change before_change
@ -2210,7 +2208,9 @@ reset_prop_all() {
replace_fn PROPCOUNT $PROPCOUNT 0 $LATEFILE replace_fn PROPCOUNT $PROPCOUNT 0 $LATEFILE
replace_fn PROPEDIT 1 0 $LATEFILE replace_fn PROPEDIT 1 0 $LATEFILE
after_change "$1" if [ "$2" != "install" ]; then
after_change "$1"
fi
} }
# ======================== Custom Props functions ======================== # ======================== Custom Props functions ========================
@ -2233,7 +2233,7 @@ custom_edit() {
if [ "$(get_prop_delay_exec "$ITEM")" == "boot" ]; then if [ "$(get_prop_delay_exec "$ITEM")" == "boot" ]; then
TMPBOOTTXT=" after \"Boot completed\"" TMPBOOTTXT=" after \"Boot completed\""
until [ $(getprop sys.boot_completed) == 1 ]; do until [ $(getprop sys.boot_completed) == 1 ]; do
sleep 0.1 sleep 1
done done
fi fi
TMPI=1 TMPI=1
@ -2454,87 +2454,122 @@ reset_delprop() {
} }
# ======================== Options functions ======================== # ======================== Options functions ========================
# Find value for export function, $1=Settings variable, $2=Type
export_value() {
if [ "$2" == "stage" ]; then
if [ "$(eval "echo \$$1")" == 0 ]; then
TMP=default
elif [ "$(eval "echo \$$1")" == 1 ]; then
TMP=post
else
TMP=late
fi
elif [ "$2" == "binary" ]; then
if [ "$(eval "echo \$$1")" == 0 ]; then
TMP=false
else
TMP=true
fi
fi
echo "$TMP"
}
# Export all settings to a module configuration file, $1=header # Export all settings to a module configuration file, $1=header
export_settings() { export_settings() {
before_change before_change
log_handler "Exporting module settings to $EXPORTFILE." log_handler "Exporting module settings to $EXPORTFILE."
# Load settings # Load settings
. $LATEFILE . $LATEFILE
# Create export directory # Create export directory
rm -rf $EXPORTPATH >> $LOGFILE 2>&1
mkdir -pv $EXPORTPATH >> $LOGFILE 2>&1 mkdir -pv $EXPORTPATH >> $LOGFILE 2>&1
# Create file and Delete instructions # Create file and Delete instructions
head -n 59 $MODPATH/common/propsconf_conf > $EXPORTFILE head -n 87 $MODPATH/common/propsconf_conf > $EXPORTFILE
# Export settings # Export settings
# Fingerprint # Fingerprint
replace_fn CONFFINGERPRINT "\"\"" "\"$MODULEFINGERPRINT\"" $EXPORTFILE replace_fn CONFFINGERPRINT "\"\"" "\"$MODULEFINGERPRINT\"" $EXPORTFILE
replace_fn CONFVENDPRINT false $([ $PRINTVEND == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFVENDPRINT false $(export_value PRINTVEND binary) $EXPORTFILE
replace_fn CONFPRINTBOOT default $([ $PRINTSTAGE == 0 ] && echo "default" || $([ $PRINTSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE replace_fn CONFPRINTBOOT default $(export_value PRINTSTAGE stage) $EXPORTFILE
replace_fn CONFPATCHBOOT late $([ $PATCHSTAGE == 0 ] && echo "default" || $([ $PATCHSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE replace_fn CONFPATCHBOOT late $(export_value PATCHSTAGE stage) $EXPORTFILE
# Force BASIC attestation # Force BASIC attestation
replace_fn CONFBASICATTEST false $([ $BASICATTEST == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFBASICATTEST false $(export_value BASICATTEST binary) $EXPORTFILE
replace_fn CONFBASICATTCUST "\"\"" "\"$BASICATTCUST\"" $EXPORTFILE replace_fn CONFBASICATTCUST "\"\"" "\"$BASICATTCUST\"" $EXPORTFILE
# Device Simulation # Device Simulation
replace_fn CONFDEVSIM false $([ $DEVSIM == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFDEVSIM false $(export_value DEVSIM binary) $EXPORTFILE
replace_fn CONFBRAND false $([ $BRANDSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFBRAND false $(export_value BRANDSET binary) $EXPORTFILE
replace_fn CONFNAME false $([ $NAMESET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFNAME false $(export_value NAMESET binary) $EXPORTFILE
replace_fn CONFDEVICE false $([ $DEVICESET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFDEVICE false $(export_value DEVICESET binary) $EXPORTFILE
replace_fn CONFRELEASE false $([ $RELEASESET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFRELEASE false $(export_value RELEASESET binary) $EXPORTFILE
replace_fn CONFID false $([ $IDSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFID false $(export_value IDSET binary) $EXPORTFILE
replace_fn CONFINCREMENTAL false $([ $INCREMENTALSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFINCREMENTAL false $(export_value INCREMENTALSET binary) $EXPORTFILE
replace_fn CONFDISPLAY false $([ $DISPLAYSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFDISPLAY false $(export_value DISPLAYSET binary) $EXPORTFILE
replace_fn CONFSDK false $([ $SDKSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFSDK false $(export_value SDKSET binary) $EXPORTFILE
replace_fn CONFMANUFACTURER false $([ $MANUFACTURERSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFMANUFACTURER false $(export_value MANUFACTURERSET binary) $EXPORTFILE
replace_fn CONFMODEL false $([ $MODELSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFMODEL false $(export_value MODELSET binary) $EXPORTFILE
replace_fn CONFDESCRIPTION true $([ $DESCRIPTIONSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFDESCRIPTION true $(export_value DESCRIPTIONSET binary) $EXPORTFILE
replace_fn CONFPARTPROPS true $([ $PARTPROPSSET == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFPARTPROPS true $(export_value PARTPROPSSET binary) $EXPORTFILE
replace_fn CONFSIMBOOT default $([ $SIMSTAGE == 0 ] && echo "default" || $([ $PRINTSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE replace_fn CONFSIMBOOT default $(export_value SIMSTAGE stage) $EXPORTFILE
# MagiskHide sensitive props # MagiskHide sensitive props
replace_fn CONFDEBUGGABLE true $([ $REDEBUGGABLE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFDEBUGGABLE true $(export_value REDEBUGGABLE binary) $EXPORTFILE
replace_fn CONFSECURE true $([ $RESECURE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFSECURE true $(export_value RESECURE binary) $EXPORTFILE
replace_fn CONFTYPE true $([ $RETYPE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFTYPE true $(export_value RETYPE binary) $EXPORTFILE
replace_fn CONFTAGS true $([ $RETAGS == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFTAGS true $(export_value RETAGS binary) $EXPORTFILE
replace_fn CONFBOOTMODE true $([ $REBOOTMODE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFBOOTMODE true $(export_value REBOOTMODE binary) $EXPORTFILE
replace_fn CONFMODE true $([ $REMODE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFMODE true $(export_value REMODE binary) $EXPORTFILE
replace_fn CONFVENDORMODE true $([ $REVENDORMODE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFVENDORMODE true $(export_value REVENDORMODE binary) $EXPORTFILE
replace_fn CONFHWC true $([ $REHWC == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFHWC true $(export_value REHWC binary) $EXPORTFILE
replace_fn CONFHWCOUNTRY true $([ $REHWCOUNTRY == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFHWCOUNTRY true $(export_value REHWCOUNTRY binary) $EXPORTFILE
replace_fn CONFSTATE true $([ $RESTATE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFSTATE true $(export_value RESTATE binary) $EXPORTFILE
replace_fn CONFVERIFIEDBOOTSTATE true $([ $REVERIFIEDBOOTSTATE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFVERIFIEDBOOTSTATE true $(export_value REVERIFIEDBOOTSTATE binary) $EXPORTFILE
replace_fn CONFVENDORVERIFIEDBOOTSTATE true $([ $REVENDORVERIFIEDBOOTSTATE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFVENDORVERIFIEDBOOTSTATE true $(export_value REVENDORVERIFIEDBOOTSTATE binary) $EXPORTFILE
replace_fn CONFLOCKED true $([ $RELOCKED == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFLOCKED true $(export_value RELOCKED binary) $EXPORTFILE
replace_fn CONFVERITYMODE true $([ $REVERITYMODE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFVERITYMODE true $(export_value REVERITYMODE binary) $EXPORTFILE
replace_fn CONFBOOTWARRANTY_BIT true $([ $REBOOTWARRANTY_BIT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFBOOTWARRANTY_BIT true $(export_value REBOOTWARRANTY_BIT binary) $EXPORTFILE
replace_fn CONFBIT true $([ $REBIT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFBIT true $(export_value REBIT binary) $EXPORTFILE
replace_fn CONFVENDORBOOTWARRANTY_BIT true $([ $REVENDORBOOTWARRANTY_BIT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFVENDORBOOTWARRANTY_BIT true $(export_value REVENDORBOOTWARRANTY_BIT binary) $EXPORTFILE
replace_fn CONFVENDORWARRANTY_BIT true $([ $REVENDORWARRANTY_BIT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFVENDORWARRANTY_BIT true $(export_value REVENDORWARRANTY_BIT binary) $EXPORTFILE
replace_fn CONFVENDORDEVICE_STATE true $([ $REVENDORDEVICE_STATE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFVENDORDEVICE_STATE true $(export_value REVENDORDEVICE_STATE binary) $EXPORTFILE
# Custom props # Custom props
replace_fn CONFPROPS "\"\"" "\"$CUSTOMPROPS\"" $EXPORTFILE replace_fn CONFPROPS "\"\"" "\"$CUSTOMPROPS\"" $EXPORTFILE
replace_fn CONFPROPSPOST "\"\"" "\"$CUSTOMPROPSPOST\"" $EXPORTFILE replace_fn CONFPROPSPOST "\"\"" "\"$CUSTOMPROPSPOST\"" $EXPORTFILE
replace_fn CONFPROPSLATE "\"\"" "\"$CUSTOMPROPSLATE\"" $EXPORTFILE replace_fn CONFPROPSLATE "\"\"" "\"$CUSTOMPROPSLATE\"" $EXPORTFILE
replace_fn CONFPROPSDELAY "\"\"" "\"$CUSTOMPROPSDELAY\"" $EXPORTFILE replace_fn CONFPROPSDELAY "\"\"" "\"$CUSTOMPROPSDELAY\"" $EXPORTFILE
# Delete props # Delete props
replace_fn CONFDELPROPS "\"\"" "\"$DELETEPROPS\"" $EXPORTFILE replace_fn CONFDELPROPS "\"\"" "\"$DELETEPROPS\"" $EXPORTFILE
# Soft reboot # Soft reboot
replace_fn CONFOPTIONSOFTBOOT false $([ $OPTIONSOFTBOOT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFOPTIONSOFTBOOT false $(export_value OPTIONSOFTBOOT binary) $EXPORTFILE
replace_fn CONFPRINTSOFTBOOT false $([ $PRINTSOFTBOOT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFPRINTSOFTBOOT false $(export_value PRINTSOFTBOOT binary) $EXPORTFILE
replace_fn CONFPATCHSOFTBOOT false $([ $PATCHSOFTBOOT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFPATCHSOFTBOOT false $(export_value PATCHSOFTBOOT binary) $EXPORTFILE
replace_fn CONFSIMSOFTBOOT false $([ $SIMSOFTBOOT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFSIMSOFTBOOT false $(export_value SIMSOFTBOOT binary) $EXPORTFILE
replace_fn CONFCUSTOMSOFTBOOT false $([ $CUSTOMSOFTBOOT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFCUSTOMSOFTBOOT false $(export_value CUSTOMSOFTBOOT binary) $EXPORTFILE
replace_fn CONFPROPSOFTBOOT false $([ $PROPSOFTBOOT == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFPROPSOFTBOOT false $(export_value PROPSOFTBOOT binary) $EXPORTFILE
# Module settings # Module settings
replace_fn CONFBOOT default $([ $OPTIONBOOT == 0 ] && echo "default" || $([ $PRINTSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE replace_fn CONFBOOT default $(export_value OPTIONBOOT stage) $EXPORTFILE
replace_fn CONFCOLOUR true $([ $OPTIONCOLOUR == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFCOLOUR true $(export_value OPTIONCOLOUR binary) $EXPORTFILE
replace_fn CONFWEBP true $([ $OPTIONWEBP == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFWEBP true $(export_value OPTIONWEBP binary) $EXPORTFILE
replace_fn CONFWEBU true $([ $OPTIONWEBU == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFWEBU true $(export_value OPTIONWEBU binary) $EXPORTFILE
replace_fn CONFUPDATE true $([ $OPTIONUPDATE == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFUPDATE true $(export_value OPTIONUPDATE binary) $EXPORTFILE
replace_fn CONFBACK false $([ $OPTIONBACK == 0 ] && echo "false" || echo "true") $EXPORTFILE replace_fn CONFBACK false $(export_value OPTIONBACK binary) $EXPORTFILE
log_handler "Export done." log_handler "Export done."
# Print info # Print info
menu_header "${C}$1${N}" menu_header "${C}$1${N}"
echo "" echo ""
echo "A module configuration file with" echo "A module configuration file with"
echo "your current settings haS been" echo "your current settings has been"
echo "saved to your internal storage," echo "saved to your internal storage,"
echo -e "in the ${C}/mhpc${N} directory." echo -e "in the ${C}/mhpc${N} directory."
echo "" echo ""
@ -2573,7 +2608,7 @@ collect_logs() {
# Copy package to internal storage # Copy package to internal storage
cp -f $MHPCPATH/propslogs.tar.gz /storage/emulated/0 >> $LOGFILE 2>&1 cp -f $MHPCPATH/propslogs.tar.gz /storage/emulated/0 >> $LOGFILE 2>&1
rm -f $MHPCPATH/propslogs.tar.gz rm -f $MHPCPATH/propslogs.tar.gz >> $LOGFILE 2>&1
# Remove temporary directory # Remove temporary directory
rm -rf $TMPLOGLOC >> $LOGFILE 2>&1 rm -rf $TMPLOGLOC >> $LOGFILE 2>&1
@ -2586,7 +2621,7 @@ collect_logs() {
echo "" echo ""
echo "Logs and information collected." echo "Logs and information collected."
echo "" echo ""
echo "The packaged file (${C}propslogs.tar.gz${N})" echo -e "The packaged file (${C}propslogs.tar.gz${N})"
echo "has been saved to the root of your device's" echo "has been saved to the root of your device's"
echo "internal storage." echo "internal storage."
echo "If it did not, please see the documentation" echo "If it did not, please see the documentation"

View File

@ -1,6 +1,7 @@
id=MagiskHidePropsConf id=MagiskHidePropsConf
name=MagiskHide Props Config name=MagiskHide Props Config
version=v6.0.2-v132 version=v6.1.0-v133
versionCode=72 versionCode=73
settingsVersion=40
author=Didgeridoohan author=Didgeridoohan
description=Change your device's fingerprint, to pass SafetyNet's CTS Profile check. Set/reset MagiskHide sensitive prop values. Change any prop values easily, and set your own custom props. description=Change your device's fingerprint, to pass SafetyNet's CTS Profile check. Set/reset MagiskHide sensitive prop values. Change any prop values easily, and set your own custom props.

View File

@ -150,33 +150,6 @@
log_handler "Loading module settings" log_handler "Loading module settings"
. $LATEFILE . $LATEFILE
# Remove ro.build.selinux if present
if [ "$(grep "ro.build.selinux" $MHPCPATH/defaultprops)" ]; then
log_handler "Removing ro.build.selinux."
resetprop -v --delete ro.build.selinux >> $LOGFILE 2>&1
fi
if [ "$PROPEDIT" == 1 ]; then
# Set trigger props
for ITEM in $TRIGGERLIST; do
TMPPROP=$(get_eq_left "$ITEM")
TMPVAL=$(echo $(grep "\[${TMPPROP}\]" "$MHPCPATH/defaultprops") | sed -e "s|.*\]\:\ \[||g;s|\]$||g")
PROP=$(get_prop_type "$TMPPROP")
REVALUE=$(eval "echo \$$(echo "RE${PROP}" | tr '[:lower:]' '[:upper:]')")
MODULEVALUE=$(eval "echo \$$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')")
if [ "$REVALUE" == 1 ]; then
if [ "$TMPVAL" == "$(get_eq_right "$ITEM")" ]; then
log_handler "Changing/writing $TMPPROP."
resetprop -nv $TMPPROP $MODULEVALUE >> $LOGFILE 2>&1
elif [ "$TMPVAL" ]; then
log_handler "Skipping $TMPPROP, not set to triggering value (set to $TMPVAL)."
else
log_handler "Skipping $TMPPROP, does not exist on device."
fi
fi
done
fi
# Edits prop values if set for post-fs-data # 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" ] || [ "$PROPBOOT" == 1 ]; then if [ "$OPTIONBOOT" == 1 ] || [ "$OPTIONBOOT" != 1 -a "$PRINTSTAGE" == 1 ] || [ "$OPTIONBOOT" != 1 -a "$PATCHSTAGE" == 1 ] || [ "$OPTIONBOOT" != 1 -a "$SIMSTAGE" == 1 ] || [ "$CUSTOMPROPSPOST" ] || [ "$DELETEPROPS" ] || [ "$PROPBOOT" == 1 ]; then
# Load functions # Load functions
@ -218,7 +191,7 @@
fi fi
# Edit MagiskHide sensitive props if set for post-fs-data # Edit MagiskHide sensitive props if set for post-fs-data
if [ "$PROPEDIT" == 1 ] && [ "$PROPBOOT" == 1]; then if [ "$PROPEDIT" == 1 ] && [ "$PROPBOOT" == 1]; then
sensitive_props "$PROPSLIST" sensitive_props "$PROPSLIST$TRIGGERLIST"
fi fi
# Edit custom props set for post-fs-data # Edit custom props set for post-fs-data
custom_edit "CUSTOMPROPSPOST" custom_edit "CUSTOMPROPSPOST"

View File

@ -108,12 +108,20 @@ fi
# Edit MagiskHide sensitive props # Edit MagiskHide sensitive props
if [ "$PROPEDIT" == 1 ]; then if [ "$PROPEDIT" == 1 ]; then
# Edit all sensitive props, if set for late_start service # Edit all sensitive props, if set for late_start service
if [ "$PROPBOOT" == 2]; then if [ "$PROPBOOT" == 2 ]; then
sensitive_props "$PROPSLIST" sensitive_props "$PROPSLIST"
fi fi
if [ "$PROPBOOT" == 0 ] || [ "$PROPBOOT" == 2 ]; then
sensitive_props "$TRIGGERPROPS"
fi
# Edit late senstive props # Edit late senstive props
{
until [ $(getprop sys.boot_completed) == 1 ]; do
sleep 1
done
sensitive_props "$LATEPROPS" "late" sensitive_props "$LATEPROPS" "late"
}&
fi fi
# Edit custom props set for late_start service # Edit custom props set for late_start service
@ -121,6 +129,12 @@ custom_edit "CUSTOMPROPSLATE"
custom_edit "CUSTOMPROPSDELAY" custom_edit "CUSTOMPROPSDELAY"
# SELinux # SELinux
# Remove ro.build.selinux if present
if [ "$(grep "ro.build.selinux" $MHPCPATH/defaultprops)" ]; then
log_handler "Removing ro.build.selinux."
resetprop -v --delete ro.build.selinux >> $LOGFILE 2>&1
fi
# Check for permissive SELinux
if [ "$(getenforce)" == "Permissive" ] || [ "$(getenforce)" == "0" ]; then if [ "$(getenforce)" == "Permissive" ] || [ "$(getenforce)" == "0" ]; then
log_handler "Dealing with permissive SELinux." log_handler "Dealing with permissive SELinux."
chmod 640 /sys/fs/selinux/enforce >> $LOGFILE 2>&1 chmod 640 /sys/fs/selinux/enforce >> $LOGFILE 2>&1

Binary file not shown.