diff --git a/README.md b/README.md index 2e802a0..361f8bd 100644 --- a/README.md +++ b/README.md @@ -48,17 +48,17 @@ You can find the file to download in your device's forum on XDA Developers (eith Once you have the file downloaded, there are several different ways that the fingerprint can be found. In all cases you'll have to access the file somehow, and in most cases it's just a matter of unpackaging it. After that it depends on how the package is constructed. - Sometimes there'll be a build.prop file directly in the zip/package. You'll likely find the fingerprint in there. -- For some devices you'll have to unpackage the system.img to get to the build.prop file. On Windows, you can use something like [this tool](https://forum.xda-developers.com/showpost.php?p=57742855&postcount=42). You'll also find more info in the [main thread for that post](https://forum.xda-developers.com/android/software-hacking/how-to-conver-lollipop-dat-files-to-t2978952). +- For some devices you'll have to unpackage the system.img to get to the build.prop file. On Windows, you can use something like [this tool](https://forum.xda-developers.com/showpost.php?p - Other times you'll find the fingerprint in META-INF\com\google\android\updater-script. Look for "Target:" and you'll likely find the fingerprint there. - Etc... Experiment, the fingerprint will be in there somewhere. Take a look below for an example of what a device fingerprint looks like. ### Custom fingerprints list -You can add your own fingerprint to the list by placing a file, named `printslist`, in the root of your internal storage with the fingerprint. It needs to be formated as follows:`device name=fingerprint`. +You can add your own fingerprint to the list by placing a file, named `printslist`, in the root of your internal storage with the fingerprint. It needs to be formated as follows:`device name Here's an example: ``` -Google Nexus 6=google/shamu/shamu:7.1.1/N8I11B/4171878:user/release-keys +Google Nexus 6 ``` ### I still can't pass the ctsProfile check @@ -86,7 +86,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 - v20_** +**_Current fingerprints list version - v21_** ## Improved root hiding - Editing build.prop and default.prop @@ -182,6 +182,13 @@ If you have the latest beta release of Magisk installed, the "magisk_debug.log" ## Changelog +### v2.3.2 +- Finally fixed installing with the configuration file on a clean Magisk installation. +- Fixed updating placeholders if boot scripts gets restored at boot. +- Updated the power requirements to 1.21 gigawatts. +- Updated and added new fingerprints (Asus Zenfone 2 Laser, Huawei P9, LG G4, Motorola Moto C Plus and G6 Play, Samsung Galaxy J5 2015, Xiaomi Mi 4C and Mi Mix 2S), list v21. +- Miscellaneous fixes and updates. + ### v2.3.1 - Fixed permissions for the settings boot script when using the reset option. - Fixed log collecting. @@ -194,7 +201,7 @@ If you have the latest beta release of Magisk installed, the "magisk_debug.log" - Added a function to collect and package the logs and relevant troubleshooting files for easy uploading. - Updated and clarified the documentation on how to use the configuration file. - A bunch of improvements and tweaks. Several of which may go horribly wrong. -- Updated and added bunch of new fingerprints (Asus ZenPad S 8.0, Huawei P20 Pro, Samsung Galaxy S8, Sony Xperia XZ1 Dual and XZ1 Compact, Xiaomi Mi 4C and Redmi Note 3 Pro SE), list v19 +- Updated and added bunch of new fingerprints (Asus ZenPad S 8.0, Huawei P20 Pro, Samsung Galaxy S8, Sony Xperia XZ1 Dual and XZ1 Compact, Xiaomi Mi 4C and Redmi Note 3 Pro SE), list v19. - Don’t turn your back, don’t look away, and *don’t blink!* Good luck. ### v2.2.2 @@ -282,7 +289,7 @@ If you have the latest beta release of Magisk installed, the "magisk_debug.log" ## Current fingerprints list -### List v20  +### List v21  - Asus Zenfone 2 Laser (6.0.1) - Asus ZenPad S 8.0 (6.0.1) - Google Nexus 4 (5.1.1) @@ -301,12 +308,16 @@ If you have the latest beta release of Magisk installed, the "magisk_debug.log" - HTC 10 (6.0.1) - Huawei Honor 9 (8.0.0) - Huawei Mate 10 Pro (8.0.0) +- Huawei P9 (7.0) - Huawei P20 Pro (8.1.0) +- LG G4 H812 (6.0) +- Motorola Moto C Plus (7.0) - Motorola Moto E4 (7.1.1) - Motorola Moto G4 (7.0) - Motorola Moto G5 (7.0) - Motorola Moto G5 Plus (7.0) - Motorola Moto G5S (7.1.1) +- Motorola Moto G6 Play (8.0.0) - Motorola Moto X4 (8.0.0) - Nvidia Shield K1 (7.0) - OnePlus 2 (6.0.1) @@ -319,6 +330,7 @@ If you have the latest beta release of Magisk installed, the "magisk_debug.log" - Samsung Galaxy A8 Plus (7.1.1) - Samsung Galaxy Grand Prime (5.0.2) - Samsung Galaxy J3 (5.1.1) +- 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) @@ -360,6 +372,7 @@ If you have the latest beta release of Magisk installed, the "magisk_debug.log" - Xiaomi Mi 6 (8.0.0) - Xiaomi Mi A1 (8.0.0) - Xiaomi Mi Max 2 (7.1.1) +- Xiaomi Mi Mix 2S (8.0.0) - Xiaomi Mi Note 2 (7.0) - Xiaomi Redmi 4 Prime (6.0.1) - Xiaomi Redmi 4X (6.0.1) diff --git a/common/post-fs-data.sh b/common/post-fs-data.sh index 4c03bf8..51a7002 100644 --- a/common/post-fs-data.sh +++ b/common/post-fs-data.sh @@ -26,7 +26,8 @@ if [ ! -f "$POSTFILE" ]; then log_handler "Post-fs-data boot script not found." log_handler "Restoring boot script (${POSTFILE})." cp -af $MODPATH/propsconf_post $POSTFILE >> $LOGFILE - chmod -v 755 $POSTFILE >> $INSTLOG + chmod -v 755 $POSTFILE >> $LOGFILE + placeholder_update $POSTFILE IMGPATH IMG_PLACEHOLDER $IMGPATH # Deleting settings script to force a restore rm -f $LATEFILE fi @@ -39,7 +40,10 @@ if [ ! -f "$LATEFILE" ] || [ -f "$RESETFILE" ]; then fi log_handler "$RSTTXT boot script (${LATEFILE})." cp -af $MODPATH/propsconf_late $LATEFILE >> $LOGFILE - chmod -v 755 $LATEFILE >> $INSTLOG + chmod -v 755 $LATEFILE >> $LOGFILE + placeholder_update $LATEFILE IMGPATH IMG_PLACEHOLDER $IMGPATH + placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER $CACHELOC + fi log_handler "post-fs-data.sh finished.\n\n====================" diff --git a/common/prints.sh b/common/prints.sh index 5d47455..54ac847 100644 --- a/common/prints.sh +++ b/common/prints.sh @@ -3,14 +3,14 @@ # MagiskHide Props Config # By Didgeridoohan @ XDA Developers -PRINTSV=20 +PRINTSV=21 PRINTSTRANSF=1 PRINTSFILE=/sdcard/printslist # Certified fingerprints PRINTSLIST=" -Asus Zenfone 2 Laser (6.0.1)=asus/WW_Z00L/ASUS_Z00L_63:6.0.1/MMB29P/WW_user_21.40.1220.2179_20170803:user/release-keys +Asus Zenfone 2 Laser (6.0.1)=asus/WW_Z00L/ASUS_Z00L_63:6.0.1/MMB29P/WW_user_21.40.1220.2196_20180308:user/release-keys 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 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 @@ -28,12 +28,16 @@ Google Pixel 2 XL (P DP1)=google/taimen/taimen:P/PPP1.180208.014/4633861:user/re HTC 10 (6.0.1)=htc/HTCOneM10vzw/htc_pmewl:6.0.1/MMB29M/774095.8: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 +Huawei P9 (7.0)=HUAWEI/EVA-L09/HWEVA:7.0/HUAWEIEVA-L09/C432B502:user/release-keys Huawei P20 Pro (8.1.0)=HUAWEI/CLT-L29/HWCLT:8.1.0/HUAWEICLT-L29/128(C432):user/release-keys +LG G4 H812 (6.0)=lge/p1_rgs_ca/p1:6.0/MRA58K/1601215569825:user/release-keys +Motorola Moto C Plus (7.0)=motorola/panell_21_d/panell_d:7.0/NRD90M.03.040/040:user/release-keys Motorola Moto E4 (7.1.1)=motorola/sperry_sprint/sperry:7.1.1/NCQ26.69-64/68:user/release-keys Motorola Moto G4 (7.0)=motorola/athene/athene:7.0/NPJS25.93-14-13/3:user/release-keys Motorola Moto G5 (7.0)=motorola/cedric/cedric:7.0/NPPS25.137-15-11/11:user/release-keys Motorola Moto G5 Plus (7.0)=motorola/potter_n/potter_n:7.0/NPNS25.137-33-11/11:user/release-keys Motorola Moto G5S (7.1.1)=motorola/montana/montana:7.1.1/NPPS26.102-49-8/6:user/release-keys +Motorola Moto G6 Play (8.0.0)=motorola/jeter_sprint/jeter:8.0.0/OCP27.91-23/23:user/release-keys Motorola Moto X4 (8.0.0)=motorola/payton/payton:8.0.0/OPWS27.57-25-6-10/12:user/release-keys Nvidia Shield K1 (7.0)=nvidia/sb_na_wf/shieldtablet:7.0/NRD90M/1928188_1065.2559:user/release-keys OnePlus 2 (6.0.1)=OnePlus/OnePlus2/OnePlus2:6.0.1/MMB29M/1447858500:user/release-keys @@ -46,6 +50,7 @@ OnePlus 6 (8.1.0)=OnePlus/OnePlus6/OnePlus6:8.1.0/OPM1.171019.011/06140300:user/ 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 J3 (5.1.1)=ro.build.fingerprint=samsung/j3xnltexx/j3xnlte:5.1.1/LMY47V/J320FNXXU0ARB1:user/release-keys +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 @@ -79,7 +84,7 @@ Sony Xperia Z5 Compact (7.1.1)=Sony/E5823/E5823:7.1.1/32.4.A.1.54/3761073091:use Sony Xperia Z5 Dual (7.1.1)=Sony/E6633/E6633:7.1.1/32.4.A.1.54/3761073091:user/release-keys Vodafone Smart Ultra 6 (5.1.1)=Vodafone/P839V55/P839V55:5.1.1/LMY47V/20161227.134319.15534:user/release-keys 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.5.2.0.NXKCNFA: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 (7.0)=Xiaomi/gemini/gemini:7.0/NRD90M/V9.2.1.0.NAAMIEK: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 Plus (6.0.1)=Xiaomi/natrium/natrium:6.0.1/MXB48T/V8.5.2.0.MBGMIED:user/release-keys @@ -87,6 +92,7 @@ Xiaomi Mi 6 (7.1.1)=Xiaomi/sagit/sagit:7.1.1/NMF26X/V8.2.17.0.NCACNEC:user/relea 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 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 (7.0)=Xiaomi/scorpio/scorpio:7.0/NRD90M/V9.2.1.0.NADMIEK: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 Xiaomi Redmi 4X (6.0.1)=Xiaomi/santoni/santoni:6.0.1/MMB29M/V8.5.4.0.MAMCNED:user/release-keys diff --git a/common/propsconf_conf b/common/propsconf_conf index fa2af84..337b8cc 100644 --- a/common/propsconf_conf +++ b/common/propsconf_conf @@ -50,6 +50,9 @@ CONFWEB=enabled # ro.config.media_vol_steps=30 # net.tethering.noprovisioning=true # " +# 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). +# # 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. @@ -66,6 +69,7 @@ CONFWEB=enabled # ro.config.media_vol_steps # net.tethering.noprovisioning # " +# # With DELPROPOPTION 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. diff --git a/common/propsconf_late b/common/propsconf_late index 3da3bc6..952e698 100644 --- a/common/propsconf_late +++ b/common/propsconf_late @@ -68,8 +68,6 @@ if [ -d "$MODPATH" ]; then else # Load functions . $MODPATH/util_functions.sh - log_handler "Functions loaded." - log_handler "Using busybox: ${BBPATH}." if [ "$OPTIONLATE" == 0 ]; then until [ ! -f "$POSTCHKFILE" ]; do diff --git a/common/propsconf_post b/common/propsconf_post index 8bc681c..236d4c7 100644 --- a/common/propsconf_post +++ b/common/propsconf_post @@ -36,7 +36,7 @@ if [ -d "$MODPATH" ]; then # Clears out the script control file rm -f $POSTCHKFILE touch $POSTCHKFILE - + # Get default values log_handler "Checking device default values." curr_values diff --git a/common/util_functions.sh b/common/util_functions.sh index e15efbd..a51b4f1 100644 --- a/common/util_functions.sh +++ b/common/util_functions.sh @@ -27,16 +27,38 @@ RESETFILE=$CACHELOC/reset_mhpc MAGISKLOC=/data/adb/magisk BBWWWPATH=BB_PLACEHOLDER BBLOC=$MODPATH/busybox -if [ -f "$BBLOC" ] && [ "$BBT" == "module" ]; then - BBPATH=$BBLOC -elif [ -d "$IMGPATH/busybox-ndk" ]; then - if [ "$BBT" != "topjohnwu" ]; then +if [ "$BBT" ]; then + case $BBT in + module) + if [ -f "$BBLOC" ]; then + BBPATH=$BBLOC + elif [ -d "$IMGPATH/busybox-ndk" ]; then + BBPATH=$(find $IMGPATH/busybox-ndk -name 'busybox') + else + BBPATH=$MAGISKLOC/busybox + fi + ;; + osm0sis) + if [ -d "$IMGPATH/busybox-ndk" ]; then + BBPATH=$(find $IMGPATH/busybox-ndk -name 'busybox') + elif [ -f "$BBLOC" ]; then + BBPATH=$BBLOC + else + BBPATH=$MAGISKLOC/busybox + fi + ;; + topjohnwu) + BBPATH=$MAGISKLOC/busybox + ;; + esac +else + if [ -f "$BBLOC" ]; then + BBPATH=$BBLOC + elif [ -d "$IMGPATH/busybox-ndk" ]; then BBPATH=$(find $IMGPATH/busybox-ndk -name 'busybox') else BBPATH=$MAGISKLOC/busybox fi -else - BBPATH=$MAGISKLOC/busybox fi if [ -z "$(echo $PATH | grep /sbin:)" ]; then alias resetprop="$MAGISKLOC/magisk resetprop" @@ -459,13 +481,14 @@ download_bb() { # ======================== Fingerprint functions ======================== # Set new fingerprint print_edit() { + MODPRINT=$(get_file_value $LATEFILE "MODULEFINGERPRINT=") if [ "$(get_file_value $LATEFILE "FINGERPRINTENB=")" == 1 -o "$(get_file_value $LATEFILE "PRINTMODULE=")" == "false" ] && [ "$(get_file_value $LATEFILE "PRINTEDIT=")" == 1 ]; then log_handler "Changing fingerprint." for ITEM in $PRINTPROPS; do log_handler "Changing/writing $ITEM." resetprop -v $ITEM 2>> $LOGFILE - resetprop -nv $ITEM "$(get_file_value $LATEFILE "MODULEFINGERPRINT=")" 2>> $LOGFILE - done + resetprop -nv $ITEM "$MODPRINT" 2>> $LOGFILE + done fi } @@ -989,3 +1012,7 @@ collect_logs() { esac fi } + +# Log print +log_handler "Functions loaded." +log_handler "Using busybox: ${BBPATH}." \ No newline at end of file diff --git a/config.sh b/config.sh index fe6db1b..db8945b 100644 --- a/config.sh +++ b/config.sh @@ -185,7 +185,7 @@ tags selinux fingerprint " -USNFLIST="xiaomi-safetynet-fix safetynet-fingerprint-fix" +USNFLIST="xiaomi-safetynet-fix safetynet-fingerprint-fix VendingVisa DeviceSpoofingTool4Magisk" log_handler() { echo "" >> $INSTLOG @@ -331,9 +331,10 @@ bin_check() { # Magisk installation check install_check() { - if [ ! -d "$SERVICEPATH" ]; then + if [ ! -d "$SERVICEPATH" ] || [ ! -d "$POSTPATH" ]; then log_handler "Fresh Magisk installation detected." log_handler "Creating path for boot script." + mkdir -pv $POSTPATH >> $INSTLOG mkdir -pv $SERVICEPATH >> $INSTLOG fi } diff --git a/module.prop b/module.prop index c5557b7..833cda2 100644 --- a/module.prop +++ b/module.prop @@ -1,7 +1,7 @@ id=MagiskHidePropsConf name=MagiskHide Props Config -version=v2.3.1-v20 -versionCode=17 +version=v2.3.2-v21 +versionCode=18 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 diff --git a/system/binpath/props b/system/binpath/props index fd65e7f..f9debfb 100644 Binary files a/system/binpath/props and b/system/binpath/props differ