v2.4.0-v29

This commit is contained in:
Didgeridoohan 2018-09-04 09:55:57 +02:00 committed by GitHub
parent 0861a59a83
commit dde68711eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 272 additions and 154 deletions

View File

@ -90,7 +90,7 @@ The fingerprints list will update without the need to update the entire module.
Just run the `props` command and the list will be updated automatically. Use the -nw option to disable or disable it completely in the script settings (see ["Prop script settings"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config#prop-script-settings) below). If you've disabled the this setting you can update the list manually in the `Edit device fingerprint` menu.
**_Current fingerprints list version - v28_**
**_Current fingerprints list version - v29_**
## Improved root hiding - Editing build.prop and default.prop
@ -111,6 +111,11 @@ If, for some reason, you need one or more of these to be kept as their original
## 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.
When setting a custom prop you can also pick in what boot stage it should be set in. This can also be changed later for each individual custom prop. There are three options:
- Default - The main module option will decide (see Prop script settings below).
- post-fs-data - The prop will always be set in post-fs-data, regardless of the main module option.
- late_start service - The prop will always be set in late_start service, regardless of the main module option.
## Removing prop values
If you would like to delete a certain prop value from your system, that can be done with the [Magisk resetprop tool](https://github.com/topjohnwu/Magisk/blob/master/docs/tools.md#resetprop). With this module you can easily set that up by adding whatever prop you want removed to the "Delete props" list. Be very careful when using this option, since removing the wrong prop may cause isses with your device. See ["Device issues because of the module"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config#device-issues-because-of-the-module) below if this happens.
@ -194,6 +199,14 @@ If you can't run the `props` script for some reason, the logs are also stored in
## Changelog
### v2.4.0
- Added a check for if the download of the internal Busybox fails.
- Added an option for picking what boot stage a custom prop should be set in.
- Updated the internal Busybox to @osm0sis' latest 1.29.2 build.
- Don't panick!
- Updated and added a couple of fingerprints.
- Various improvements, etc.
### v2.3.6
- Added md5 checksum when downloading the internal Busybox.
- Changed the default boot stage from late_start service to post-fs-data.
@ -321,7 +334,7 @@ If you can't run the `props` script for some reason, the logs are also stored in
## Current fingerprints list
### List v28
### List v29
- Asus Zenfone 2 Laser (6.0.1)
- Asus Zenfone 4 Max (7.1.1)
- Asus ZenPad S 8.0 (6.0.1)
@ -339,6 +352,7 @@ If you can't run the `props` script for some reason, the logs are also stored in
- Google Pixel 2 XL (8.1.0)
- Google Pixel 2 XL (P DP1)
- HTC 10 (6.0.1)
- HTC U11 (8.0.0)
- Huawei Honor 6X (8.0.0)
- Huawei Honor 9 (8.0.0)
- Huawei Mate 10 Pro (8.0.0)
@ -371,7 +385,6 @@ If you can't run the `props` script for some reason, the logs are also stored in
- Samsung Galaxy J5 2015 (6.0.1)
- Samsung Galaxy J5 (7.1.1)
- Samsung Galaxy J5 Prime (7.0)
- Samsung Galaxy Note 3 (7.1.1)
- Samsung Galaxy Note 4 (6.0.1)
- Samsung Galaxy Note 5 (7.0)
- Samsung Galaxy Note 8 (8.0.0)
@ -421,8 +434,9 @@ If you can't run the `props` script for some reason, the logs are also stored in
- Xiaomi Mi 6 (8.0.0)
- Xiaomi Mi A1 (8.0.0)
- Xiaomi Mi Max 2 (7.1.1)
- Xiaomi Mi Mix 2 (8.0.0)
- Xiaomi Mi Mix 2S (8.0.0)
- Xiaomi Mi Note 2 (7.0)
- Xiaomi Mi Note 2 (8.0.0)
- Xiaomi Redmi 3S/X Prime (6.0.1)
- Xiaomi Redmi 4 Prime (6.0.1)
- Xiaomi Redmi 4X (6.0.1)

View File

@ -1 +1 @@
ef0f310f6a35e0afa735c36afd8135e3
2eded5ac68a5e7ffc5f7eaf76e09e3a5

View File

@ -1 +1 @@
bbb13cf8bb2b1de70ecbf495cbff1450
6aeb221640a10243182169a3f6388646

View File

@ -1 +1 @@
e4be280e6a3f8102a62c261110ff69a2
1203fb78725a2e3eb6d0af195f8952a0

View File

@ -1 +1 @@
8a7f321ee8ed0fb85726de8d43d86ebf
4ed866fec3edc3c2a44a85f29628f3c2

View File

@ -1 +1 @@
170133693c4af03a6f311179793569ec
95800bfaa28b8670b1e616acea8ab537

View File

@ -1 +1 @@
b8374521632f8e8520a1ea1ad2cc919c
a2fa19d85313bc5773f89e88ba76992f

View File

@ -27,6 +27,7 @@ Google Pixel 2 (P DP1)=google/walleye/walleye:P/PPP1.180208.014/4633861:user/rel
Google Pixel 2 XL (8.1.0)=google/taimen/taimen:8.1.0/OPM4.171019.016.B1/4720843:user/release-keys
Google Pixel 2 XL (P DP1)=google/taimen/taimen:P/PPP1.180208.014/4633861:user/release-keys
HTC 10 (6.0.1)=htc/HTCOneM10vzw/htc_pmewl:6.0.1/MMB29M/774095.8:user/release-keys
HTC U11 (8.0.0)=htc/ocndtwl_01405/htc_ocndtwl:8.0.0/OPR6.170623.013/1017190.2:user/release-keys
Huawei Honor 6X (8.0.0)=HONOR/BLN-AL10/HWBLN-H:8.0.0/HONORBLN-AL10/528(C00):user/release-keys
Huawei Honor 9 (8.0.0)=HONOR/STF-L09/HWSTF:8.0.0/HUAWEISTF-L09/364(C432):user/release-keys
Huawei Mate 10 Pro (8.0.0)=HUAWEI/BLA-L29/HWBLA:8.0.0/HUAWEIBLA-L29S/137(C432):user/release-keys
@ -59,7 +60,6 @@ Samsung Galaxy J3 (5.1.1)=ro.build.fingerprint=samsung/j3xnltexx/j3xnlte:5.1.1/L
Samsung Galaxy J5 2015 (6.0.1)=samsung/j5nltexx/j5nlte:6.0.1/MMB29M/J500FNXXS1BQG1:user/release-keys
Samsung Galaxy J5 (7.1.1)=samsung/j5xnltexx/j5xnlte:7.1.1/NMF26X/J510FNXXS2BRA2:user/release-keys
Samsung Galaxy J5 Prime (7.0)=samsung/on5xeltejv/on5xelte:7.0/NRD90M/G570FXXU1BQI6:user/release-keys
Samsung Galaxy Note 3 (7.1.1)=samsung/greatltexx/greatlte:7.1.1/NMF26X/N950FXXU1AQHA:user/release-keys
Samsung Galaxy Note 4 (6.0.1)=samsung/trltexx/trlte:6.0.1/MMB29M/N910FXXS1DQH9:user/release-keys
Samsung Galaxy Note 5 (7.0)=samsung/nobleltejv/noblelte:7.0/NRD90M/N920CXXU3CQH6:user/release-keys
Samsung Galaxy Note 8 (8.0.0)=samsung/greatltexx/greatlte:8.0.0/R16NW/N950FXXU3CRC1:user/release-keys
@ -103,12 +103,13 @@ Vodafone Smart Ultra 6 (5.1.1)=Vodafone/P839V55/P839V55:5.1.1/LMY47V/20161227.13
Xiaomi Mi 3/4 (6.0.1)=Xiaomi/cancro/cancro:6.0.1/MMB29M/V9.5.2.0.MXDMIFA:user/release-keys
Xiaomi Mi 4C (7.0)=Xiaomi/libra/libra:7.0/NRD90M/V9.6.2.0.NXKCNFD:user/release-keys
Xiaomi Mi 5/5 Pro (8.0.0)=Xiaomi/gemini/gemini:8.0.0/OPR1.170623.032/V9.6.1.0.OAAMIFD:user/release-keys
Xiaomi Mi 5S (7.0)=Xiaomi/capricorn/capricorn:7.0/NRD90M/V9.2.1.0.NAGMIEK:user/release-keys
Xiaomi Mi 5S (7.0)=Xiaomi/capricorn/capricorn:7.0/NRD90M/V9.5.4.0.NAGMIFD:user/release-keys
Xiaomi Mi 5S Plus (7.0)=Xiaomi/natrium/natrium:7.0/NRD90M/V9.6.2.0.NBGMIFD:user/release-keys
Xiaomi Mi 6 (7.1.1)=Xiaomi/sagit/sagit:7.1.1/NMF26X/V8.2.17.0.NCACNEC:user/release-keys
Xiaomi Mi 6 (8.0.0)=Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V9.2.3.0.OCAMIEK:user/release-keys
Xiaomi Mi A1 (8.0.0)=xiaomi/tissot/tissot_sprout:8.0.0/OPR1.170623.026/V.9.5.10.0.ODHMIFA:user/release-keys
Xiaomi Mi Max 2 (7.1.1)=Xiaomi/oxygen/oxygen:7.1.1/NMF26F/V9.5.4.0.NDDMIFA:user/release-keys
Xiaomi Mi Mix 2 (8.0.0)=Xiaomi/chiron/chiron:8.0.0/OPR1.170623.027/V9.6.1.0.ODEMIFD:user/release-keys
Xiaomi Mi Mix 2S (8.0.0)=Xiaomi/polaris/polaris:8.0.0/OPR1.170623.032/V9.5.19.0.ODGMIFA:user/release-keys
Xiaomi Mi Note 2 (8.0.0)=Xiaomi/scorpio/scorpio:8.0.0/OPR1.170623.032/V9.6.1.0.OADCNFD:user/release-keys
Xiaomi Redmi 3S/X Prime (6.0.1)=Xiaomi/land/land:6.0.1/MMB29M/V9.5.1.0.MALMIFA:user/release-keys

View File

@ -14,6 +14,8 @@ CONFTAGS=""
CONFSELINUX=""
CONFPROPS=""
CONFPROPSPOST=""
CONFPROPSLATE=""
PROPOPTION=replace
CONFDELPROPS=""
@ -53,11 +55,15 @@ CONFWEB=enabled
# Please observe that if the prop you're trying to set contains spaces, you'll
# need to replace those spaces with "_sp_" (without the quotation marks).
#
# If you want a specific prop to run in either post-fs-data or late_start service,
# use either CONFPROPSPOST or CONFPROPSLATE instead. Any props added to CONFPROPS
# will run in the boot stage currently set in the module options (see CONFLATE below).
#
# With PROPOPTION you can decide if the current custom prop list should
# be replaced, added to or preserved. Add the corresponding words "replace",
# "add", or "preserve". The default option is to replace the list.
# This option supersedes the preserve option described below, but only
# for the CONFPROPS variable.
# for the CONFPROPS variables.
# CONFDELPROPS is a list of props you want to remove from your system.
# Be very careful when using this option, removing the wrong props might

View File

@ -9,7 +9,7 @@
# In that case, feel free to delete it.
# Script version
SCRIPTV=13
SCRIPTV=14
SETTRANSF=2
NOTTRANSF="OPTIONLATE"
@ -124,6 +124,8 @@ if [ -d "$MODPATH" ]; then
# ---Custom prop values---
CUSTOMPROPS=""
CUSTOMPROPSPOST=""
CUSTOMPROPSLATE=""
# ---Delete prop values---
DELETEPROPS=""
@ -146,14 +148,16 @@ if [ -d "$MODPATH" ]; then
SETFINGERPRINT=false
# Edits prop values if set for late_start service
echo -e "\n--------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in late_start service mode."
if [ "$OPTIONLATE" == 1 ]; then
# ---Setting/Changing fingerprint---
print_edit
# ---Setting custom props---
custom_edit
# ---Deleting props---
prop_del
custom_edit "CUSTOMPROPS"
fi
# Edit custom props set for late_start service
custom_edit "CUSTOMPROPSLATE"
# Edit MagiskHide sensitive values
if [ "$PROPEDIT" == 1 ]; then
log_handler "Changing sensitive props."
@ -168,6 +172,7 @@ if [ -d "$MODPATH" ]; then
fi
done
fi
echo -e "\n--------------------" >> $LOGFILE 2>&1
# ---Edits default.prop---
if [ "$DEFAULTEDIT" == 1 ] && [ "$FILESAFE" == 0 ]; then

View File

@ -63,17 +63,19 @@ if [ -d "$MODPATH" ]; then
config_file
# Edits prop values if set for post-fs-data
echo -e "\n--------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in post-fs-data mode."
if [ "$(get_file_value $LATEFILE "OPTIONLATE=")" == 0 ]; then
echo -e "\n--------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in post-fs-data mode."
# ---Setting/Changing fingerprint---
print_edit
# ---Setting custom props---
custom_edit
# ---Deleting props---
prop_del
echo -e "\n--------------------" >> $LOGFILE 2>&1
custom_edit "CUSTOMPROPS"
fi
# Deleting props
prop_del
# Edit custom props set for post-fs-data
custom_edit "CUSTOMPROPSPOST"
echo -e "\n--------------------" >> $LOGFILE 2>&1
# Edits build.prop
if [ "$(get_file_value $LATEFILE "FILESAFE=")" == 0 ]; then

View File

@ -279,6 +279,9 @@ module_values() {
MODULESELINUX=$(get_file_value $LATEFILE "MODULESELINUX=")
MODULEFINGERPRINT=$(get_file_value $LATEFILE "MODULEFINGERPRINT=")
CUSTOMPROPS=$(get_file_value $LATEFILE "CUSTOMPROPS=")
CUSTOMPROPSPOST=$(get_file_value $LATEFILE "CUSTOMPROPSPOST=")
CUSTOMPROPSLATE=$(get_file_value $LATEFILE "CUSTOMPROPSLATE=")
CUSTOMPROPSLIST="$CUSTOMPROPS $CUSTOMPROPSPOST $CUSTOMPROPSLATE"
DELETEPROPS=$(get_file_value $LATEFILE "DELETEPROPS=")
}
@ -412,14 +415,26 @@ config_file() {
# Updates custom props
if [ "$PROPOPTION" != "preserve" ]; then
if [ "$CONFPROPS" ]; then
if [ "$CONFPROPS" ] || [ "$CONFPROPSPOST" ] || [ "$CONFPROPSLATE" ]; then
if [ "$PROPOPTION" == "add" ] || [ "$PROPOPTION" == "replace" ]; then
if [ "$PROPOPTION" == "replace" ]; then
reset_all_custprop "file"
fi
for ITEM in $CONFPROPS; do
set_custprop "$(get_eq_left "$ITEM")" "$(get_eq_right "$ITEM")" "file"
done
if [ "$CONFPROPS" ]; then
for ITEM in $CONFPROPS; do
set_custprop "$(get_eq_left "$ITEM")" "$(get_eq_right "$ITEM")" "default" "file"
done
fi
if [ "$CONFPROPSPOST" ]; then
for ITEM in $CONFPROPSPOST; do
set_custprop "$(get_eq_left "$ITEM")" "$(get_eq_right "$ITEM")" "post" "file"
done
fi
if [ "$CONFPROPSLATE" ]; then
for ITEM in $CONFPROPSLATE; do
set_custprop "$(get_eq_left "$ITEM")" "$(get_eq_right "$ITEM")" "late" "file"
done
fi
fi
else
reset_all_custprop "file"
@ -483,25 +498,42 @@ test_connection() {
ping -c 1 -W 1 google.com >> $LOGFILE 2>&1 && CNTTEST="true" || CNTTEST="false"
}
# Busybox md5 check
md5_bb() {
if [ -f "$MODPATH/busybox.md5" ]; then
if md5sum -s -c $MODPATH/busybox.md5 2>/dev/null; then
log_print "- Busybox downloaded"
md5sum -c $MODPATH/busybox.md5 >> $LOGFILE 2>&1
chmod -v 755 $MODPATH/busybox >> $LOGFILE 2>&1
else
log_print "! Busybox md5 mismatch!"
log_print "! No busybox downloaded!"
rm -f $MODPATH/busybox >> $LOGFILE 2>&1
fi
else
log_print "- Busybox downloaded"
log_handler "Couldn't check md5 checksum"
chmod -v 755 $MODPATH/busybox >> $LOGFILE 2>&1
fi
}
# Download osm0sis' busybox
download_bb() {
log_print "Downloading busybox."
wget -T 5 -O $MODPATH/busybox $BBWWWPATH 2>&1 | tee -a $LOGFILE
if [ -f "$MODPATH/busybox" ]; then
if [ -f "$MODPATH/busybox.md5" ]; then
if md5sum -s -c $MODPATH/busybox.md5 2>/dev/null; then
log_print "- Busybox downloaded"
md5sum -c $MODPATH/busybox.md5 >> $LOGFILE 2>&1
chmod -v 755 $MODPATH/busybox >> $LOGFILE 2>&1
else
log_print "! Busybox md5 mismatch!"
log_print "! No busybox downloaded!"
rm -f $MODPATH/busybox >> $LOGFILE 2>&1
fi
if [ -s "$MODPATH/busybox" ]; then
md5_bb
elif [ -f "$MODPATH/busybox" ]; then
log_print "! Download failed!"
log_print "! Second attempt!"
rm -f $MODPATH/busybox >> $LOGFILE 2>&1
log_print "Downloading without progress bar"
wget -T 5 -q -O $MODPATH/busybox $BBWWWPATH 2>&1 | tee -a $LOGFILE
if [ -s "$MODPATH/busybox" ]; then
md5_bb
else
log_print "- Busybox downloaded"
log_handler "Couldn't check md5 checksum"
chmod -v 755 $MODPATH/busybox >> $LOGFILE 2>&1
log_print "! No busybox downloaded!"
rm -f $MODPATH/busybox >> $LOGFILE 2>&1
fi
else
log_print "! No busybox downloaded!"
@ -538,35 +570,42 @@ download_prints() {
# Checking and downloading fingerprints list
if [ "$CNTTEST" == "true" ]; then
log_print "Checking list version."
wget -T 5 -O $PRINTSTMP $PRINTSWWW >> $LOGFILE 2>&1
if [ -f "$PRINTSTMP" ]; then
wget -T 5 -q -O $PRINTSTMP $PRINTSWWW >> $LOGFILE 2>&1
if [ -s "$PRINTSTMP" ]; then
LISTVERSION=$(get_file_value $PRINTSTMP "PRINTSV=")
if [ "$LISTVERSION" == "Dev" ] || [ "$LISTVERSION" -gt "$(get_file_value $PRINTSLOC "PRINTSV=")" ]; then
if [ "$(get_file_value $PRINTSTMP "PRINTSTRANSF=")" -le "$(get_file_value $PRINTSLOC "PRINTSTRANSF=")" ]; then
mv -f $PRINTSTMP $PRINTSLOC >> $LOGFILE 2>&1
# Updates list version in module.prop
VERSIONTMP=$(get_file_value $MODPATH/module.prop "version=")
replace_fn version $VERSIONTMP "${MODVERSION}-v${LISTVERSION}" $MODPATH/module.prop
log_print "Updated list to v${LISTVERSION}."
if [ "$LISTVERSION" ]; then
if [ "$LISTVERSION" == "Dev" ] || [ "$LISTVERSION" -gt "$(get_file_value $PRINTSLOC "PRINTSV=")" ]; then
if [ "$(get_file_value $PRINTSTMP "PRINTSTRANSF=")" -le "$(get_file_value $PRINTSLOC "PRINTSTRANSF=")" ]; then
mv -f $PRINTSTMP $PRINTSLOC >> $LOGFILE 2>&1
# Updates list version in module.prop
VERSIONTMP=$(get_file_value $MODPATH/module.prop "version=")
replace_fn version $VERSIONTMP "${MODVERSION}-v${LISTVERSION}" $MODPATH/module.prop
log_print "Updated list to v${LISTVERSION}."
else
rm -f $PRINTSTMP
log_print "New fingerprints list requires module update."
fi
else
rm -f $PRINTSTMP
log_print "New fingerprints list requires module update."
log_print "Fingerprints list up-to-date."
fi
else
rm -f $PRINTSTMP
log_print "Fingerprints list up-to-date."
log_print "! File not downloaded!"
log_handler "Couldn't extract list version."
fi
elif [ -f "$PRINTSTMP" ]; then
rm -f $PRINTSTMP
log_print "! File not downloaded!"
log_handler "File is empty."
else
log_print "File not downloaded."
log_print "! File not downloaded!"
fi
else
log_print "No connection."
fi
if [ "$1" == "manual" ]; then
sleep 2
elif [ "$1" == "Dev" ]; then
sleep 2
exit_fn
else
sleep 0.5
fi
@ -857,31 +896,39 @@ reset_prop_all() {
# ======================== Custom Props functions ========================
# Set custom props
custom_edit() {
if [ "$(get_file_value $LATEFILE "CUSTOMEDIT=")" == 1 ]; then
log_handler "Writing custom props."
TMPLST="$(get_file_value $LATEFILE "CUSTOMPROPS=")"
for ITEM in $TMPLST; do
log_handler "Changing/writing $(get_eq_left "$ITEM")."
TMPITEM=$( echo $(get_eq_right "$ITEM") | sed 's|_sp_| |g')
resetprop -v $(get_eq_left "$ITEM") >> $LOGFILE 2>&1
resetprop -nv $(get_eq_left "$ITEM") "$TMPITEM" >> $LOGFILE 2>&1
done
if [ "$1" ] && [ "$(get_file_value $LATEFILE "CUSTOMEDIT=")" == 1 ]; then
TMPLST="$(get_file_value $LATEFILE "${1}=")"
if [ "$TMPLST" ]; then
log_handler "Writing custom props."
for ITEM in $TMPLST; do
log_handler "Changing/writing $(get_eq_left "$ITEM")."
TMPITEM=$( echo $(get_eq_right "$ITEM") | sed 's|_sp_| |g')
resetprop -v $(get_eq_left "$ITEM") >> $LOGFILE 2>&1
resetprop -nv $(get_eq_left "$ITEM") "$TMPITEM" >> $LOGFILE 2>&1
done
fi
fi
}
# Set custom prop value
set_custprop() {
if [ "$2" ]; then
PROPSBOOTSTAGE="CUSTOMPROPS"
if [ "$3" == "post" ]; then
PROPSBOOTSTAGE="CUSTOMPROPSPOST"
elif [ "$3" == "late" ]; then
PROPSBOOTSTAGE="CUSTOMPROPSLATE"
fi
TMPVALUE=$(echo "$2" | sed 's| |_sp_|g')
CURRCUSTPROPS=$(get_file_value $LATEFILE "CUSTOMPROPS=")
CURRCUSTPROPS=$(get_file_value $LATEFILE "${PROPSBOOTSTAGE}=")
TMPCUSTPROPS=$(echo "$CURRCUSTPROPS ${1}=${TMPVALUE}" | sed 's|^[ \t]*||')
SORTCUSTPROPS=$(echo $(printf '%s\n' $TMPCUSTPROPS | sort -u))
log_handler "Setting custom prop $1."
replace_fn CUSTOMPROPS "\"$CURRCUSTPROPS\"" "\"$SORTCUSTPROPS\"" $LATEFILE
replace_fn $PROPSBOOTSTAGE "\"$CURRCUSTPROPS\"" "\"$SORTCUSTPROPS\"" $LATEFILE
replace_fn CUSTOMEDIT 0 1 $LATEFILE
if [ "$3" != "file" ]; then
if [ "$4" != "file" ]; then
after_change "$1"
fi
fi
@ -890,10 +937,14 @@ set_custprop() {
# Reset all custom prop values
reset_all_custprop() {
CURRCUSTPROPS=$(get_file_value $LATEFILE "CUSTOMPROPS=")
CURRCUSTPROPSPOST=$(get_file_value $LATEFILE "CUSTOMPROPSPOST=")
CURRCUSTPROPSLATE=$(get_file_value $LATEFILE "CUSTOMPROPSLATE=")
log_handler "Resetting all custom props."
# Removing all custom props
replace_fn CUSTOMPROPS "\"$CURRCUSTPROPS\"" "\"\"" $LATEFILE
replace_fn CUSTOMPROPSPOST "\"$CURRCUSTPROPSPOST\"" "\"\"" $LATEFILE
replace_fn CUSTOMPROPSLATE "\"$CURRCUSTPROPSLATE\"" "\"\"" $LATEFILE
replace_fn CUSTOMEDIT 1 0 $LATEFILE
if [ "$1" != "file" ]; then
@ -903,20 +954,34 @@ reset_all_custprop() {
# Reset custom prop value
reset_custprop() {
if [ "$(echo $CUSTOMPROPS | grep $1)" ]; then
PROPSBOOTSTAGE="CUSTOMPROPS"
elif [ "$(echo $CUSTOMPROPSPOST | grep $1)" ]; then
PROPSBOOTSTAGE="CUSTOMPROPSPOST"
elif [ "$(echo $CUSTOMPROPSLATE | grep $1)" ]; then
PROPSBOOTSTAGE="CUSTOMPROPSLATE"
fi
TMPVALUE=$(echo "$2" | sed 's| |_sp_|g')
CURRCUSTPROPS=$(get_file_value $LATEFILE "CUSTOMPROPS=")
CURRCUSTPROPS=$(get_file_value $LATEFILE "${PROPSBOOTSTAGE}=")
log_handler "Resetting custom prop $1."
TMPCUSTPROPS=$(echo $CURRCUSTPROPS | sed "s|${1}=${TMPVALUE}||" | tr -s " " | sed 's|^[ \t]*||')
# Updating custom props string
replace_fn CUSTOMPROPS "\"$CURRCUSTPROPS\"" "\"$TMPCUSTPROPS\"" $LATEFILE
CURRCUSTPROPS=$(get_file_value $LATEFILE "CUSTOMPROPS=")
if [ -z "$CURRCUSTPROPS" ]; then
replace_fn $PROPSBOOTSTAGE "\"$CURRCUSTPROPS\"" "\"$TMPCUSTPROPS\"" $LATEFILE
if [ -z "$(get_file_value $LATEFILE "CUSTOMPROPS=")" ] && [ -z "$(get_file_value $LATEFILE "CUSTOMPROPSPOST=")" ] && [ -z "$(get_file_value $LATEFILE "CUSTOMPROPSLATE=")" ]; then
replace_fn CUSTOMEDIT 1 0 $LATEFILE
fi
after_change "$1"
if [ "$3" != "bootstage" ]; then
after_change "$1"
fi
}
# Change what boot stage is used for custom prop
change_bootstage_custprop() {
reset_custprop "$1" "$(resetprop $1)" "bootstage"
set_custprop "$1" "$(resetprop $1)" "$2"
}
# ======================== Delete Props functions ========================
@ -1029,7 +1094,7 @@ collect_logs() {
# Copy package to internal storage
mv -f $CACHELOC/propslogs.tar.gz /storage/emulated/0 >> $LOGFILE 2>&1
# Remove temporary directory
rm -rf $TMPLOGLOC >> $LOGFILE 2>&1

181
config.sh
View File

@ -172,6 +172,8 @@ MODULETAGS
MODULESELINUX
MODULEFINGERPRINT
CUSTOMPROPS
CUSTOMPROPSPOST
CUSTOMPROPSLATE
DELETEPROPS
"
PROPSLIST="
@ -220,77 +222,83 @@ script_placement() {
cp -af $UPDATEPOSTFILE $MODPATH/propsconf_post >> $INSTLOG 2>&1
cp -af $UPDATEPOSTFILE $POSTFILE >> $INSTLOG 2>&1
cp -af $UPDATELATEFILE $MODPATH/propsconf_late >> $INSTLOG 2>&1
# New script
if [ "$UPDATEV" -gt "$FILEV" ]; then
# Fresh install
if [ "$FILEV" == 0 ]; then
log_print "- Placing settings script"
# Updated script with a required clearing of settings
elif [ "$UPDATETRANSF" -gt "$FILETRANSF" ] && [ -z "$NOTTRANSF" ]; then
log_print "- Settings cleared (script updated)"
# Updated script
else
log_print "- Script updated"
log_print "- Transferring settings from old script"
# Prop settings
for ITEM in $SETTINGSLIST; do
# Checking if a script update requires some options not to transfer
case "$NOTTRANSF" in
*${ITEM}*)
if [ "$UPDATETRANSF" -gt "$FILETRANSF" ]; then
TRANSFOPT=1
else
if [ "$FILEV" ]; then
# New script
if [ "$UPDATEV" -gt "$FILEV" ]; then
# Fresh install
if [ "$FILEV" == 0 ]; then
log_print "- Placing settings script"
# Updated script with a required clearing of settings
elif [ "$UPDATETRANSF" -gt "$FILETRANSF" ] && [ -z "$NOTTRANSF" ]; then
log_print "- Settings cleared (script updated)"
# Updated script
else
log_print "- Script updated"
log_print "- Transferring settings from old script"
# Prop settings
for ITEM in $SETTINGSLIST; do
# Checking if a script update requires some options not to transfer
case "$NOTTRANSF" in
*${ITEM}*)
if [ "$UPDATETRANSF" -gt "$FILETRANSF" ]; then
TRANSFOPT=1
else
TRANSFOPT=0
fi
;;
*)
TRANSFOPT=0
;;
esac
if [ "$TRANSFOPT" == 1 ]; then
log_handler "Not transfering settings for ${ITEM}."
else
SOLD=$(get_file_value $LATEFILE "${ITEM}=")
SNEW=$(get_file_value $UPDATELATEFILE "${ITEM}=")
if [ "$SOLD" ] && [ "$SOLD" != "$SNEW" ]; then
log_handler "Setting ${ITEM} from ${SNEW} to ${SOLD}."
sed -i "s|${ITEM}=${SNEW}|${ITEM}=${SOLD}|" $UPDATELATEFILE
fi
;;
*)
TRANSFOPT=0
;;
esac
if [ "$TRANSFOPT" == 1 ]; then
log_handler "Not transfering settings for ${ITEM}."
else
SOLD=$(get_file_value $LATEFILE "${ITEM}=")
SNEW=$(get_file_value $UPDATELATEFILE "${ITEM}=")
if [ "$SOLD" ] && [ "$SOLD" != "$SNEW" ]; then
log_handler "Setting ${ITEM} from ${SNEW} to ${SOLD}."
sed -i "s|${ITEM}=${SNEW}|${ITEM}=${SOLD}|" $UPDATELATEFILE
fi
fi
done
# Prop values
for ITEM in $PROPSETTINGSLIST; do
SOLD=$(get_file_value $LATEFILE "${ITEM}=")
if [ "$SOLD" ]; then
log_handler "Setting ${ITEM} to ${SOLD}."
sed -i "s|${ITEM}=\"\"|${ITEM}=\"${SOLD}\"|" $UPDATELATEFILE
fi
done
# Prop and file edits
for ITEM in $PROPSLIST; do
REPROP=$(echo "RE${ITEM}" | tr '[:lower:]' '[:upper:]')
SETPROP=$(echo "SET${ITEM}" | tr '[:lower:]' '[:upper:]')
REOLD=$(get_file_value $LATEFILE "${REPROP}=")
SETOLD=$(get_file_value $LATEFILE "${SETPROP}=")
if [ "$REOLD" ] && [ "$REOLD" != "false" ]; then
log_handler "Setting sensitive prop ${ITEM} to ${REOLD}."
sed -i "s/${REPROP}=false/${REPROP}=${REOLD}/" $UPDATELATEFILE
fi
if [ "$SETOLD" ] && [ "$SETOLD" != "false" ]; then
log_handler "Setting file edit ${ITEM} to ${SETOLD}."
sed -i "s/${SETPROP}=false/${SETPROP}=${SETOLD}/" $UPDATELATEFILE
fi
done
done
# Prop values
for ITEM in $PROPSETTINGSLIST; do
SOLD=$(get_file_value $LATEFILE "${ITEM}=")
if [ "$SOLD" ]; then
log_handler "Setting ${ITEM} to ${SOLD}."
sed -i "s|${ITEM}=\"\"|${ITEM}=\"${SOLD}\"|" $UPDATELATEFILE
fi
done
# Prop and file edits
for ITEM in $PROPSLIST; do
REPROP=$(echo "RE${ITEM}" | tr '[:lower:]' '[:upper:]')
SETPROP=$(echo "SET${ITEM}" | tr '[:lower:]' '[:upper:]')
REOLD=$(get_file_value $LATEFILE "${REPROP}=")
SETOLD=$(get_file_value $LATEFILE "${SETPROP}=")
if [ "$REOLD" ] && [ "$REOLD" != "false" ]; then
log_handler "Setting sensitive prop ${ITEM} to ${REOLD}."
sed -i "s/${REPROP}=false/${REPROP}=${REOLD}/" $UPDATELATEFILE
fi
if [ "$SETOLD" ] && [ "$SETOLD" != "false" ]; then
log_handler "Setting file edit ${ITEM} to ${SETOLD}."
sed -i "s/${SETPROP}=false/${SETPROP}=${SETOLD}/" $UPDATELATEFILE
fi
done
fi
log_handler "Setting up late_start settings script."
cp -af $UPDATELATEFILE $LATEFILE >> $INSTLOG 2>&1
# Downgraded script (flashed old module version)
elif [ "$UPDATEV" -lt "$FILEV" ]; then
log_print "- Settings cleared (script downgraded)"
cp -af $UPDATELATEFILE $LATEFILE >> $INSTLOG 2>&1
# No update of script
else
log_print "- Module settings preserved"
fi
else
log_print "- Placing settings script"
log_handler "Setting up late_start settings script."
cp -af $UPDATELATEFILE $LATEFILE >> $INSTLOG 2>&1
# Downgraded script (flashed old module version)
elif [ "$UPDATEV" -lt "$FILEV" ]; then
log_print "- Settings cleared (script downgraded)"
cp -af $UPDATELATEFILE $LATEFILE >> $INSTLOG 2>&1
# No update of script
else
log_print "- Module settings preserved"
fi
}
@ -383,6 +391,23 @@ check_bb() {
fi
}
# Busybox md5 check
md5_bb() {
if [ -f "$INSTALLER/busybox.md5" ]; then
if md5sum -s -c $INSTALLER/busybox.md5 2>/dev/null; then
log_print "- Busybox downloaded"
md5sum -c $INSTALLER/busybox.md5 >> $INSTLOG 2>&1
else
log_print "! Busybox md5 mismatch!"
log_print "! No busybox downloaded!"
rm -f $MODPATH/busybox >> $INSTLOG 2>&1
fi
else
log_print "- Busybox downloaded"
log_handler "Couldn't check md5 checksum"
fi
}
# Download osm0sis' busybox
download_bb() {
if [ -f "$CACHELOC/busybox_post" ]; then
@ -403,21 +428,21 @@ download_bb() {
# Downloading busybox
if [ "$CNTTEST" == "true" ]; then
log_print "- Downloading busybox"
log_print "- Downloading busybox (${BBARCH})"
wget -T 5 -O $MODPATH/busybox $BBWWWPATH 2>&1 | tee -a $INSTLOG
if [ -f "$MODPATH/busybox" ]; then
if [ -f "$INSTALLER/busybox.md5" ]; then
if md5sum -s -c $INSTALLER/busybox.md5 2>/dev/null; then
log_print "- Busybox downloaded"
md5sum -c $INSTALLER/busybox.md5 >> $INSTLOG 2>&1
else
log_print "! Busybox md5 mismatch!"
log_print "! No busybox downloaded!"
rm -f $MODPATH/busybox >> $INSTLOG 2>&1
fi
if [ -s "$MODPATH/busybox" ]; then
md5_bb
elif [ -f "$MODPATH/busybox" ]; then
log_print "! Download failed!"
log_print "! Second attempt!"
rm -f $MODPATH/busybox >> $INSTLOG 2>&1
log_print "- Downloading without progress bar"
wget -T 5 -q -O $MODPATH/busybox $BBWWWPATH 2>&1 | tee -a $INSTLOG
if [ -s "$MODPATH/busybox" ]; then
md5_bb
else
log_print "- Busybox downloaded"
log_handler "Couldn't check md5 checksum"
log_print "! No busybox downloaded!"
rm -f $MODPATH/busybox >> $INSTLOG 2>&1
fi
else
log_print "! No busybox downloaded!"

View File

@ -1,7 +1,7 @@
id=MagiskHidePropsConf
name=MagiskHide Props Config
version=v2.3.6-v28
versionCode=22
version=v2.4.0-v29
versionCode=23
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.
minMagisk=1500

Binary file not shown.