mirror of
https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf.git
synced 2024-07-01 02:18:44 +00:00
v2.1.3
This commit is contained in:
parent
98003046ca
commit
74a880a2ee
22
README.md
22
README.md
|
@ -86,14 +86,6 @@ There are a couple of persistent options that you can set for the `props` script
|
|||
You can use a configuration file to set your desired options, rather than running the `props` command. Download the [settings file](https://raw.githubusercontent.com/Magisk-Modules-Repo/MagiskHide-Props-Config/master/common/propsconf_conf) or extract it from the module zip (in the common folder), fill in the desired options (follow the instructions in the file), place it in /cache (or /data/cache if you're using an A/B device) and reboot. This can also be done directly at the first install (through Manager or recovery), before even rebooting your device. Instant settings.
|
||||
|
||||
|
||||
## Device issues because of the module
|
||||
In case of issues, if you've set a prop value that doesn't work on your device causing it not to boot, etc, don't worry. There are options. You can follow the advice in the [troubleshooting guide](https://www.didgeridoohan.com/magisk/Magisk#hn_Module_causing_issues_Magisk_functionality_bootloop_loss_of_root_etc) to remove or disable the module, or you can use the module's built-in options to reset all module settings to the defaults.
|
||||
|
||||
Place a file named `reset_mhpc` in /cache (or /data/cache on A/B devices) and reboot.
|
||||
|
||||
It is possible to use this in combination with the configuration file described above to keep device fingerprint or any other settings intact past the reset. Just make sure to remove any custom props that might have been causing issues from the configuration file.
|
||||
|
||||
|
||||
## Keeping your device "certified"
|
||||
If you're using a custom ROM, the chances of it being [perceived as uncertified by Google](https://www.xda-developers.com/google-blocks-gapps-uncertified-devices-custom-rom-whitelist/) are pretty high. If your ROM has a build date later than March 16 2018, this might mean that you can't even log into your Google account or use Gapps without [whitelisting your device with Google](https://www.google.com/android/uncertified/) first.
|
||||
|
||||
|
@ -101,7 +93,7 @@ Magisk, and this module, can help with that.
|
|||
|
||||
Before setting up your device, install Magisk, this module and use the configuration file described above to pass the ctsProfile check. This should make your device be perceived as certified by Google and you can log into your Google account and use your device without having to whitelist it. Check [here](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/common/prints.sh) for usable fingerprints (only use the part to the right of the equal sign).
|
||||
|
||||
If you're having issues getting your device certified, take a look in the troubleshooting guide linked below.
|
||||
If you're having issues getting your device certified, take a look in the Magisk troubleshooting guide linked below.
|
||||
|
||||
|
||||
## Miscellaneous MagiskHide issues
|
||||
|
@ -113,6 +105,13 @@ But first: have you tried turning it off and on again? Toggling MagiskHide off a
|
|||
## Issues, support, etc
|
||||
If you have questions, suggestions or are experiencing some kind of issue, visit the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-simple-t3765199) @ XDA.
|
||||
|
||||
### Device issues because of the module
|
||||
In case of issues, if you've set a prop value that doesn't work on your device causing it not to boot, etc, don't worry. There are options. You can follow the advice in the [Magisk troubleshooting guide](https://www.didgeridoohan.com/magisk/Magisk#hn_Module_causing_issues_Magisk_functionality_bootloop_loss_of_root_etc) to remove or disable the module, or you can use the module's built-in options to reset all module settings to the defaults.
|
||||
|
||||
Place a file named `reset_mhpc` in /cache (or /data/cache on A/B devices) and reboot.
|
||||
|
||||
It is possible to use this in combination with the configuration file described above to keep device fingerprint or any other settings intact past the reset. Just make sure to remove any custom props that might have been causing issues from the configuration file.
|
||||
|
||||
### Logs, etc
|
||||
In case of issues, please provide the logs, saved in /cache, "magisk.log", "propsconf.log" and "propsconf_last.log", together with a detailed description of your problem. Providing the output from terminal might also be useful. If you have the latest beta release of Magisk installed, the "magisk_debug.log" is also useful. If there's no new beta released, there's always a beta version of the latest stable Magisk release, so that you can collect the debug log.
|
||||
|
||||
|
@ -127,6 +126,11 @@ In case of issues, please provide the logs, saved in /cache, "magisk.log", "prop
|
|||
|
||||
|
||||
## Changelog
|
||||
### v2.1.3
|
||||
- Reverted the function to only editing existing fingerprint props.
|
||||
- Optimised setting the different props.
|
||||
- Minor updates and improvements.
|
||||
|
||||
### v2.1.2
|
||||
- Detects and edits only existing device fingerprint props.
|
||||
- Slightly optimised the boot scripts.
|
||||
|
|
|
@ -85,37 +85,31 @@ if [ "$(get_file_value $LATEFILE "FILESAFE=")" == 0 ]; then
|
|||
|
||||
# Copies the stock build.prop to the module. Only if set in propsconf_late.
|
||||
if [ "$(get_file_value $LATEFILE "BUILDPROPENB=")" == 1 ] && [ "$(get_file_value $LATEFILE "BUILDEDIT=")" == 1 ]; then
|
||||
log_handler "Build.prop editing enabled."
|
||||
cp /system/build.prop $MODPATH/system/build.prop
|
||||
cp -f /system/build.prop $MODPATH/system/build.prop
|
||||
log_handler "Stock build.prop copied from /system."
|
||||
|
||||
# Edits the module copy of build.prop
|
||||
module_values
|
||||
log_handler "Editing build.prop."
|
||||
if [ "$MODULETYPE" ]; then
|
||||
SEDTYPE="$MODULETYPE"
|
||||
else
|
||||
SEDTYPE="user"
|
||||
fi
|
||||
if [ "$(get_file_value $LATEFILE "SETTYPE=")" == "true" ]; then
|
||||
replace_fn "ro.build.type" $FILETYPE $SEDTYPE $MODPATH/system/build.prop && log_handler "ro.build.type=$SEDTYPE"
|
||||
fi
|
||||
if [ "$MODULETAGS" ]; then
|
||||
SEDTAGS="$MODULETAGS"
|
||||
else
|
||||
SEDTAGS="release-keys"
|
||||
fi
|
||||
if [ "$(get_file_value $LATEFILE "SETTAGS=")" == "true" ]; then
|
||||
replace_fn "ro.build.tags" $FILETAGS $SEDTAGS $MODPATH/system/build.prop && log_handler "ro.build.tags=$SEDTAGS"
|
||||
fi
|
||||
if [ "$MODULESELINUX" ]; then
|
||||
SEDSELINUX="$MODULESELINUX"
|
||||
else
|
||||
SEDSELINUX="0"
|
||||
fi
|
||||
if [ "$(get_file_value $LATEFILE "SETSELINUX=")" == "true" ]; then
|
||||
replace_fn "ro.build.selinux" $FILESELINUX $SEDSELINUX $MODPATH/system/build.prop && log_handler "ro.build.selinux=$SEDSELINUX"
|
||||
fi
|
||||
log_handler "Editing build.prop."
|
||||
for ITEM in $PROPSLIST; do
|
||||
PROP=$(get_prop_type $ITEM)
|
||||
MODULEPROP=$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')
|
||||
FILEPROP=$(echo "FILE${PROP}" | tr '[:lower:]' '[:upper:]')
|
||||
SETPROP=$(echo "SET${PROP}" | tr '[:lower:]' '[:upper:]')
|
||||
if [ "$(eval "echo \$$MODULEPROP")" ]; then
|
||||
SEDVAR="$(eval "echo \$$MODULEPROP")"
|
||||
else
|
||||
for P in $SAFELIST; do
|
||||
if [ "$(get_eq_left $P)" == "$ITEM" ]; then
|
||||
SEDVAR=$(get_eq_right $P)
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [ "$(get_file_value $LATEFILE "${SETPROP}=")" == "true" ]; then
|
||||
replace_fn $ITEM $(eval "echo \$$FILEPROP") $SEDVAR $MODPATH/system/build.prop && log_handler "${ITEM}=${SEDVAR}"
|
||||
fi
|
||||
done
|
||||
# Fingerprint
|
||||
if [ "$MODULEFINGERPRINT" ] && [ "$(get_file_value $LATEFILE "SETFINGERPRINT=")" == "true" ]; then
|
||||
PRINTSTMP="$(cat /system/build.prop | grep "$FILEFINGERPRINT")"
|
||||
for ITEM in $PRINTSTMP; do
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# In that case, feel free to delete it.
|
||||
|
||||
# Script version
|
||||
SCRIPTV=4
|
||||
SCRIPTV=5
|
||||
SETTRANSF=1
|
||||
|
||||
# Variables
|
||||
|
@ -69,7 +69,6 @@ if [ -d "$MODPATH" ]; then
|
|||
log_handler "Fingerprint modification disabled."
|
||||
else
|
||||
replace_fn FINGERPRINTENB 0 1 $LATEFILE
|
||||
log_handler "Fingerprint modification enabled."
|
||||
fi
|
||||
|
||||
# Check the reboot variable
|
||||
|
@ -119,44 +118,39 @@ if [ -d "$MODPATH" ]; then
|
|||
# Set/change MagiskHide sensitive props
|
||||
if [ "$PROPEDIT" == 1 ]; then
|
||||
log_handler "Changing sensitive props."
|
||||
if [ "$REDEBUGGABLE" == "true" ]; then
|
||||
resetprop -v ro.debuggable $MODULEDEBUGGABLE 2>> $LOGFILE
|
||||
fi
|
||||
if [ "$RESECURE" == "true" ]; then
|
||||
resetprop -v ro.secure $MODULESECURE 2>> $LOGFILE
|
||||
fi
|
||||
if [ "$RETYPE" == "true" ]; then
|
||||
resetprop -v ro.build.type $MODULETYPE 2>> $LOGFILE
|
||||
fi
|
||||
if [ "$RETAGS" == "true" ]; then
|
||||
resetprop -v ro.build.tags $MODULETAGS 2>> $LOGFILE
|
||||
fi
|
||||
if [ "$RESELINUX" == "true" ]; then
|
||||
resetprop -v ro.build.selinux $MODULESELINUX 2>> $LOGFILE
|
||||
fi
|
||||
for ITEM in $PROPSLIST; do
|
||||
PROP=$(get_prop_type $ITEM)
|
||||
REPROP=$(echo "RE${PROP}" | tr '[:lower:]' '[:upper:]')
|
||||
MODULEPROP=$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')
|
||||
if [ "$(eval "echo \$$REPROP")" == "true" ]; then
|
||||
log_handler "Changing/writing $ITEM."
|
||||
resetprop -v $ITEM 2>> $LOGFILE
|
||||
resetprop -v $ITEM $(eval "echo \$$MODULEPROP") 2>> $LOGFILE
|
||||
fi
|
||||
done
|
||||
fi
|
||||
# Set new fingerprint
|
||||
if [ "$FINGERPRINTENB" == 1 -o "$PRINTMODULE" == "false" ] && [ "$PRINTEDIT" == 1 ]; then
|
||||
log_handler "Changing fingerprint."
|
||||
PRINTSTMP="$(resetprop | grep "build.fingerprint" | sed 's/\]\:\ /\]/')"
|
||||
for ITEM in $PRINTSTMP; do
|
||||
TMPPROP=$(echo $ITEM | sed 's/\]\[.*//' | sed 's/\[//')
|
||||
resetprop -v $TMPPROP $MODULEFINGERPRINT 2>> $LOGFILE
|
||||
done
|
||||
for ITEM in $PRINTPROPS; do
|
||||
log_handler "Changing/writing $ITEM."
|
||||
resetprop -v $ITEM 2>> $LOGFILE
|
||||
resetprop -v $ITEM $MODULEFINGERPRINT 2>> $LOGFILE
|
||||
done
|
||||
fi
|
||||
|
||||
# ---Setting custom props---
|
||||
if [ "$CUSTOMEDIT" == 1 ]; then
|
||||
log_handler "Writing custom props."
|
||||
for ITEM in $CUSTOMPROPS; do
|
||||
log_handler "Writing $(get_eq_left $ITEM)."
|
||||
log_handler "Changing/writing $(get_eq_left $ITEM)."
|
||||
resetprop -v $(get_eq_left $ITEM) 2>> $LOGFILE
|
||||
resetprop -v $(get_eq_left $ITEM) $(get_eq_right $ITEM) 2>> $LOGFILE
|
||||
done
|
||||
fi
|
||||
|
||||
# ---Edits default.prop---
|
||||
if [ "$DEFAULTEDIT" == 1 ] && [ "$FILESAFE" == 0 ]; then
|
||||
log_handler "Default.prop editing enabled."
|
||||
log_handler "Editing default.prop."
|
||||
mount -wo remount rootfs /
|
||||
if [ "$MODULEDEBUGGABLE" ]; then
|
||||
|
|
|
@ -47,9 +47,16 @@ ro.build.tags=release-keys
|
|||
ro.build.selinux=0
|
||||
"
|
||||
|
||||
# Print props
|
||||
PRINTPROPS="
|
||||
ro.build.fingerprint
|
||||
ro.bootimage.build.fingerprint
|
||||
ro.vendor.build.fingerprint
|
||||
"
|
||||
|
||||
# Finding file values
|
||||
get_file_value() {
|
||||
cat $1 | grep $2 | sed "s/.*${2}//" | sed 's/\"//g'
|
||||
cat $1 | grep $2 | sed "s@.*${2}@@" | sed 's@\"@@g'
|
||||
}
|
||||
|
||||
# Logs
|
||||
|
@ -90,23 +97,23 @@ menu_header() {
|
|||
|
||||
# Find prop type
|
||||
get_prop_type() {
|
||||
echo $1 | sed 's/.*\.//'
|
||||
echo $1 | sed 's@.*\.@@'
|
||||
}
|
||||
|
||||
# Get left side of =
|
||||
get_eq_left() {
|
||||
echo $1 | sed 's/=.*//'
|
||||
echo $1 | sed 's@=.*@@'
|
||||
}
|
||||
|
||||
# Get right side of =
|
||||
get_eq_right() {
|
||||
echo $1 | sed 's/.*=//'
|
||||
echo $1 | sed 's@.*=@@'
|
||||
}
|
||||
|
||||
# Get first word in string
|
||||
get_first() {
|
||||
case $1 in
|
||||
*\ *) echo $1 | sed 's/\ .*//'
|
||||
*\ *) echo $1 | sed 's@\ .*@@'
|
||||
;;
|
||||
*=*) get_eq_left $1
|
||||
;;
|
||||
|
@ -165,26 +172,26 @@ curr_values() {
|
|||
CURRFINGERPRINT=$(resetprop ro.build.fingerprint)
|
||||
if [ -z "$CURRFINGERPRINT" ]; then
|
||||
CURRFINGERPRINT=$(resetprop ro.bootimage.build.fingerprint)
|
||||
if [ -z "$CURRFINGERPRINT" ]; then
|
||||
CURRFINGERPRINT=$(resetprop ro.vendor.build.fingerprint)
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Prop file values
|
||||
file_values() {
|
||||
FILEDEBUGGABLE=$(get_file_value /default.prop "ro.debuggable=")
|
||||
FILESECURE=$(get_file_value /default.prop "ro.secure=")
|
||||
FILETYPE=$(get_file_value /system/build.prop "ro.build.type=")
|
||||
FILETAGS=$(get_file_value /system/build.prop "ro.build.tags=")
|
||||
FILESELINUX=$(get_file_value /system/build.prop "ro.build.selinux=")
|
||||
FILEFINGERPRINT=$(get_file_value /system/build.prop "ro.build.fingerprint=")
|
||||
FILEDEBUGGABLE=$(resetprop ro.debuggable)
|
||||
FILESECURE=$(resetprop ro.secure)
|
||||
FILETYPE=$(resetprop ro.build.type)
|
||||
FILETAGS=$(resetprop ro.build.tags)
|
||||
FILESELINUX=$(resetprop ro.build.selinux)
|
||||
FILEFINGERPRINT=$(resetprop ro.build.fingerprint)
|
||||
if [ -z "$FILEFINGERPRINT" ]; then
|
||||
FILEFINGERPRINT=$(get_file_value /system/build.prop "ro.bootimage.build.fingerprint=")
|
||||
FILEFINGERPRINT=$(resetprop ro.bootimage.build.fingerprint)
|
||||
if [ -z "$FILEFINGERPRINT" ]; then
|
||||
FILEFINGERPRINT=$(resetprop ro.build.fingerprint)
|
||||
if [ -z "$FILEFINGERPRINT" ]; then
|
||||
FILEFINGERPRINT=$(resetprop ro.bootimage.build.fingerprint)
|
||||
fi
|
||||
FILEFINGERPRINT=$(resetprop ro.vendor.build.fingerprint)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Latefile values
|
||||
|
@ -652,7 +659,7 @@ reset_prop_all() {
|
|||
set_custprop() {
|
||||
if [ "$2" ]; then
|
||||
CURRCUSTPROPS=$(get_file_value $LATEFILE "CUSTOMPROPS=")
|
||||
TMPCUSTPROPS=$(echo "$CURRCUSTPROPS ${1}=${2}" | sed 's/^[ \t]*//')
|
||||
TMPCUSTPROPS=$(echo "$CURRCUSTPROPS ${1}=${2}" | sed 's@^[ \t]*@@')
|
||||
SORTCUSTPROPS=$(echo $(printf '%s\n' $TMPCUSTPROPS | sort -u))
|
||||
|
||||
log_handler "Setting custom prop $1."
|
||||
|
@ -684,7 +691,7 @@ reset_custprop() {
|
|||
CURRCUSTPROPS=$(get_file_value $LATEFILE "CUSTOMPROPS=")
|
||||
|
||||
log_handler "Resetting custom props $1."
|
||||
TMPCUSTPROPS=$(echo $CURRCUSTPROPS | sed "s/${1}=${2}//" | tr -s " " | sed 's/^[ \t]*//')
|
||||
TMPCUSTPROPS=$(echo $CURRCUSTPROPS | sed "s@${1}=${2}@@" | tr -s " " | sed 's@^[ \t]*@@')
|
||||
|
||||
# Removing all custom props
|
||||
replace_fn CUSTOMPROPS "\"$CURRCUSTPROPS\"" "\"$TMPCUSTPROPS\"" $LATEFILE
|
||||
|
|
|
@ -102,7 +102,7 @@ set_permissions() {
|
|||
|
||||
# Finding file values
|
||||
get_file_value() {
|
||||
cat $1 | grep $2 | sed "s/.*$2//" | sed 's/\"//g'
|
||||
cat $1 | grep $2 | sed "s@.*$2@@" | sed 's@\"@@g'
|
||||
}
|
||||
|
||||
# Variables
|
||||
|
@ -286,7 +286,7 @@ script_install() {
|
|||
placeholder_update $MODPATH/util_functions.sh BIN BIN_PLACEHOLDER "$BIN"
|
||||
placeholder_update $MODPATH/util_functions.sh USNFLIST USNF_PLACEHOLDER "$USNFLIST"
|
||||
placeholder_update $MODPATH/util_functions.sh CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
|
||||
MODVERSION=$(echo $(get_file_value $MODPATH/module.prop "version=") | sed 's/-.*//')
|
||||
MODVERSION=$(echo $(get_file_value $MODPATH/module.prop "version=") | sed 's@-.*@@')
|
||||
placeholder_update $MODPATH/util_functions.sh MODVERSION VER_PLACEHOLDER $MODVERSION
|
||||
placeholder_update $LATEFILE IMGPATH IMG_PLACEHOLDER $BIMGPATH
|
||||
placeholder_update $MODPATH/system/$BIN/props IMGPATH IMG_PLACEHOLDER $BIMGPATH
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
id=MagiskHidePropsConf
|
||||
name=MagiskHide Props Config
|
||||
version=v2.1.2-v10
|
||||
versionCode=8
|
||||
version=v2.1.3-v10
|
||||
versionCode=9
|
||||
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.
Loading…
Reference in New Issue
Block a user