@@ -7,35 +7,35 @@ MODPATH=${0%/*}
7
7
# More info in the main Magisk thread
8
8
9
9
# MagiskHide Props Config
10
- # By Didgeridoohan @ XDA Developers
10
+ # Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
11
+ # Licence: MIT
12
+
13
+ # Load functions
14
+ . $MODPATH /util_functions.sh
11
15
12
16
# Variables
13
17
IMGPATH=$( dirname " $MODPATH " )
14
18
COREPATH=$( dirname " $IMGPATH " )
15
- POSTLOGFILE=$CACHELOC /propsconf_postfile.log
16
- POSTDEL=0
17
19
18
- # Load functions
19
- . $MODPATH /util_functions.sh
20
+ # Start logging
21
+ log_start
20
22
21
- if [ ! -f " $POSTCHKFILE " ] ; then
22
- touch $POSTCHKFILE
23
- fi
23
+ # Clears out the script check file
24
+ rm -f $RUNFILE
25
+ touch $RUNFILE
24
26
25
- # Check for boot scripts and restore backup if deleted, or if the resetfile is present
26
- if [ ! -f " $POSTFILE " ]; then
27
- # Start logging
28
- log_start
29
- log_handler " post-fs-data boot script not found."
30
- log_handler " Restoring post-fs-data boot script (${POSTFILE} )."
31
- cp -af $MODPATH /propsconf_post $POSTFILE >> $LOGFILE 2>&1
32
- chmod -v 755 $POSTFILE >> $LOGFILE 2>&1
33
- placeholder_update $POSTFILE COREPATH CORE_PLACEHOLDER " $COREPATH "
34
- placeholder_update $POSTFILE CACHELOC CACHE_PLACEHOLDER " $CACHELOC "
35
- # Deleting settings script to force a restore
36
- rm -f $LATEFILE
37
- POSTDEL=1
27
+ # Clears out the script control file
28
+ touch $POSTCHKFILE
29
+
30
+ # Checks the reboot and print update variables in propsconf_late
31
+ if [ " $REBOOTCHK " == 1 ]; then
32
+ replace_fn REBOOTCHK 1 0 $LATEFILE
33
+ fi
34
+ if [ " $PRINTCHK " == 1 ]; then
35
+ replace_fn PRINTCHK 1 0 $LATEFILE
38
36
fi
37
+
38
+ # Check for the boot script and restore backup if deleted, or if the resetfile is present
39
39
if [ ! -f " $LATEFILE " ] || [ -f " $RESETFILE " ]; then
40
40
if [ -f " $RESETFILE " ]; then
41
41
RSTTXT=" Resetting"
@@ -47,20 +47,118 @@ if [ ! -f "$LATEFILE" ] || [ -f "$RESETFILE" ]; then
47
47
log_handler " $RSTTXT late_start service boot script (${LATEFILE} )."
48
48
cp -af $MODPATH /propsconf_late $LATEFILE >> $LOGFILE 2>&1
49
49
chmod -v 755 $LATEFILE >> $LOGFILE 2>&1
50
- placeholder_update $LATEFILE POSTFILE POST_PLACEHOLDER " $POSTFILE "
51
50
placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER " $COREPATH "
52
51
placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER " $CACHELOC "
53
52
fi
54
53
55
- # Checking if the post-fs-data boot script ran during boot
56
- if [ -f " $POSTLOGFILE " ] || [ " $POSTDEL " == 1 ]; then
57
- if [ " $( cat $POSTLOGFILE | grep " Module no longer installed." ) " ] || [ " $POSTDEL " == 1 ]; then
58
- log_handler " post-fs-data boot script did not run. Attempting a re-run."
59
- . $POSTFILE
54
+ # Checks for the Universal SafetyNet Fix module and similar modules editing the device fingerprint
55
+ PRINTMODULE=false
56
+ for USNF in $USNFLIST ; do
57
+ if [ -d " $IMGPATH /$USNF " ]; then
58
+ NAME=$( get_file_value $IMGPATH /$USNF /module.prop " name=" )
59
+ log_handler " '$NAME ' installed (modifies the device fingerprint)."
60
+ PRINTMODULE=true
61
+ fi
62
+ done
63
+ if [ " $PRINTMODULE " == " true" ]; then
64
+ replace_fn FINGERPRINTENB 1 0 $LATEFILE
65
+ replace_fn PRINTMODULE 0 1 $LATEFILE
66
+ log_handler " Fingerprint modification disabled."
67
+ else
68
+ replace_fn FINGERPRINTENB 0 1 $LATEFILE
69
+ replace_fn PRINTMODULE 1 0 $LATEFILE
70
+ fi
71
+
72
+ # Get default values
73
+ log_handler " Checking device default values."
74
+ curr_values
75
+ # Get the current original values saved in propsconf_late
76
+ log_handler " Loading currently saved values."
77
+ . $LATEFILE
78
+
79
+ # Save default file values in propsconf_late
80
+ for ITEM in $VALPROPSLIST ; do
81
+ TMPPROP=$( get_prop_type $ITEM | tr ' [:lower:]' ' [:upper:]' )
82
+ ORIGPROP=" ORIG${TMPPROP} "
83
+ ORIGTMP=" $( eval " echo \$ $ORIGPROP " ) "
84
+ CURRPROP=" CURR${TMPPROP} "
85
+ CURRTMP=" $( eval " echo \$ $CURRPROP " ) "
86
+ replace_fn $ORIGPROP " \" $ORIGTMP \" " " \" $CURRTMP \" " $LATEFILE
87
+ done
88
+ log_handler " Default values saved to $LATEFILE ."
89
+
90
+ # Check if default file values are safe
91
+ orig_safe
92
+ # Loading the new values
93
+ . $LATEFILE
94
+
95
+ # Checks for configuration file
96
+ config_file
97
+
98
+ # Edits prop values if set for post-fs-data
99
+ echo -e " \n--------------------" >> $LOGFILE 2>&1
100
+ log_handler " Editing prop values in post-fs-data mode."
101
+ if [ " $OPTIONLATE " == 0 ]; then
102
+ # ---Setting/Changing fingerprint---
103
+ print_edit
104
+ # ---Setting device simulation props---
105
+ dev_sim_edit
106
+ # ---Setting custom props---
107
+ custom_edit " CUSTOMPROPS"
108
+ fi
109
+ # Deleting props
110
+ prop_del
111
+ # Edit custom props set for post-fs-data
112
+ custom_edit " CUSTOMPROPSPOST"
113
+ echo -e " \n--------------------" >> $LOGFILE 2>&1
114
+
115
+ # Edits build.prop
116
+ if [ " $FILESAFE " == 0 ]; then
117
+ log_handler " Checking for conflicting build.prop modules."
118
+ # Checks if any other modules are using a local copy of build.prop
119
+ BUILDMODULE=false
120
+ MODID=$( get_file_value $MODPATH /module.prop " id=" )
121
+ for D in $( ls $IMGPATH ) ; do
122
+ if [ $D != " $MODID " ]; then
123
+ if [ -f " $IMGPATH /$D /system/build.prop" ] || [ " $D " == " safetypatcher" ]; then
124
+ NAME=$( get_file_value $IMGPATH /$D /module.prop " name=" )
125
+ log_handler " Conflicting build.prop editing in module '$NAME '."
126
+ BUILDMODULE=true
127
+ fi
128
+ fi
129
+ done
130
+ if [ " $BUILDMODULE " == " true" ]; then
131
+ replace_fn BUILDPROPENB 1 0 $LATEFILE
132
+ else
133
+ replace_fn BUILDPROPENB 0 1 $LATEFILE
134
+ fi
135
+
136
+ # Copies the stock build.prop to the module. Only if set in propsconf_late.
137
+ if [ " $BUILDPROPENB " == 1 ] && [ " $BUILDEDIT " == 1 ]; then
138
+ log_handler " Stock build.prop copied to module."
139
+ cp -af $MIRRORLOC /build.prop $MODPATH /system/build.prop >> $LOGFILE 2>&1
140
+
141
+ # Edits the module copy of build.prop
142
+ log_handler " Editing build.prop."
143
+ # ro.build props
144
+ change_prop_file " build"
145
+ # Fingerprint
146
+ if [ " $MODULEFINGERPRINT " ] && [ " $SETFINGERPRINT " == " true" ] && [ " $FINGERPRINTENB " == 1 ]; then
147
+ PRINTSTMP=" $( grep " $ORIGFINGERPRINT " $MIRRORLOC /build.prop) "
148
+ for ITEM in $PRINTSTMP ; do
149
+ replace_fn $( get_eq_left " $ITEM " ) $( get_eq_right " $ITEM " ) $( echo $MODULEFINGERPRINT | sed ' s|\_\_.*||' ) $MODPATH /system/build.prop && log_handler " $( get_eq_left " $ITEM " ) =$( echo $MODULEFINGERPRINT | sed ' s|\_\_.*||' ) "
150
+ done
151
+ fi
152
+ else
153
+ rm -f $MODPATH /system/build.prop
154
+ log_handler " Build.prop editing disabled."
60
155
fi
156
+ else
157
+ rm -f $MODPATH /system/build.prop
158
+ log_handler " Prop file editing disabled. All values ok."
61
159
fi
62
160
63
- log_handler " post-fs-data.sh module script finished.\n\n===================="
161
+ log_script_chk " post-fs-data.sh module script finished.\n\n===================="
64
162
65
163
# Deletes the post-fs-data control file
66
- rm -f $POSTCHKFILE
164
+ rm -f $POSTCHKFILE
0 commit comments