From 1409f398ee25c658d800587b194a8689406a2129 Mon Sep 17 00:00:00 2001 From: Didgeridoohan Date: Fri, 5 Apr 2019 23:10:02 +0200 Subject: [PATCH] v4.0.0-v51 --- META-INF/com/google/android/update-binary | 165 +------------------- README.md | 18 ++- common/post-fs-data.sh | 22 +-- common/prints.sh | 27 ++-- common/propsconf_conf | 6 +- common/propsconf_late | 42 +----- common/util_functions.sh | 174 ++++++++++------------ install.sh | 64 ++++++++ module.prop | 5 +- system/binpath/props | Bin 69713 -> 69697 bytes uninstall.sh | 35 +++++ 11 files changed, 231 insertions(+), 327 deletions(-) create mode 100644 install.sh create mode 100644 uninstall.sh diff --git a/META-INF/com/google/android/update-binary b/META-INF/com/google/android/update-binary index ee658be..2eebc61 100755 --- a/META-INF/com/google/android/update-binary +++ b/META-INF/com/google/android/update-binary @@ -1,161 +1,10 @@ #!/sbin/sh -########################################################################################## -# -# Magisk Module Template Install Script -# by topjohnwu -# -########################################################################################## +# This is a dummy file that should be replaced with a proper installer script -TMPDIR=/dev/tmp -INSTALLER=$TMPDIR/install -# Always mount under tmp -MOUNTPATH=$TMPDIR/magisk_img +# If you are creating a module locally for personal usage or testing, +# download the script in the following URL: +# https://github.com/topjohnwu/Magisk/blob/master/scripts/module_installer.sh +# And replace this script with the downloaded script -# Default permissions -umask 022 - -# Initial cleanup -rm -rf $TMPDIR 2>/dev/null -mkdir -p $INSTALLER - -# echo before loading util_functions -ui_print() { echo "$1"; } - -require_new_magisk() { - ui_print "*******************************" - ui_print " Please install Magisk v17.0+! " - ui_print "*******************************" - exit 1 -} - -########################################################################################## -# Environment -########################################################################################## - -OUTFD=$2 -ZIP=$3 - -mount /data 2>/dev/null - -# Load utility functions -if [ -f /data/adb/magisk/util_functions.sh ]; then - . /data/adb/magisk/util_functions.sh -elif [ -f /data/magisk/util_functions.sh ]; then - NVBASE=/data - . /data/magisk/util_functions.sh -else - require_new_magisk -fi - -# Use alternative image if in BOOTMODE -$BOOTMODE && IMG=$NVBASE/magisk_merge.img - -# Preperation for flashable zips -setup_flashable - -# Mount partitions -mount_partitions - -# Detect version and architecture -api_level_arch_detect - -# You can get the Android API version from $API, the CPU architecture from $ARCH -# Useful if you are creating Android version / platform dependent mods - -# Setup busybox and binaries -$BOOTMODE && boot_actions || recovery_actions - -########################################################################################## -# Preparation -########################################################################################## - -# Extract common files -unzip -o "$ZIP" module.prop config.sh 'common/*' -d $INSTALLER >&2 - -[ ! -f $INSTALLER/config.sh ] && abort "! Unable to extract zip file!" -# Load configurations -. $INSTALLER/config.sh - -# Check the installed magisk version -MIN_VER=`grep_prop minMagisk $INSTALLER/module.prop` -[ ! -z $MAGISK_VER_CODE -a $MAGISK_VER_CODE -ge $MIN_VER ] || require_new_magisk -MODID=`grep_prop id $INSTALLER/module.prop` -MODPATH=$MOUNTPATH/$MODID - -# Print mod name -print_modname - -# Please leave this message in your flashable zip for credits :) -ui_print "******************************" -ui_print "Powered by Magisk (@topjohnwu)" -ui_print "******************************" - -########################################################################################## -# Install -########################################################################################## - -# Get the variable reqSizeM. Use your own method to determine reqSizeM if needed -request_zip_size_check "$ZIP" - -# This function will mount $IMG to $MOUNTPATH, and resize the image based on $reqSizeM -mount_magisk_img - -# Start module installation log -log_start -# Check for fresh Magisk installation -install_check - -# Create mod paths -rm -rf $MODPATH 2>/dev/null -mkdir -p $MODPATH - -# Extract files to system. Use your own method if needed -ui_print "- Extracting module files" -unzip -o "$ZIP" 'system/*' -d $MODPATH >&2 - -# Remove placeholder -rm -f $MODPATH/system/placeholder 2>/dev/null - -# Handle replace folders -for TARGET in $REPLACE; do - mktouch $MODPATH$TARGET/.replace -done - -# Auto Mount -$AUTOMOUNT && touch $MODPATH/auto_mount - -# prop files -$PROPFILE && cp -af $INSTALLER/common/system.prop $MODPATH/system.prop - -# Module info -cp -af $INSTALLER/module.prop $MODPATH/module.prop -if $BOOTMODE; then - # Update info for Magisk Manager - mktouch /sbin/.core/img/$MODID/update - cp -af $INSTALLER/module.prop /sbin/.core/img/$MODID/module.prop -fi - -# post-fs-data mode scripts -$POSTFSDATA && cp -af $INSTALLER/common/post-fs-data.sh $MODPATH/post-fs-data.sh - -# service mode scripts -$LATESTARTSERVICE && cp -af $INSTALLER/common/service.sh $MODPATH/service.sh - -# Module script installation -script_install - -ui_print "- Setting permissions" -set_permissions - -########################################################################################## -# Finalizing -########################################################################################## - -# Unmount magisk image and shrink if possible -unmount_magisk_img - -$BOOTMODE || recovery_cleanup -rm -rf $TMPDIR - -ui_print "- Done" -exit 0 +# Error, this script should always be replaced +exit 1 \ No newline at end of file diff --git a/README.md b/README.md index ba21c26..09f2305 100644 --- a/README.md +++ b/README.md @@ -63,8 +63,8 @@ Keep reading below to find out more details about the different parts of the mod ## Prerequisites -- Magisk v17+. -- Busybox, preferably @osm0sis' +- Magisk v19+. +- Busybox, preferably @osm0sis' (installable from the Magisk Manager Downloads). ## Installation @@ -78,6 +78,8 @@ After installing the module and rebooting, run the command `props` in a terminal You can also run the command with options. Use -h for details. +If you want further details as to what this module does and can do, keep reading. To get an overview of what is available, take a look at the index above. If experiencing issues, take a look at the part about [Issues, support,etc](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#issues-support-etc), and don't forget to provide [logs](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#logs) when asking for help. + ## Spoofing device's fingerprint to pass the ctsProfile check If your device can't pass SafetyNet fully, the CTS profile check fails while basic integrity passes, that means MagiskHide is working on your device but Google doesn't recognise your device as being certified (if basic integrity fails there is nothing this module can do, please check [I can't pass the basicIntegrity check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#i-cant-pass-the-basicintegrity-check)). @@ -176,7 +178,7 @@ Just run the `props` command and the list will be updated automatically. Use the 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) -**_Current fingerprints list version - v50_** +**_Current fingerprints list version - v51_** ## Please add support for device X @@ -359,9 +361,17 @@ Any previous releases can be found on [GitHub](https://github.com/Magisk-Modules Releases up until v2.4.0 are compatible with Magisk v15 to v16.7. Releases from v2.4.1 are compatible with Magisk v17+. +Releases from v4.0.0 are compatible with Magisk v19+. ## Changelog +### v4.0.0 +- Updated to the new module template. Otherwise the same as v3.5.2, apart from some installation cleanup. +- New (Samsung Galaxy A6 Plus and Tab S3, Xiaomi Mi Note 3) and updated (Essential PH-1, Google Pixel and Pixel XL 1-3 and Pixel C, OnePlus 5T and Xiaomi Mi A2 and Pocophone F1) fingerprints added. List at v51. + +### v3.5.2 +- Fixed a bug where automatic update of the applied fingerprint during installation would cause the installation to fail. + ### v3.5.1 - Fix a few bugs causing props not setting properly at boot in some cases when using the system.prop boot stage. - 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. @@ -599,7 +609,7 @@ Releases from v2.4.1 are compatible with Magisk v17+. ## Current fingerprints list -### List v50 +### List v51 - Asus Zenfone 2 Laser (6.0.1) - Asus Zenfone 4 Max (7.1.1) - Asus Zenfone Max M1 (8.0.0) diff --git a/common/post-fs-data.sh b/common/post-fs-data.sh index 83e8f95..92841b6 100644 --- a/common/post-fs-data.sh +++ b/common/post-fs-data.sh @@ -11,8 +11,7 @@ BOOTSTAGE="post" . $MODPATH/util_functions.sh # Variables -IMGPATH=$(dirname "$MODPATH") -COREPATH=$(dirname "$IMGPATH") +MODULESPATH=$(dirname "$MODPATH") # Start logging log_start @@ -44,16 +43,13 @@ if [ ! -f "$LATEFILE" ] || [ -f "$RESETFILE" ]; then fi log_handler "$RSTTXT late_start service boot script (${LATEFILE})." cp -af $MODPATH/propsconf_late $LATEFILE >> $LOGFILE 2>&1 - chmod -v 755 $LATEFILE >> $LOGFILE 2>&1 - placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH" - placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC" fi # 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=") + if [ -d "$MODULESPATH/$USNF" ]; then + NAME=$(get_file_value $MODULESPATH/$USNF/module.prop "name=") log_handler "'$NAME' installed (modifies the device fingerprint)." PRINTMODULE=true fi @@ -69,19 +65,13 @@ fi # Get default values log_handler "Checking device default values." -#curr_values -# Get the current original values saved in propsconf_late -#log_handler "Loading currently saved values." -#. $LATEFILE # Save default file values in propsconf_late for ITEM in $VALPROPSLIST; do TMPPROP=$(get_prop_type $ITEM | tr '[:lower:]' '[:upper:]') ORIGPROP="ORIG${TMPPROP}" - #ORIGTMP="$(eval "echo \$$ORIGPROP")" ORIGTMP="$(get_file_value $LATEFILE "${ORIGPROP}=")" CURRPROP="CURR${TMPPROP}" - #CURRTMP="$(eval "echo \$$CURRPROP")" CURRTMP="$(resetprop $ITEM)" replace_fn $ORIGPROP "\"$ORIGTMP\"" "\"$CURRTMP\"" $LATEFILE done @@ -153,10 +143,10 @@ if [ "$FILESAFE" == 0 ]; then # Checks if any other modules are using a local copy of build.prop BUILDMODULE=false MODID=$(get_file_value $MODPATH/module.prop "id=") - for D in $(ls $IMGPATH); do + for D in $(ls $MODULESPATH); do if [ $D != "$MODID" ]; then - if [ -f "$IMGPATH/$D/system/build.prop" ] || [ "$D" == "safetypatcher" ]; then - NAME=$(get_file_value $IMGPATH/$D/module.prop "name=") + if [ -f "$MODULESPATH/$D/system/build.prop" ] || [ "$D" == "safetypatcher" ]; then + NAME=$(get_file_value $MODULESPATH/$D/module.prop "name=") log_handler "Conflicting build.prop editing in module '$NAME'." BUILDMODULE=true fi diff --git a/common/prints.sh b/common/prints.sh index de2b7fa..db86dae 100644 --- a/common/prints.sh +++ b/common/prints.sh @@ -4,7 +4,7 @@ # Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers # Licence: MIT -PRINTSV=50 +PRINTSV=51 PRINTSTRANSF=350 # Certified fingerprints @@ -15,7 +15,7 @@ Asus Zenfone Max M1 (8.0.0)=asus/WW_X00PD/ASUS_X00P_4:8.0.0/OPR1.170623.032/15.0 Asus Zenfone Max Pro M1 (8.1.0)=asus/RU_X00TD/ASUS_X00T_6:8.1.0/OPM1/15.2016.1902.340-20190216:user/release-keys__2019-02-01 Asus ZenPad S 8.0 (6.0.1)=asus/WW_P01M/P01M_3:6.0.1/MMB29P/WW_P01M-V5.6.0-20170608:user/release-keys Elephone U Pro (8.0.0)=Elephone/U_Pro/U_Pro:8.0.0/Elephone_U_Pro_20180917/09172123:user/release-keys__2018-09-05 -Essential PH-1 (9)=essential/mata/mata:9/PQ1A.190105.024/462:user/release-keys__2019-03-05 +Essential PH-1 (9)=essential/mata/mata:9/PQ1A.190105.045/483:user/release-keys__2019-04-05 Google Nexus 4 (5.1.1)=google/occam/mako:5.1.1/LMY48T/2237560:user/release-keys Google Nexus 5 (6.0.1)=google/hammerhead/hammerhead:6.0.1/M4B30Z/3437181:user/release-keys Google Nexus 5X (8.1.0)=google/bullhead/bullhead:8.1.0/OPM7.181205.001/5080180:user/release-keys__2018-12-05 @@ -28,13 +28,13 @@ Google Nexus 7 2013 LTE (6.0.1)=google/razorg/deb:6.0.1/MOB30X/3036618:user/rele Google Nexus 9 WiFi (7.1.1)=google/volantis/flounder:7.1.1/N9F27M/4333998:user/release-keys Google Nexus 9 LTE (7.1.1)=google/volantisg/flounder_lte:7.1.1/N4F27P/4333386:user/release-keys Google Nexus 10 (5.1.1)=google/mantaray/manta:5.1.1/LMY49J/2640980:user/release-keys -Google Pixel (8.1.0 & 9)=google/sailfish/sailfish:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/sailfish/sailfish:9/PQ2A.190305.002/5240760:user/release-keys__2019-03-05 -Google Pixel XL (8.1.0 & 9)=google/marlin/marlin:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/marlin/marlin:9/PQ2A.190305.002/5240760:user/release-keys__2019-03-05 -Google Pixel 2 (8.1.0 & 9)=google/walleye/walleye:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/walleye/walleye:9/PQ2A.190305.002/5240760:user/release-keys__2019-03-05 -Google Pixel 2 XL (8.1.0 & 9)=google/taimen/taimen:8.1.0/OPM4.171019.016.B1/4720843:user/release-keys;google/taimen/taimen:9/PQ2A.190305.002/5240760:user/release-keys__2019-03-05 -Google Pixel 3 (9)=google/blueline/blueline:9/PQ2A.190305.002/5240760:user/release-keys__2019-03-05 -Google Pixel 3 XL (9)=google/crosshatch/crosshatch:9/PQ2A.190305.002/5240760:user/release-keys__2019-03-05 -Google Pixel C (8.1.0)=google/ryu/dragon:8.1.0/OPM8.190305.001/5238107:user/release-keys__2019-03-05 +Google Pixel (8.1.0 & 9)=google/sailfish/sailfish:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/sailfish/sailfish:9/PQ2A.190405.003/5310204:user/release-keys__2019-04-05 +Google Pixel XL (8.1.0 & 9)=google/marlin/marlin:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/marlin/marlin:9/PQ2A.190405.003/5310204:user/release-keys__2019-04-05 +Google Pixel 2 (8.1.0 & 9)=google/walleye/walleye:8.1.0/OPM2.171019.029/4657601:user/release-keys;google/walleye/walleye:9/PQ2A.190405.003/5310204:user/release-keys__2019-04-05 +Google Pixel 2 XL (8.1.0 & 9)=google/taimen/taimen:8.1.0/OPM4.171019.016.B1/4720843:user/release-keys;google/taimen/taimen:9/PQ2A.190405.003/5310204:user/release-keys__2019-04-05 +Google Pixel 3 (9)=google/blueline/blueline:9/PQ2A.190405.003/5310204:user/release-keys__2019-04-05 +Google Pixel 3 XL (9)=google/crosshatch/crosshatch:9/PQ2A.190405.003/5310204:user/release-keys__2019-04-05 +Google Pixel C (8.1.0)=google/ryu/dragon:8.1.0/OPM8.190405.001/5321448:user/release-keys__2019-04-05 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 HTC U12 Plus (8.0.0)=htc/imeuhl_00617/htc_imeuhl:8.0.0/OPR1.170623.032/1041457.3:user/release-keys__2018-06-01 @@ -77,13 +77,14 @@ OnePlus X (6.0.1)=OnePlus/OnePlus/OnePlus:6.0.1/MMB29M/10281213:user/release-key OnePlus 3 (8.0.0)=OnePlus/OnePlus3/OnePlus3:8.0.0/OPR1.170623.032/1809142047:user/release-keys__2018-09-01 OnePlus 3T (8.0.0)=OnePlus/OnePlus3/OnePlus3T:8.0.0/OPR1.170623.032/1812060016:user/release-keys__2018-11-01 OnePlus 5 (8.1.0 & 9)=OnePlus/OnePlus5/OnePlus5:8.1.0/OPM1.171019.011/1809241512:user/release-keys__2018-09-01;OnePlus/OnePlus5/OnePlus5:9/PKQ1.180716.001/1812102249:user/release-keys__2018-12-01 -OnePlus 5T (8.1.0 & 9)=OnePlus/OnePlus5T/OnePlus5T:8.1.0/OPM1.171019.011/1809241512:user/release-keys__2018-09-01;OnePlus/OnePlus5T/OnePlus5T:9/PKQ1.180716.001/1902221914:user/release-keys__2019-01-01 +OnePlus 5T (8.1.0 & 9)=OnePlus/OnePlus5T/OnePlus5T:8.1.0/OPM1.171019.011/1809241512:user/release-keys__2018-09-01;OnePlus/OnePlus5T/OnePlus5T:9/PKQ1.180716.001/1903112032:user/release-keys__2019-03-01 OnePlus 6 (8.1.0 & 9)=OnePlus/OnePlus6/OnePlus6:8.1.0/OPM1.171019.011/06140300:user/release-keys;OnePlus/OnePlus6/OnePlus6:9/PKQ1.180716.001/1809150000:user/release-keys__2018-09-05 OnePlus 6T (9)=OnePlus/OnePlus6T/OnePlus6T:9/PKQ1.180716.001/1901231231:user/release-keys__2019-01-01 Razer Phone (8.1.0)=razer/cheryl/cheryl:8.1.0/OPM1.171019.011-RZR-180803/6033:user/release-keys__2018-07-05 Razer Phone 2 (8.1.0)=razer/cheryl2/aura:8.1.0/O-MR2-RC009-RZR-181124/2009:user/release-keys__2018-10-05 Samsung Galaxy A5 2015 (6.0.1)=samsung/a5ultexx/a5ulte:6.0.1/MMB29M/A500FUXXU1CPH3:user/release-keys Samsung Galaxy A5 2017 (8.0.0)=samsung/a5y17ltexx/a5y17lte:8.0.0/R16NW/A520FXXU4CRE8:user/release-keys__2018-05-01 +Samsung Galaxy A6 Plus (9)=samsung/a6pltedx/a6plte:9/PPR1.180610.011/A605GDXU3BSC6:user/release-keys__2019-03-01 Samsung Galaxy A8 Plus (7.1.1)=samsung/jackpot2ltexx/jackpot2lte:7.1.1/NMF26X/A730FXXU2ARD1:user/release-keys Samsung Galaxy Grand Prime (5.0.2)=samsung/fortuna3gdtvvj/fortuna3gdtv:5.0.2/LRX22G/G530BTVJU1BPH4:user/release-keys Samsung Galaxy J2 (5.1.1)=samsung/j23gdd/j23g:5.1.1/LMY48B/J200HXXU0AQK2:user/release-keys @@ -110,6 +111,7 @@ Samsung Galaxy S8 (8.0.0)=samsung/dreamltexx/dreamlte:8.0.0/R16NW/G950FXXU1CRC7: Samsung Galaxy S8 Plus (8.0.0)=samsung/dream2ltexx/dream2lte:8.0.0/R16NW/G955FXXU1CRC7:user/release-keys Samsung Galaxy S9 (8.0.0)=samsung/starltexx/starlte:8.0.0/R16NW/G960FXXU1ARCC:user/release-keys Samsung Galaxy S9 Plus (8.0.0)=samsung/star2ltexx/star2lte:8.0.0/R16NW/G965FXXU1ARCC:user/release-keys +Samsung Galaxy Tab S3 (LTE SM-T825) (8.0.0)=samsung/gts3lltexx/gts3llte:8.0.0/R16NW/T825XXU2BRL2:user/release-keys__2018-12-01 Sony Xperia X (8.0.0)=Sony/F5121/F5121:8.0.0/34.4.A.2.118/1631208121:user/release-keys__2018-09-01 Sony Xperia X Compact (8.0.0)=Sony/F5321/F5321:8.0.0/34.4.A.2.118/1631208121:user/release-keys__2018-09-01 Sony Xperia X Dual (8.0.0)=Sony/F5122/F5122:8.0.0/34.4.A.2.118/1631208121:user/release-keys__2018-09-01 @@ -147,15 +149,16 @@ Xiaomi Mi 5S Plus (6.0.1 & 7.0)=Xiaomi/natrium/natrium:6.0.1/MXB48T/V8.5.2.0.MBG 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 8 (8.1.0 & 9)=Xiaomi/dipper/dipper:8.1.0/OPM1.171019.011/V9.5.5.0.OEAMIFA:user/release-keys;Xiaomi/dipper/dipper:9/PKQ1.180729.001/V10.2.3.0.PEAMIXM:user/release-keys__2019-02-01 Xiaomi Mi A1 (8.0.0 & 9)=xiaomi/tissot/tissot_sprout:8.0.0/OPR1.170623.026/V.9.5.10.0.ODHMIFA:user/release-keys;xiaomi/tissot/tissot_sprout:9/PKQ1.180917.001/V10.0.4.0.PDHMIXM:user/release-keys_2019-01-05 -Xiaomi Mi A2 (8.1.0 & 9)=xiaomi/jasmine/jasmine_sprout:8.1.0/OPM1.171019.011/V9.6.16.0.ODIMIFE:user/release-keys__2018-11-05;xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/V10.0.4.0.PDIMIXM:user/release-keys__2019-02-05 +Xiaomi Mi A2 (8.1.0 & 9)=xiaomi/jasmine/jasmine_sprout:8.1.0/OPM1.171019.011/V9.6.16.0.ODIMIFE:user/release-keys__2018-11-05;xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/V10.0.7.0.PDIMIXM:user/release-keys__2019-03-05 Xiaomi Mi A2 Lite (9)=xiaomi/daisy/daisy_sprout:9/PKQ1.180917.001/V10.0.1.0.PDLMIFJ:user/release-keys__2018-11-05 Xiaomi Mi Max (6.0.1)=Xiaomi/helium/helium:6.0.1/MMB29M/V8.2.3.0.MBDMIDL: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/V10.2.2.0.ODEMIXM:user/release-keys__2018-12-01 Xiaomi Mi Mix 2S (8.0.0 & 9)=Xiaomi/polaris/polaris:8.0.0/OPR1.170623.032/V9.5.19.0.ODGMIFA:user/release-keys;Xiaomi/polaris/polaris:9/PKQ1.180729.001/V10.2.2.0.PDGMIXM:user/release-keys__2019-02-01 Xiaomi Mi Note 2 (7.0 & 8.0.0)=Xiaomi/scorpio/scorpio:7.0/NRD90M/V9.2.1.0.NADMIEK:user/release-keys;Xiaomi/scorpio/scorpio:8.0.0/OPR1.170623.032/V9.6.1.0.OADCNFD:user/release-keys +Xiaomi Mi Note 3 (8.1.0)=Xiaomi/jason/jason:8.1.0/OPM1.171019.019/V10.2.2.0.OCHMIXM:user/release-keys__2018-12-01 Xiaomi Mi Pad 4 (8.1.0)=Xiaomi/clover/clover:8.1.0/OPM1.171019.019/V10.1.1.0.ODJCNFI:user/release-keys__2018-10-01 -Xiaomi Pocophone F1 (9)=Xiaomi/beryllium/beryllium:9/PKQ1.180729.001/V10.2.3.0.PEJMIXM:user/release-keys__2019-02-05 +Xiaomi Pocophone F1 (9)=Xiaomi/beryllium/beryllium:9/PKQ1.180729.001/V10.3.4.0.PEJMIXM:user/release-keys__2019-03-01 Xiaomi Redmi 3/3 Pro (5.1.1)=Xiaomi/ido/ido:5.1.1/LMY47V/V9.6.2.0.LAIMIFD: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 Xiaomi Redmi 4 Prime (6.0.1)=Xiaomi/markw/markw:6.0.1/MMB29M/V9.5.3.0.MBEMIFA:user/release-keys diff --git a/common/propsconf_conf b/common/propsconf_conf index bbe94af..6d15b07 100644 --- a/common/propsconf_conf +++ b/common/propsconf_conf @@ -4,7 +4,11 @@ # Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers # Licence: MIT -# Required module version. Do not edit this value! +# ================================================================= +# ======================= Configuration file ====================== +# ================================================================= + +# Required module version (or newer). Do not edit this value! CONFTRANSF=351 # Device fingerprint diff --git a/common/propsconf_late b/common/propsconf_late index f2a4f26..a06cc28 100644 --- a/common/propsconf_late +++ b/common/propsconf_late @@ -1,5 +1,3 @@ -#!/system/bin/sh - # MagiskHide Props Config # Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers # Licence: MIT @@ -10,17 +8,10 @@ # In that case, feel free to delete it. # Script version -SCRIPTV=25 +SCRIPTV=26 SETTRANSF=2 NOTTRANSF="" -# Paths -COREPATHPH=CORE_PLACEHOLDER -IMGPATH=$COREPATH/img -MODPATH=$IMGPATH/MagiskHidePropsConf -CACHELOCPH=CACHE_PLACEHOLDER -LATELOGFILE=$CACHELOC/propsconf_latefile.log - # Fingerprint FINGERPRINTENB=1 PRINTMODULE=0 @@ -134,34 +125,3 @@ SETTYPE=false SETTAGS=false SETSELINUX=false SETFINGERPRINT=false - -rm -f $LATELOGFILE - -# Function to clean up some files after the module has been uninstalled -cleanup() { - echo "Cleaning up files in $CACHELOC." >> $LATELOGFILE 2>&1 - for ITEM in $CACHEFILES; do - if [ -f "$CACHELOC/$ITEM" ]; then - echo "Deleting ${ITEM}." >> $LATELOGFILE 2>&1 - rm -f $CACHELOC/$ITEM - fi - done - # Suicide. - echo "Removing script." >> $LATELOGFILE 2>&1 - rm -f $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 2>&1 - # Cleanup - cleanup - fi -else - echo "$MODPATH not found." >> $LATELOGFILE 2>&1 - echo "Module no longer installed." >> $LATELOGFILE 2>&1 - # Cleanup - cleanup -fi diff --git a/common/util_functions.sh b/common/util_functions.sh index ed3015b..63dc674 100644 --- a/common/util_functions.sh +++ b/common/util_functions.sh @@ -14,28 +14,16 @@ get_file_value() { # ======================== Variables ======================== if [ "$INSTFN" ]; then # Installation (config.sh) - MODVERSION=$(echo $(get_file_value $INSTALLER/module.prop "version=") | sed 's|-.*||') - if [ "$MAGISK_VER_CODE" -ge 17316 ]; then - COREPATH=/sbin/.magisk - else - COREPATH=/sbin/.core - fi + MODVERSION=$(echo $(get_file_value $TMPDIR/module.prop "version=") | sed 's|-.*||') ADBPATH=/data/adb - BIMGPATH=$COREPATH/img - $BOOTMODE && IMGPATH=$BIMGPATH || IMGPATH=$MOUNTPATH - if [ "$MAGISK_VER_CODE" -ge 17316 ]; then - POSTPATH=$ADBPATH/post-fs-data.d - SERVICEPATH=$ADBPATH/service.d - LATEHOLDER=$ADBPATH/service.d/propsconf_late - else - POSTPATH=$IMGPATH/.core/post-fs-data.d - SERVICEPATH=$IMGPATH/.core/service.d - LATEHOLDER=$BIMGPATH/.core/service.d/propsconf_late - fi + MODULESPATH=$ADBPATH/modules + POSTPATH=$ADBPATH/post-fs-data.d + SERVICEPATH=$ADBPATH/service.d + LATEPATH=$ADBPATH/mhpc + LATEFILE=$LATEPATH/propsconf_late POSTFILE=$POSTPATH/propsconf_post - LATEFILE=$SERVICEPATH/propsconf_late POSTLATEFILE=$POSTPATH/propsconf_late - UPDATELATEFILE=$INSTALLER/common/propsconf_late + UPDATELATEFILE=$TMPDIR/propsconf_late MIRRORLOC=/sbin/.magisk/mirror/system if [ -z $SLOT ]; then CACHELOC=/cache @@ -99,7 +87,6 @@ if [ "$INSTFN" ]; then DELETEPROPS " else - # Regular # Placeholder variables MODVERSIONPH=VER_PLACEHOLDER LATEFILEPH=LATE_PLACEHOLDER @@ -121,6 +108,7 @@ else " fi +COREPATH=/sbin/.magisk MIRRORPATH=$COREPATH/mirror SYSTEMFILE=$MODPATH/system.prop POSTCHKFILE=$CACHELOC/propsconf_postchk @@ -130,8 +118,8 @@ MAGISKLOC=/data/adb/magisk # Make sure that the terminal app used actually can see resetprop alias resetprop="$MAGISKLOC/magisk resetprop" # Finding installed Busybox -if [ -d "$IMGPATH/busybox-ndk" ]; then - BBPATH=$(find $IMGPATH/busybox-ndk -name 'busybox') +if [ -d "$MODULESPATH/busybox-ndk" ]; then + BBPATH=$(find $MODULESPATH/busybox-ndk -name 'busybox') else BBPATH=$(which busybox) fi @@ -154,6 +142,7 @@ universal-safetynet-fix samodx-safetyskipper safetypatcher petnoires-safetyspoofer +VR_Patch " # Configuration file locations @@ -303,8 +292,7 @@ menu_header() { # Get module version module_v_ctrl() { - VERSIONTMP=$(get_file_value $MODPATH/module.prop "version=") - VERSIONCMP=$(echo $VERSIONTMP | sed 's|v||g' | sed 's|-.*||' | sed 's|\.||g') + VERSIONCMP=$(echo $MODVERSION | sed 's|v||g' | sed 's|\.||g') } # Check for Busybox @@ -424,7 +412,8 @@ format_file() { # Reboot the device force_reboot() { echo "" - log_print "${C}Rebooting...${N}" + echo "${C}Rebooting...${C}" + log_print "Rebooting." setprop sys.powerctl reboot sleep 15 log_handler "Rebooting failed." @@ -505,9 +494,6 @@ after_change() { if [ "$2" == "file" ]; then # Load module settings . $LATEFILE - if [ "$3" == "install" ]; then - MODPATH=$MOUNTPATH/$MODID - fi else # Update the reboot variable reboot_chk @@ -515,7 +501,7 @@ after_change() { all_values # Update the system.prop file system_prop - if [ "$4" != "noreboot" ]; then + if [ "$3" != "noreboot" ] && [ -z "$INSTFN" ]; then # Ask to reboot reboot_fn "$1" "$2" fi @@ -608,9 +594,6 @@ reset_fn() { if [ "$FINGERPRINTENB" ] && [ "$FINGERPRINTENB" != 1 ]; then replace_fn FINGERPRINTENB 1 $FINGERPRINTENB $LATEFILE fi - chmod -v 755 $LATEFILE >> $LOGFILE 2>&1 - placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC" - placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH" after_change "$1" "$2" } @@ -633,7 +616,7 @@ config_file() { . $CONFFILE module_v_ctrl - if [ "$CONFTRANSF" -le $VERSIONCMP ]; then + if [ "$CONFTRANSF" ] && [ $CONFTRANSF -le $VERSIONCMP ]; then # Check if vendor fingerprint is set if [ "$CONFVENDPRINT" == "true" ]; then log_handler "Using vendor fingerprint" @@ -651,19 +634,19 @@ config_file() { if [ "$TMPPROP" != "preserve" ]; then if [ "$PROPTYPE" == "ro.build.fingerprint" ]; then if [ "$FINGERPRINTENB" == 1 ]; then - change_print "$PROPTYPE" "$TMPPROP" "file" "$1" + change_print "$PROPTYPE" "$TMPPROP" "file" fi else - change_prop "$PROPTYPE" "$TMPPROP" "file" "$1" + change_prop "$PROPTYPE" "$TMPPROP" "file" fi fi else if [ "$PROPTYPE" == "ro.build.fingerprint" ]; then if [ "$FINGERPRINTENB" == 1 ]; then - reset_print "$PROPTYPE" "file" "$1" + reset_print "$PROPTYPE" "file" fi else - reset_prop "$PROPTYPE" "file" "$1" + reset_prop "$PROPTYPE" "file" fi fi done @@ -680,14 +663,14 @@ config_file() { else TMPVAL=0 fi - change_sim_prop "Device simulation" "$ITEM" "$TMPVAL" "file" "$1" + change_sim_prop "Device simulation" "$ITEM" "$TMPVAL" "file" done fi # Device description if [ "$CONFDESCRIPTION" == "true" ]; then - change_sim_descr "Device simulation" 1 "file" "$1" + change_sim_descr "Device simulation" 1 "file" else - change_sim_descr "Device simulation" 0 "file" "$1" + change_sim_descr "Device simulation" 0 "file" fi fi @@ -736,9 +719,9 @@ config_file() { # Updates prop file editing if [ "$FILESAFE" == 0 ]; then if [ "$CONFPROPFILES" == "true" ]; then - edit_prop_files "file" "" " (configuration file)" "$1" + edit_prop_files "file" "" " (configuration file)" elif [ "$CONFPROPFILES" == "false" ]; then - reset_prop_files "file" "" " (configuration file)" "$1" + reset_prop_files "file" "" " (configuration file)" fi fi @@ -747,26 +730,26 @@ config_file() { if [ "$CONFPROPS" ] || [ "$CONFPROPSPOST" ] || [ "$CONFPROPSLATE" ]; then if [ "$PROPOPTION" == "add" ] || [ "$PROPOPTION" == "replace" ]; then if [ "$PROPOPTION" == "replace" ]; then - reset_all_custprop "file" "$1" + reset_all_custprop "file" fi if [ "$CONFPROPS" ]; then for ITEM in $CONFPROPS; do - set_custprop "$(get_eq_left "$ITEM")" "$(get_eq_right "$ITEM")" "default" "file" "$1" + 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" "$1" + 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" "$1" + set_custprop "$(get_eq_left "$ITEM")" "$(get_eq_right "$ITEM")" "late" "file" done fi fi else - reset_all_custprop "file" "$1" + reset_all_custprop "file" fi fi @@ -775,14 +758,14 @@ config_file() { if [ "$CONFDELPROPS" ]; then if [ "$DELPROPOPTION" == "add" ] || [ "$DELPROPOPTION" == "replace" ]; then if [ "$DELPROPOPTION" == "replace" ]; then - reset_all_delprop "file" "$1" + reset_all_delprop "file" fi for ITEM in $CONFDELPROPS; do - set_delprop "$ITEM" "file" "$1" + set_delprop "$ITEM" "file" done fi else - reset_all_delprop "file" "$1" + reset_all_delprop "file" fi fi @@ -825,7 +808,7 @@ config_file() { replace_fn OPTIONUPDATE $OPTIONUPDATE $OPTFCHNG $LATEFILE log_handler "Automatic fingerprint update is set to $CONFUPDATE." else - log_handler "The configuration file is not compatible with the current module version." + log_handler "The configuration file is not compatible with the current module version ($CONFTRANSF vs $VERSIONCMP)." fi # Update the system.prop file @@ -887,13 +870,19 @@ script_placement() { if [ -f "$LATEFILE" ]; then FILEV=$(get_file_value $LATEFILE "SCRIPTV=") FILETRANSF=$(get_file_value $LATEFILE "SETTRANSF=") + LATEFILETMP="$LATEFILE" + elif [ -f "$SERVICEPATH/propsconf_late" ]; then + FILEV=$(get_file_value $SERVICEPATH/propsconf_late "SCRIPTV=") + FILETRANSF=$(get_file_value $SERVICEPATH/propsconf_late "SETTRANSF=") + LATEFILETMP="$SERVICEPATH/propsconf_late" else FILEV=0 FILETRANSF=$UPDATETRANSF + LATEFILETMP="$LATEFILE" fi log_print "- Installing scripts" - cp -af $INSTALLER/common/util_functions.sh $MODPATH/util_functions.sh >> $LOGFILE 2>&1 - cp -af $INSTALLER/common/prints.sh $MODPATH/prints.sh >> $LOGFILE 2>&1 + cp -af $TMPDIR/util_functions.sh $MODPATH/util_functions.sh >> $LOGFILE 2>&1 + cp -af $TMPDIR/prints.sh $MODPATH/prints.sh >> $LOGFILE 2>&1 cp -af $UPDATELATEFILE $MODPATH/propsconf_late >> $LOGFILE 2>&1 if [ "$FILEV" ]; then # New script @@ -926,7 +915,7 @@ script_placement() { if [ "$TRANSFOPT" == 1 ]; then log_handler "Not transfering settings for ${ITEM}." else - SOLD=$(get_file_value $LATEFILE "${ITEM}=") + SOLD=$(get_file_value $LATEFILETMP "${ITEM}=") SNEW=$(get_file_value $UPDATELATEFILE "${ITEM}=") if [ "$SOLD" ] && [ "$SOLD" != "$SNEW" ]; then log_handler "Setting ${ITEM} from ${SNEW} to ${SOLD}." @@ -936,7 +925,7 @@ script_placement() { done # Prop values for ITEM in $PROPSETTINGSLIST; do - SOLD=$(get_file_value $LATEFILE "${ITEM}=") + SOLD=$(get_file_value $LATEFILETMP "${ITEM}=") if [ "$SOLD" ]; then log_handler "Setting ${ITEM} to ${SOLD}." sed -i "s|${ITEM}=\"\"|${ITEM}=\"${SOLD}\"|" $UPDATELATEFILE @@ -947,8 +936,8 @@ script_placement() { ITEM="$(get_prop_type $ITEM)" 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}=") + REOLD=$(get_file_value $LATEFILETMP "${REPROP}=") + SETOLD=$(get_file_value $LATEFILETMP "${SETPROP}=") if [ "$REOLD" ] && [ "$REOLD" != "false" ]; then log_handler "Setting sensitive prop ${ITEM} to ${REOLD}." sed -i "s/${REPROP}=false/${REPROP}=${REOLD}/" $UPDATELATEFILE @@ -960,10 +949,16 @@ script_placement() { done fi log_handler "Setting up late_start settings script." + if [ ! -d "$LATEPATH" ]; then + mkdir -pv $LATEPATH >> $LOGFILE 2>&1 + fi cp -af $UPDATELATEFILE $LATEFILE >> $LOGFILE 2>&1 # Downgraded script (flashed old module version) elif [ "$UPDATEV" -lt "$FILEV" ]; then log_print "- Settings cleared (script downgraded)" + if [ ! -d "$LATEPATH" ]; then + mkdir -pv $LATEPATH >> $LOGFILE 2>&1 + fi cp -af $UPDATELATEFILE $LATEFILE >> $LOGFILE 2>&1 # No update of script else @@ -972,17 +967,24 @@ script_placement() { else log_print "- Placing settings script" log_handler "Setting up late_start settings script." + if [ ! -d "$LATEPATH" ]; then + mkdir -pv $LATEPATH >> $LOGFILE 2>&1 + fi cp -af $UPDATELATEFILE $LATEFILE >> $LOGFILE 2>&1 fi + if [ -f "$SERVICEPATH/propsconf_late" ]; then + log_handler "Old settings file found in $SERVICEPATH." + rm -f $SERVICEPATH/propsconf_late >> $LOGFILE 2>&1 + fi } # Checks if any other module is using a local copy of build.prop build_prop_check() { log_print "- Checking for build.prop conflicts" - for D in $(ls $IMGPATH); do + for D in $(ls $MODULESPATH); do if [ "$D" != "$MODID" ]; then - if [ -f "$IMGPATH/$D/system/build.prop" ] || [ "$D" == "safetypatcher" ]; then - NAME=$(get_file_value $IMGPATH/$D/module.prop "name=") + if [ -f "$MODULESPATH/$D/system/build.prop" ] || [ "$D" == "safetypatcher" ]; then + NAME=$(get_file_value $MODULESPATH/$D/module.prop "name=") ui_print "!" log_print "! Another module editing build.prop detected!" log_print "! Module - '$NAME'!" @@ -998,8 +1000,8 @@ build_prop_check() { usnf_check() { log_print "- Checking for fingerprint conflicts" for USNF in $USNFLIST; do - if [ -d "$IMGPATH/$USNF" ]; then - NAME=$(get_file_value $IMGPATH/$USNF/module.prop "name=") + if [ -d "$MODULESPATH/$USNF" ]; then + NAME=$(get_file_value $MODULESPATH/$USNF/module.prop "name=") ui_print "!" log_print "! Module editing fingerprint detected!" log_print "! Module - '$NAME'!" @@ -1022,15 +1024,6 @@ bin_check() { mv -f $MODPATH/system/binpath $MODPATH/system/$BIN >> $LOGFILE 2>&1 } -# Magisk installation check -install_check() { - if [ ! -d "$SERVICEPATH" ]; then - log_print "- Fresh Magisk installation detected." - log_handler "Creating path for boot script." - mkdir -pv $SERVICEPATH >> $LOGFILE 2>&1 - fi -} - # Check for late_start service boot script in post-fs-data.d, in case someone's moved it and also delete the old propsconf_post boot script if present post_check() { if [ -f "$POSTLATEFILE" ]; then @@ -1073,7 +1066,6 @@ load_settings() { if [ -f "$LATEFILE" ]; then . $LATEFILE fi - MODPATH=$MOUNTPATH/$MODID } # Installs everything @@ -1085,15 +1077,13 @@ script_install() { post_check script_placement log_print "- Updating placeholders" - placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC" - placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH" placeholder_update $MODPATH/util_functions.sh MODVERSION VER_PLACEHOLDER "$MODVERSION" - placeholder_update $MODPATH/util_functions.sh LATEFILE LATE_PLACEHOLDER "$LATEHOLDER" + placeholder_update $MODPATH/util_functions.sh LATEFILE LATE_PLACEHOLDER "$LATEFILE" placeholder_update $MODPATH/util_functions.sh MIRRORLOC MIRROR_PLACEHOLDER "$MIRRORLOC" placeholder_update $MODPATH/util_functions.sh CACHELOC CACHE_PLACEHOLDER "$CACHELOC" placeholder_update $MODPATH/util_functions.sh BIN BIN_PLACEHOLDER "$BIN" - placeholder_update $MODPATH/system/$BIN/props LATEFILE LATE_PLACEHOLDER "$LATEHOLDER" - placeholder_update $MODPATH/system/$BIN/props COREPATH CORE_PLACEHOLDER "$COREPATH" + placeholder_update $MODPATH/system/$BIN/props ADBPATH ADB_PLACEHOLDER "$ADBPATH" + placeholder_update $MODPATH/system/$BIN/props LATEFILE LATE_PLACEHOLDER "$LATEFILE" load_settings devsim_update print_files @@ -1114,7 +1104,7 @@ script_install() { ui_print "- Configuration file found." ui_print "- Installing..." ui_print "" - config_file "install" + config_file else load_settings # Create system.prop in case of no configuration file @@ -1337,7 +1327,7 @@ reset_print() { # Clear out device simulation variables print_parts "none" - after_change "$1" "$2" "$3" + after_change "$1" "$2" } # Use fingerprint @@ -1358,9 +1348,9 @@ change_print() { NEWFINGERPRINT="" if [ "$DEVSIM" == 0 ]; then - after_change "$1" "$3" "$4" "noreboot" + after_change "$1" "$3" "noreboot" else - after_change "$1" "$3" "$4" + after_change "$1" "$3" fi } @@ -1395,7 +1385,7 @@ change_print_vendor() { print_parts "$ORIGVENDPRINT" if [ "$DEVSIM" == 0 ]; then - after_change "$1" "$3" "$4" "noreboot" + after_change "$1" "$3" "noreboot" else after_change "$1" "$3" fi @@ -1503,7 +1493,7 @@ change_sim_prop() { # Saves new value replace_fn "${TMPPROP}SET" $SUBA $3 $LATEFILE - after_change "$1" "$4" "$5" + after_change "$1" "$4" } # Change if description should be simulated or not @@ -1518,7 +1508,7 @@ change_sim_descr() { # Saves new value replace_fn DESCRIPTIONSET $DESCRIPTIONSET $2 $LATEFILE - after_change "$1" "$3" "$4" + after_change "$1" "$3" } # ======================== Props files functions ======================== @@ -1703,7 +1693,7 @@ reset_prop() { replace_fn PROPEDIT 1 0 $LATEFILE fi - after_change "$1" "$2" "$3" + after_change "$1" "$2" } # Use prop value @@ -1728,7 +1718,7 @@ change_prop() { fi replace_fn PROPEDIT 0 1 $LATEFILE - after_change "$1" "$3" "$4" + after_change "$1" "$3" } # Reset all module prop changes @@ -1813,7 +1803,7 @@ set_custprop() { DLIMTMP=$(($DLIMTMP + 1)) done - after_change "$1" "$4" "$5" + after_change "$1" "$4" fi } @@ -1826,7 +1816,7 @@ reset_all_custprop() { replace_fn CUSTOMPROPSLATE "\"$CUSTOMPROPSLATE\"" "\"\"" $LATEFILE replace_fn CUSTOMEDIT 1 0 $LATEFILE - after_change "Resetting all custom props" "$1" "$2" + after_change "Resetting all custom props" "$1" } # Reset custom prop value @@ -1881,7 +1871,7 @@ set_delprop() { replace_fn DELETEPROPS "\"$DELETEPROPS\"" "\"$SORTDELPROPS\"" $LATEFILE replace_fn DELEDIT 0 1 $LATEFILE - after_change "Delete $1" "$2" "$3" + after_change "Delete $1" "$2" fi } @@ -1892,7 +1882,7 @@ reset_all_delprop() { replace_fn DELETEPROPS "\"$DELETEPROPS\"" "\"\"" $LATEFILE replace_fn DELEDIT 1 0 $LATEFILE - after_change "Reset all props to delete." "$1" "$2" + after_change "Reset all props to delete." "$1" } # Reset prop to delete @@ -1939,7 +1929,7 @@ collect_logs() { CACHELOCTMP=/cache fi ITEMTPM=$(echo $ITEM | sed 's|$CACHELOC|$CACHELOCTMP|') - if [ -f "$a" ]; then + if [ -f "$ITEMTPM" ]; then cp -af $ITEMTPM $TMPLOGLOC >> $LOGFILE 2>&1 else log_handler "$ITEM not available." @@ -1953,7 +1943,7 @@ collect_logs() { # Saving the current prop values resetprop > $TMPLOGLOC/props.txt - + # Saving the log file cp -af $CACHELOC/propsconf.log $TMPLOGLOC >> $LOGFILE 2>&1 diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..06bdf35 --- /dev/null +++ b/install.sh @@ -0,0 +1,64 @@ +########################################################################################## +# +# Magisk Module Installer Script +# +########################################################################################## + +########################################################################################## +# Config Flags +########################################################################################## + +SKIPMOUNT=false +PROPFILE=false +POSTFSDATA=true +LATESTARTSERVICE=true + +########################################################################################## +# Replace list +########################################################################################## + +REPLACE=" +" + +########################################################################################## +# Permissions +########################################################################################## + +set_permissions() { + set_perm_recursive $MODPATH 0 0 0755 0644 + set_perm $MODPATH/system/$BIN/props 0 0 0755 +} + +########################################################################################## +# Installation variables and functions for the Magisk module "MagiskHide Props Config" +# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers. +# Licence: MIT +########################################################################################## + +print_modname() { + ui_print "*******************************" + ui_print "MagiskHide Props Config $(grep "version=" $TMPDIR/module.prop | sed 's|.*=||' | sed 's|-.*||')" + ui_print " By Didgeridoohan @XDA" + ui_print "*******************************" + + # Load functions and variables + INSTFN=true + . $TMPDIR/util_functions.sh + # Start module installation log + log_start + # Check Magisk version + if [ $MAGISK_VER_CODE -lt 19000 ]; then + ui_print "" + log_print "! Magisk version not supported!" + log_handler "Magisk build $MAGISK_VER_CODE." + abort "! Please install Magisk v19+!" + fi +} + +on_install() { + ui_print "- Extracting module files" + unzip -o "$ZIPFILE" 'system/*' -d $MODPATH >&2 + + # Module script installation + script_install +} diff --git a/module.prop b/module.prop index e118cb3..974d1ff 100644 --- a/module.prop +++ b/module.prop @@ -1,7 +1,6 @@ id=MagiskHidePropsConf name=MagiskHide Props Config -version=v3.5.1-v50 -versionCode=42 +version=v4.0.0-v51 +versionCode=44 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, and set your own custom props. -minMagisk=17000 diff --git a/system/binpath/props b/system/binpath/props index 5d90a41942dd5c72b4bf98d5286358c7af073f45..cf55edfc38c5a1e9533339c1d1633fc85b61c421 100644 GIT binary patch delta 69 zcmcb(faTx QPHJ)U52o!um>45@0U$aSumAu6 delta 85 zcmX@OfaT%>mJQpOoSglGTmu|KJOVsyLCp97A4g|b4}TvQ*B~xWUw4p{tqM$$er9eu Vm#@DIL=-CB{DNuw3ns=$UI3kO8i@b^ diff --git a/uninstall.sh b/uninstall.sh new file mode 100644 index 0000000..2075685 --- /dev/null +++ b/uninstall.sh @@ -0,0 +1,35 @@ +#!/system/bin/sh + +# MagiskHide Props Config +# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers +# Licence: MIT + +# Uninstalls the module settings file and directory in Magisk's secure directory +# together with a few module files in /cache. + +MODPATH=${0%/*} + +# Load functions +. $MODPATH/util_functions.sh + +# Variables +DIR=/data/adb/mhpc + +# Start logging +log_start + +log_handler "Cleaning up module files during uninstall." + +if [ -d "$DIR" ]; then + log_handler "Removing settings file(s)." + echo "Deleting $DIR" >> $LOGFILE 2>&1 + rm -rf "$DIR" >> $LOGFILE 2>&1 +fi + +log_handler "Checking for files to remove in $CACHELOC." +for ITEM in $CACHEFILES; do + if [ -f "$CACHELOC/$ITEM" ]; then + echo "Deleting ${ITEM}." >> $LOGFILE 2>&1 + rm -f $CACHELOC/$ITEM >> $LOGFILE 2>&1 + fi +done