#!/system/bin/sh # MagiskHide Props Config # By Didgeridoohan @ XDA Developers # This is a script file for the Magisk module "MagiskHide Props Config" By Didgeridoohan @ XDA Developers. # DO NOT DELETE! # 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. # Script version SCRIPTV=6 SETTRANSF=1 # Variables IMGPATH=IMG_PLACEHOLDER MODPATH=$IMGPATH/MagiskHidePropsConf CACHELOC=CACHE_PLACEHOLDER LATELOGFILE=$CACHELOC/propsconf_latefile.log CACHEFILES=" propsconf.log propsconf_last.log propsconf_install.log propsconf_conf reset_mhpc " FINGERPRINTENB=1 PRINTEDIT=0 BUILDPROPENB=1 FILESAFE=1 BUILDEDIT=0 DEFAULTEDIT=0 PROPCOUNT=0 PROPEDIT=0 CUSTOMEDIT=0 REBOOTCHK=0 OPTIONCOLOUR=1 OPTIONWEB=1 # Function to clean up different files after the module has been uninstalled cleanup() { echo "Cleaning up files in $CACHELOC." >> $LATELOGFILE for ITEM in $CACHEFILES; do if [ -f "$CACHELOC/$ITEM" ]; then echo "Deleting ${ITEM}." >> $LATELOGFILE rm -f $CACHELOC/$ITEM fi done # Suicide. echo "Removing script." >> $LATELOGFILE rm $0 } # Checks if the module is installed. Deletes itself if it isn't. if [ -d "$MODPATH" ]; then # Checks if the module is set for removal if [ -f "$MODPATH/remove" ]; then echo "Module set for removal." >> $LATELOGFILE # Cleanup cleanup else # Load functions . $MODPATH/util_functions.sh log_script_chk "Running boot script." if [ -f "$MODPATH/disable" ]; then log_start log_handler "Module disabled." else # Checks for the Universal SafetyNet Fix module and similar modules editing the device fingerprint PRINTMODULE=false for USNF in $USNFLIST; do if [ -d "$IMGPATH/$USNF" ]; then NAME=$(get_file_value $IMGPATH/$USNF/module.prop "name=") log_handler "'$NAME' installed (modifies the device fingerprint)." PRINTMODULE=true fi done if [ "$PRINTMODULE" == "true" ]; then replace_fn FINGERPRINTENB 1 0 $LATEFILE log_handler "Fingerprint modification disabled." else replace_fn FINGERPRINTENB 0 1 $LATEFILE fi # Check the reboot variable if [ "$(get_file_value $LATEFILE "REBOOTCHK\=")" == 1 ]; then replace_fn REBOOTCHK 1 0 $LATEFILE fi # ---Original values--- # default.prop FILEDEBUGGABLE="" FILESECURE="" # build.prop FILETYPE="" FILETAGS="" FILESELINUX="" FILEFINGERPRINT="" # ---Module values--- MODULEDEBUGGABLE="" MODULESECURE="" MODULETYPE="" MODULETAGS="" MODULESELINUX="" MODULEFINGERPRINT="" # ---Custom prop values--- CUSTOMPROPS="" # ---MagiskHide sensitive props--- REDEBUGGABLE=false RESECURE=false RETYPE=false RETAGS=false RESELINUX=false # ---Editing default.prop--- SETDEBUGGABLE=false SETSECURE=false # ---Editing build.prop--- SETTYPE=false SETTAGS=false SETSELINUX=false SETFINGERPRINT=false # ---Setting/Changing props--- # Set/change MagiskHide sensitive props if [ "$PROPEDIT" == 1 ]; then log_handler "Changing sensitive props." 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." 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 "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 "Editing default.prop." mount -wo remount rootfs / change_prop_file "default" mount -ro remount rootfs / else log_handler "Default.prop editing disabled." fi fi # Check if the late_start service log file exists. if [ -f "$LATELOGFILE" ]; then log_handler "Removing late_start service log ($LATELOGFILE)." rm -f $LATELOGFILE fi log_script_chk "Boot script finished.\n\n==================" fi else echo "$MODPATH not found." >> $LATELOGFILE echo "Module no longer installed." >> $LATELOGFILE # Cleanup cleanup fi