Skip to content

Commit c4615b3

Browse files
v3.5.1-v50
1 parent 6284eea commit c4615b3

9 files changed

+317
-145
lines changed

README.md

+18-7
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ NOTE: If you're using a fingerprint for an Android build after March 16th 2018 y
150150
### I still can't pass the ctsProfile check
151151
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:
152152
- 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.
153-
- 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.
153+
- 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.
154154
- Try a different fingerprint (pick one from the provided list).
155155
- 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.
156156
- 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
176176

177177
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)
178178

179-
**_Current fingerprints list version - v49_**
179+
**_Current fingerprints list version - v50_**
180180

181181

182182
## Please add support for device X
@@ -194,6 +194,8 @@ You can enter the fingerprint manually in the `Edit device fingerprint` menu in
194194

195195

196196
## Device simulation
197+
**_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!_**
198+
197199
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):
198200
- ro.product.brand
199201
- ro.product.name
@@ -260,7 +262,9 @@ There are a couple of persistent options that you can set for the `props` script
260262
### Boot stage
261263
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.
262264

263-
Note: post-fs-data runs earlier than system.prop and late_start service runs after, right at the end of the boot process.
265+
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.
266+
267+
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.
264268

265269
### Script colours
266270
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
295299

296300
### Known issues
297301
- 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.
298-
- 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.
302+
- 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.
299303
- 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.
300304

301305
### An option is marked as "disabled"
@@ -358,7 +362,13 @@ Releases from v2.4.1 are compatible with Magisk v17+.
358362

359363

360364
## Changelog
361-
### v3.5.0
365+
### v3.5.1
366+
- Fix a few bugs causing props not setting properly at boot in some cases when using the system.prop boot stage.
367+
- 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.
368+
- Added an option to change security patch date boot stage under "Edit device fingerprint" boot stages.
369+
- Added a new fingerprint for the Xiaomi Redmi Note7 and an updated one for Motorola Moto G6 Play. Fingerprints list updated to v50.
370+
371+
### v3.5.0
362372
- Added ro.build.version.sdk to the device simulation props (see the documentation for details).
363373
- 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.
364374
- 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+.
589599

590600

591601
## Current fingerprints list
592-
### List v49
602+
### List v50
593603
- Asus Zenfone 2 Laser (6.0.1)
594604
- Asus Zenfone 4 Max (7.1.1)
595605
- Asus Zenfone Max M1 (8.0.0)
@@ -646,7 +656,7 @@ Releases from v2.4.1 are compatible with Magisk v17+.
646656
- Motorola Moto G5 (7.0)
647657
- Motorola Moto G5 Plus (7.0)
648658
- Motorola Moto G5S (7.1.1)
649-
- Motorola Moto G6 Play (8.0.0)
659+
- Motorola Moto G6 Play (8.0.0 & 9)
650660
- Motorola Moto X4 (8.0.0)
651661
- Motorola Moto Z2 Play (8.0.0)
652662
- Nextbook Ares 8A (6.0.1)
@@ -750,6 +760,7 @@ Releases from v2.4.1 are compatible with Magisk v17+.
750760
- Xiaomi Redmi Note 5 Pro (8.1.0)
751761
- Xiaomi Redmi Note 5A Lite (7.1.2)
752762
- Xiaomi Redmi Note 6 Pro (8.1.0)
763+
- Xiaomi Redmi Note 7 (9)
753764
- Xiaomi Redmi Y1 (7.1.2)
754765
- ZTE Axon 7 (7.1.1 & 8.0.0)
755766
- ZTE Blade (6.0.1)

common/post-fs-data.sh

+22-10
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# Licence: MIT
66

77
MODPATH=${0%/*}
8+
BOOTSTAGE="post"
89

910
# Load functions
1011
. $MODPATH/util_functions.sh
@@ -15,6 +16,7 @@ COREPATH=$(dirname "$IMGPATH")
1516

1617
# Start logging
1718
log_start
19+
bb_check
1820

1921
# Clears out the script check file
2022
rm -f $RUNFILE
@@ -67,18 +69,20 @@ fi
6769

6870
# Get default values
6971
log_handler "Checking device default values."
70-
curr_values
72+
#curr_values
7173
# Get the current original values saved in propsconf_late
72-
log_handler "Loading currently saved values."
73-
. $LATEFILE
74+
#log_handler "Loading currently saved values."
75+
#. $LATEFILE
7476

7577
# Save default file values in propsconf_late
7678
for ITEM in $VALPROPSLIST; do
7779
TMPPROP=$(get_prop_type $ITEM | tr '[:lower:]' '[:upper:]')
7880
ORIGPROP="ORIG${TMPPROP}"
79-
ORIGTMP="$(eval "echo \$$ORIGPROP")"
81+
#ORIGTMP="$(eval "echo \$$ORIGPROP")"
82+
ORIGTMP="$(get_file_value $LATEFILE "${ORIGPROP}=")"
8083
CURRPROP="CURR${TMPPROP}"
81-
CURRTMP="$(eval "echo \$$CURRPROP")"
84+
#CURRTMP="$(eval "echo \$$CURRPROP")"
85+
CURRTMP="$(resetprop $ITEM)"
8286
replace_fn $ORIGPROP "\"$ORIGTMP\"" "\"$CURRTMP\"" $LATEFILE
8387
done
8488
log_handler "Default values saved to $LATEFILE."
@@ -90,13 +94,13 @@ for V in $PROPSLIST; do
9094
log_handler "Checking ${V}=${FILEVALUE}"
9195
safe_props $V $FILEVALUE
9296
if [ "$SAFE" == 0 ]; then
93-
log_handler "Prop $V set to triggering value in prop file."
97+
echo "Prop $V set to triggering value in prop file." >> $LOGFILE 2>&1
9498
replace_fn FILESAFE 1 0 $LATEFILE
9599
else
96100
if [ -z "$FILEVALUE" ]; then
97-
log_handler "Could not retrieve value for prop $V."
101+
echo "Could not retrieve value for prop $V." >> $LOGFILE 2>&1
98102
elif [ "$SAFE" == 1 ]; then
99-
log_handler "Prop $V set to \"safe\" value in prop file."
103+
echo "Prop $V set to \"safe\" value in prop file." >> $LOGFILE 2>&1
100104
fi
101105
fi
102106
done
@@ -107,13 +111,17 @@ done
107111
config_file
108112

109113
# Edits prop values if set for post-fs-data
110-
echo -e "\n--------------------" >> $LOGFILE 2>&1
114+
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
111115
log_handler "Editing prop values in post-fs-data mode."
112116
if [ "$OPTIONBOOT" == 1 ]; then
113117
# ---Setting/Changing fingerprint---
114118
if [ "$PRINTSTAGE" == 0 ]; then
115119
print_edit
116120
fi
121+
# ---Setting/Changing security patch date---
122+
if [ "$PATCHSTAGE" == 0 ]; then
123+
patch_edit
124+
fi
117125
# ---Setting device simulation props---
118126
if [ "$SIMSTAGE" == 0 ]; then
119127
dev_sim_edit
@@ -125,6 +133,10 @@ fi
125133
if [ "$OPTIONBOOT" != 1 ] && [ "$PRINTSTAGE" == 1 ]; then
126134
print_edit
127135
fi
136+
# Edit security patch date if set for post-fs-data
137+
if [ "$OPTIONBOOT" != 1 ] && [ "$PATCHSTAGE" == 1 ]; then
138+
patch_edit
139+
fi
128140
# Edit simulation props if set for post-fs-data
129141
if [ "$OPTIONBOOT" != 1 ] && [ "$SIMSTAGE" == 1 ]; then
130142
dev_sim_edit
@@ -133,7 +145,7 @@ fi
133145
custom_edit "CUSTOMPROPSPOST"
134146
# Deleting props
135147
prop_del
136-
echo -e "\n--------------------" >> $LOGFILE 2>&1
148+
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
137149

138150
# Edits build.prop
139151
if [ "$FILESAFE" == 0 ]; then

common/prints.sh

+5-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
55
# Licence: MIT
66

7-
PRINTSV=49
7+
PRINTSV=50
88
PRINTSTRANSF=350
99

1010
# Certified fingerprints
@@ -64,8 +64,8 @@ Motorola Moto E5 Plus (8.0.0)=motorola/hannah_sprint/hannah:8.0.0/OCPS27.91-32-4
6464
Motorola Moto G4 (7.0)=motorola/athene/athene:7.0/NPJS25.93-14-13/3:user/release-keys
6565
Motorola Moto G5 (7.0)=motorola/cedric/cedric:7.0/NPPS25.137-15-11/11:user/release-keys
6666
Motorola Moto G5 Plus (7.0)=motorola/potter_n/potter_n:7.0/NPNS25.137-33-11/11:user/release-keys
67-
Motorola Moto G5S (7.1.1 & 8.1.0)=motorola/montana/montana:7.1.1/NPPS26.102-49-8/6:user/release-keys
68-
Motorola Moto G6 Play (8.0.0)=motorola/jeter_sprint/jeter:8.0.0/OCP27.91-23/23:user/release-keys
67+
Motorola Moto G5S (7.1.1)=motorola/montana/montana:7.1.1/NPPS26.102-49-8/6:user/release-keys
68+
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
6969
Motorola Moto X4 (8.0.0)=motorola/payton/payton:8.0.0/OPWS27.57-25-6-10/12:user/release-keys
7070
Motorola Moto Z2 Play (8.0.0)=motorola/albus/albus:8.0.0/OPS27.76-12-25/26:user/release-keys
7171
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
165165
Xiaomi Redmi Note 3 Pro (6.0.1)=Xiaomi/kenzo/kenzo:6.0.1/MMB29M/V8.2.1.0.MHOCNDL:user/release-keys
166166
Xiaomi Redmi Note 3 Pro SE (6.0.1)=Xiaomi/kate/kate:6.0.1/MMB29M/V8.1.3.0.MHRMIDI:user/release-keys
167167
Xiaomi Redmi Note 4/4X (7.0)=xiaomi/mido/mido:7.0/NRD90M/V9.2.1.0.NCFMIEK:user/release-keys
168-
Xiaomi Redmi Note 5/5 Plus (7.1.2)=xiaomi/vince/vince:7.1.2/N2G47H/V9.5.4.0.NEGMIFA:user/release-keys
168+
Xiaomi Redmi Note 5/5 Plus (7.1.2)=xiaomi/vince/vince:7.1.2/N2G47H/V9.5.4.0.NEGMIFA:user/release-keys;
169169
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
170170
Xiaomi Redmi Note 5A Lite (7.1.2)=xiaomi/ugglite/ugglite:7.1.2/N2G47H/V9.1.2.0.NDFMIEI:user/release-keys
171171
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
172+
Xiaomi Redmi Note 7 (9)=xiaomi/lavender/lavender:9/PKQ1.180904.001/V10.2.7.0.PFGINXM:user/release-keys__2019-02-05
172173
Xiaomi Redmi Y1 (7.1.2)=xiaomi/ugg/ugg:7.1.2/N2G47H/V9.6.2.0.NDKMIFD:user/release-keys__2018-07-01
173174
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
174175
ZTE Blade (6.0.1)=ZTE/P809A50_MY_MAX/P809A50:6.0.1/MMB29M/20161017.095504:user/release-keys

common/propsconf_conf

+8-1
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55
# Licence: MIT
66

77
# Required module version. Do not edit this value!
8-
CONFTRANSF=350
8+
CONFTRANSF=351
99

1010
# Device fingerprint
1111
CONFFINGERPRINT=""
1212
CONFVENDPRINT=false
1313
CONFPRINTBOOT=default
14+
CONFPATCHBOOT=late
1415

1516
# Device simulation
1617
CONFDEVSIM=false
@@ -91,6 +92,12 @@ CONFUPDATE=true
9192
# If the setting is changed to "post" or "late", the props will be set during either
9293
# post-fs-data or late_start service mode. This is useful if props don't seem to set
9394
# propely or the module's boot script seems to be causing issues during boot.
95+
#
96+
# CONFPATCHBOOT is by default set to using late_start service boot stage for setting
97+
# ro.build.version.security_patch. If the setting is changed to "default" or "late",
98+
# the prop will be set during either the default or late_start service stage. The
99+
# late_start service boot stage is used as to not cause issues for devices with
100+
# Keymaster 4 (bootloops). If the prop doesn't seem to set properly, try changing the stage.
94101

95102
# CONFDEVSIM and the following CONFBRAND, CONFNAME, CONFDEVICE, CONFRELEASE
96103
# CONFID, CONFINCREMENTAL, CONFDESCRIPTION and CONFSDK are used to set a number

common/propsconf_late

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# In that case, feel free to delete it.
1111

1212
# Script version
13-
SCRIPTV=24
13+
SCRIPTV=25
1414
SETTRANSF=2
1515
NOTTRANSF=""
1616

@@ -45,6 +45,7 @@ DELEDIT=0
4545

4646
# Boot stages
4747
PRINTSTAGE=0
48+
PATCHSTAGE=2
4849
SIMSTAGE=0
4950

5051
# Script settings

common/service.sh

+13-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# Licence: MIT
66

77
MODPATH=${0%/*}
8+
BOOTSTAGE="late"
89

910
# Load functions
1011
. $MODPATH/util_functions.sh
@@ -18,13 +19,17 @@ fi
1819
log_script_chk "Running service.sh module script."
1920

2021
# Edits prop values if set for late_start service
21-
echo -e "\n--------------------" >> $LOGFILE 2>&1
22+
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
2223
log_handler "Editing prop values in late_start service mode."
2324
if [ "$OPTIONBOOT" == 2 ]; then
2425
# ---Setting/Changing fingerprint---
2526
if [ "$PRINTSTAGE" == 0 ]; then
2627
print_edit
2728
fi
29+
# ---Setting/Changing security patch date---
30+
if [ "$PATCHSTAGE" == 0 ]; then
31+
patch_edit
32+
fi
2833
# ---Setting device simulation props---
2934
if [ "$SIMSTAGE" == 0 ]; then
3035
dev_sim_edit
@@ -36,6 +41,10 @@ fi
3641
if [ "$OPTIONBOOT" != 2 ] && [ "$PRINTSTAGE" == 2 ]; then
3742
print_edit
3843
fi
44+
# Edit security patch date if set for late_start service
45+
if [ "$OPTIONBOOT" != 2 ] && [ "$PATCHSTAGE" == 2 ]; then
46+
patch_edit
47+
fi
3948
# Edit simulation props if set for late_start service
4049
if [ "$OPTIONBOOT" != 2 ] && [ "$SIMSTAGE" == 2 ]; then
4150
dev_sim_edit
@@ -55,7 +64,7 @@ if [ "$PROPEDIT" == 1 ]; then
5564
fi
5665
done
5766
fi
58-
echo -e "\n--------------------" >> $LOGFILE 2>&1
67+
echo -e "\n----------------------------------------" >> $LOGFILE 2>&1
5968

6069
# ---Edits default.prop---
6170
if [ "$DEFAULTEDIT" == 1 ] && [ "$FILESAFE" == 0 ]; then
@@ -70,5 +79,7 @@ fi
7079
# Get currently saved values
7180
log_handler "Checking current values."
7281
curr_values
82+
# Check system.prop content
83+
system_prop_cont
7384

7485
log_script_chk "service.sh module script finished.\n\n=================="

0 commit comments

Comments
 (0)