v5.3.1-v97

This commit is contained in:
Didgeridoohan 2020-08-14 10:01:35 +02:00 committed by GitHub
parent 09842a1bfe
commit d14318e687
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 286 additions and 175 deletions

View File

@ -235,7 +235,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 - v96_**
**_Current fingerprints list version - v97_**
## Please add support for device X
@ -259,7 +259,7 @@ By default this feature will use an old devices model prop value, to make sure t
It is also possible to pick a device manually from the list of fingerprints or set your own custom value.
Note that using the [Device simulation](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#device-simulation) feature to simulate `ro.product.model` (and related props) will be disabled when this feature is enabled.
Note that using the [Device simulation](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#device-simulation) feature to simulate `ro.product.model` (and related props) will be disabled when this feature is enabled (all other simiulation props will still work though). It is also worth noting that using the [Device simulation](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#device-simulation) feature and picking an old enough device will also force a basic attestation.
Thanks to @Displax over at XDA-Developers for bringing this to everyones attention.
@ -314,14 +314,16 @@ It's quite easy to change prop values with Magisk. With this module it's even ea
A custom prop can also be set by running the `props` command with the prop name and value directly in the command prompt (no need for using the ui). See [Run options](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#run-options).
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:
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 four options:
- Default - The main module option will decide (see [Prop script settings](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#boot-stage) 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.
- Both post-fs-data late_start service - In some special cases you would want the prop to be set during both boot stages. An example would be if the system reapplies the stock prop value late in the boot process (after post-fs-data).
**Note: post-fs-data runs earlier than late_start service.**
Note: post-fs-data runs earlier than late_start service.
It is also possible to set a delay for when the prop is supposed to be set. This is useful if a prop value is originally set late during boot, or even a while after the device has finished booting. Pick this option while setting a new prop or editing one that has already been set and enter the amount of seconds you want the delay to be. By default the script will wait for "Boot completed" to be broadcast before starting to count the delay. This option can be disabled on a per prop level if necessary.
**Note 1: A prop with a delay will automatically be set during the late_start service boot stage.
Note 2: The delay will usually be sligtly longer (usually counted in tenths of a second) than the entered value, due to small delays in execution of the scripts.**
## 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.
@ -470,9 +472,9 @@ If you've had any help from me or this module, any kind of [donation](https://fo
## Credits and mentions
@topjohnwu @ XDA Developers, for Magisk.
@Zackptg5, @veez21 and @jenslody @ XDA Developers, for help and inspiration.
@Some_Random_Username, for all the OnePlus fingerprints.
@Displax, for all the prints and the basic attestation workaround.
@ipdev, for being always helpful and bringing tons of fingerprints to the module list.
@Some_Random_Username @ XDA Developers, for all the OnePlus fingerprints.
@Displax @ XDA Developers, for all the prints and the basic attestation workaround.
@ipdev @ XDA Developers, for being always helpful and bringing tons of fingerprints to the module list.
And of course, everyone that provides fingerprints for me to add to the list. The module wouldn't be the same without you guys. Thank you!
@ -486,6 +488,13 @@ Releases from v5.0.0 are recommended for Magisk v19.4+.
Releases from v5.2.5 will only install on Magisk v20+.
## Changelog
### v5.3.1
- Added a feature to enable a delay for when custom props to be executed (during the late_start service boot stage). See the documentation for details.
- Fixed a possibly longstanding bug where props couldn't be set using the ui on some devices (would get stuck on "Working. Please wait...").
- Fixed some of the settings in an exported settings file not being set correctly.
- Minor adjustments and bugfixes (mainly stupid bugs introduced in the last update).
- Added fingerprint for Nokia 6.1, Samsung Galaxy S5, S10 and Tab S4 and Xiaomi Mi 10 Lite 5G. Updated fingerprints for Asus ZenFone Max M1, Google Pixel 2-4 (all variants) and Xiaomi Pocofone F1. List updated to v97.
### v5.3.0
- Added a new feature to force SafteyNet's bootloader check to use basic attestation rather than hardware. See the documentation for details.
- Added fingerprints for Asus ZenFone Max Pro M2, Fxtec Pro 1, Huawei Honor 6X BLN-L22, Lenovo Tab 4 8 Plus, LG V30, OnePlus 7, 7 Pro, 7T, 7T Pro, 8 and 8 Pro (Chinese variants), OnePlus Nord, Redmi Note 9 Pro, Samsung Galaxy A3 2016 and 2027 and Galaxy Tab 4 7.0, 8.0 and 10.1 and Xiaomi Redmi K20 Pro India. Updated fingerprints for OnePlus 7 Pro NR and 7 Pro NR Spr, 8 (almost all variants) and 8 Pro (all variants), Redmi Note 8 Pro and Xiaomi Mi A1, Mi A3 and Redmi 8. List updated to v95.
@ -840,13 +849,13 @@ Releases from v5.2.5 will only install on Magisk v20+.
## Current fingerprints list
### List v96
### List v97
- Asus Zenfone 2 Laser ASUS_Z00LD (6.0.1)
- Asus Zenfone 3 Max ASUS_X00DD (7.1.1 & 8.1.0)
- Asus Zenfone 4 Max ASUS_X00HD (7.1.1)
- Asus ZenFone 5Z ASUS_Z01RD (9)
- Asus Zenfone 6 ASUS_I01WD (9)
- Asus Zenfone Max M1 ASUS_X00PD (8.0.0)
- Asus Zenfone Max M1 ASUS_X00PD (8.0.0 & 9 & 10)
- Asus Zenfone Max Pro M1 ASUS_X00TD (8.1.0)
- Asus Zenfone Max Pro M2 ASUS_X01BD (9)
- Asus ZenPad S 8.0 P01MA (6.0.1)
@ -947,6 +956,7 @@ Releases from v5.2.5 will only install on Magisk v20+.
- Nokia 6 TA-1025 (9)
- Nokia 6 TA-1033 (9)
- Nokia 6 TA-1039 (9)
- Nokia 6.1 (10)
- Nokia 6.1 Plus (9 & 10)
- Nokia 6.2 (9)
- Nokia 7 Plus (9 & 10)
@ -1047,7 +1057,8 @@ Releases from v5.2.5 will only install on Magisk v20+.
- Samsung Galaxy S3 Neo GT-I9300I (4.4.4)
- Samsung Galaxy S4 GT-I9505 (5.0.1)
- Samsung Galaxy S4 Active GT-I9295 (5.0.1)
- Samsung Galaxy S5 SM-G900H (6.0.1)
- Samsung Galaxy S5 SM-G900F (6.0.1)
- Samsung Galaxy S5 SM-G900H )(6.0.1)
- Samsung Galaxy S6 SM-G920F (7.0)
- Samsung Galaxy S6 Edge SM-G925F (7.0)
- Samsung Galaxy S7 SM-G930F (8.0.0)
@ -1056,6 +1067,7 @@ Releases from v5.2.5 will only install on Magisk v20+.
- Samsung Galaxy S8 Plus SM-G955F (8.0.0)
- Samsung Galaxy S9 SM-G960F (8.0.0)
- Samsung Galaxy S9 Plus SM-G965F (8.0.0)
- Samsung Galaxy S10 SM-G973F (10)
- Samsung Galaxy S10 Plus SM-G975F (10)
- Samsung Galaxy S10 Plus SM-G975U (9)
- Samsung Galaxy S10e SM-G970N (10)
@ -1070,6 +1082,7 @@ Releases from v5.2.5 will only install on Magisk v20+.
- Samsung Galaxt Tab A LTE SM-T597 (9)
- Samsung Galaxy Tab S2 SM-T813 (7.0)
- Samsung Galaxy Tab S3 LTE SM-T825 (8.0.0)
- Samsung Galaxy Tab S4 SM-T380 (10)
- Samsung Galaxy Tab S5e SM-T720 (9)
- Sony Xperia M (4.3)
- Sony Xperia X F5121 (8.0.0)
@ -1120,6 +1133,7 @@ Releases from v5.2.5 will only install on Magisk v20+.
- Xiaomi Mi 9T Global (10)
- Xiaomi Mi 9T Pro (9 & 10)
- Xiaomi Mi 10 (10)
- Xiaomi Mi 10 Lite 5G (10)
- Xiaomi Mi 10 Pro (10)
- Xiaomi Mi A1 (7.1.2 & 8.0.0 & 8.1.0 & 9)
- Xiaomi Mi A2 (8.1.0 & 9 & 10)

View File

@ -4,17 +4,18 @@
# Copyright (c) 2018-2020 Didgeridoohan @ XDA Developers
# Licence: MIT
PRINTSV=96
PRINTSV=97
PRINTSTRANSF=520
# Certified fingerprints
# Current fingerprints count=475
PRINTSLIST="
Asus ZenFone 2 Laser ASUS_Z00LD (6.0.1):Asus:ASUS_Z00LD=asus/WW_Z00L/ASUS_Z00L_63:6.0.1/MMB29P/WW_user_21.40.1220.2196_20180308:user/release-keys
Asus ZenFone 3 Max ASUS_X00DD (7.1.1 & 8.1.0):Asus:ASUS_X00DD=asus/WW_Phone/ASUS_X00DD:7.1.1/NMF26F/14.0200.1712.347-20171214:user/release-keys;asus/WW_Phone/ASUS_X00DD:8.1.0/OPM1.171019.011/15.0200.1812.503-0:user/release-keys__2018-12-05
Asus ZenFone 4 Max ASUS_X00HD (7.1.1):Asus:ASUS_X00HD=asus/WW_Phone/ASUS_X00HD_4:7.1.1/NMF26F/14.2016.1801.372-20180119:user/release-keys
Asus ZenFone 5Z ASUS_Z01RD (9):Asus:ASUS_Z01RD=asus/WW_Z01RD/ASUS_Z01R_1:9/PPR1.180610.009/WW_90.11.162.72_20190531:user/release-keys__2019-05-01
Asus ZenFone 6 ASUS_I01WD (9):Asus:ASUS_I01WD=asus/WW_I01WD/ASUS_I01WD:9/PPR2.181005.003/16.1220.1909.193-0:user/release-keys__2019-09-01
Asus ZenFone Max M1 ASUS_X00PD (8.0.0):Asus:ASUS_X00PD=asus/WW_X00PD/ASUS_X00P_4:8.0.0/OPR1.170623.032/15.00.1907.103:user/release-keys__2019-07-05
Asus ZenFone Max M1 ASUS_X00PD (8.0.0 & 9 & 10):Asus:ASUS_X00PD=asus/WW_X00PD/ASUS_X00P_1:8.0.0/OPR1.170623.032/15.00.2007.122:user/release-keys__2020-07-05;asus/WW_X00PD/ASUS_X00P_1:9/PPR1.180610.009/16.00.1906.411:user/release-keys__2019-06-05;asus/WW_X00PD/ASUS_X00P_1:10/QKQ1.191002.002/17.00.2003.23-20200401:user/release-keys__2020-03-05
Asus ZenFone Max Pro M1 ASUS_X00TD (8.1.0):Asus:ASUS_X00TD=asus/RU_X00TD/ASUS_X00T_6:8.1.0/OPM1/15.2016.1902.340-20190216:user/release-keys__2019-02-01
Asus ZenFone Max Pro M2 ASUS_X01BD (9):asus:ASUS_X01BD=asus/WW_X01BD/ASUS_X01BD_1:9/PKQ1/16.2017.2007.094-20200705:user/release-keys__2020-07-05
Asus ZenPad S 8.0 P01MA (6.0.1):Asus:P01MA=asus/WW_P01M/P01M_3:6.0.1/MMB29P/WW_P01M-V5.6.0-20170608:user/release-keys
@ -38,14 +39,14 @@ Google Nexus 10 (5.1.1):Samsung:Nexus 10=google/mantaray/manta:5.1.1/LMY49J/2640
Google Nexus Player (5.0 & 5.1 & 5.1.1 & 6.0.1 & 7.0 & 7.1.1 & 7.1.2 & 8.0.0):Asus:Nexus Player=google/fugu/fugu:5.0/LRX21V/1586762:user/release-keys;google/fugu/fugu:5.1/LMY47D/1743759:user/release-keys;google/fugu/fugu:5.1.1/LMY48N/2167335:user/release-keys;google/fugu/fugu:6.0.1/MOB30W/3031100:user/release-keys;google/fugu/fugu:7.0/NRD91N/3318108:user/release-keys;google/fugu/fugu:7.1.1/NMF27D/3783773:user/release-keys;google/fugu/fugu:7.1.2/N2G48C/4104010:user/release-keys;google/fugu/fugu:8.0.0/OPR2.170623.027/4397545:user/release-keys
Google Pixel (7.1 & 7.1.1 & 7.1.2 & 8.0.0 & 8.1.0 & 9 & 10):Google:Pixel=google/sailfish/sailfish:7.1/NDE63V/3389651:user/release-keys;google/sailfish/sailfish:7.1.1/NOF27D/3757586:user/release-keys;google/sailfish/sailfish:7.1.2/NJH47F/4146041:user/release-keys;google/sailfish/sailfish:8.0.0/OPR3.170623.013/4397526:user/release-keys;google/sailfish/sailfish:8.1.0/OPM4.171019.021.P1/4820305:user/release-keys__2018-07-05;google/sailfish/sailfish:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/sailfish/sailfish:10/QP1A.191005.007.A3/5972272:user/release-keys__2019-10-06
Google Pixel XL (7.1 & 7.1.1 & 7.1.2 & 8.0.0 & 8.1.0 & 9 & 10):Google:Pixel XL=google/marlin/marlin:7.1/NDE63V/3389651:user/release-keys;google/marlin/marlin:7.1.1/NOF27D/3757586:user/release-keys;google/marlin/marlin:7.1.2/NJH47F/4146041:user/release-keys;google/marlin/marlin:8.0.0/OPR3.170623.013/4397526:user/release-keys;google/marlin/marlin:8.1.0/OPM4.171019.021.P1/4820305:user/release-keys__2018-07-05;google/marlin/marlin:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/marlin/marlin:10/QP1A.191005.007.A3/5972272:user/release-keys__2019-10-06
Google Pixel 2 (8.0.0 & 8.1.0 & 9 & 10):Google:Pixel 2=google/walleye/walleye:8.0.0/OPD1.170816.025/4424668:user/release-keys;google/walleye/walleye:8.1.0/OPM2.171026.006.G1/4820017:user/release-keys__2018-07-05;google/walleye/walleye:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/walleye/walleye:10/QQ3A.200705.002/6506677:user/release-keys__2020-07-05
Google Pixel 2 XL (8.0.0 & 8.1.0 & 9 & 10):Google:Pixel 2 XL=google/taimen/taimen:8.0.0/OPD1.170816.025/4424668:user/release-keys;google/taimen/taimen:8.1.0/OPM2.171026.006.H1/4833802:user/release-keys__2018-07-05;google/taimen/taimen:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/taimen/taimen:10/QQ3A.200705.002/6506677:user/release-keys__2020-07-05
Google Pixel 3 (9 & 10):Google:Pixel 3=google/blueline/blueline:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/blueline/blueline:10/QQ3A.200705.002/6506677:user/release-keys__2020-07-05
Google Pixel 3 XL (9 & 10):Google:Pixel 3 XL=google/crosshatch/crosshatch:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/crosshatch/crosshatch:10/QQ3A.200705.002/6506677:user/release-keys__2020-07-05
Google Pixel 3a (9 & 10):Google:Pixel 3a=google/sargo/sargo:9/PQ3B.190801.002/5674421:user/release-keys__2019-08-01;google/sargo/sargo:10/QQ3A.200705.002/6506677:user/release-keys__2020-07-05
Google Pixel 3a XL (9 & 10):Google:Pixel 3a XL=google/bonito/bonito:9/PQ3B.190801.002/5674421:user/release-keys__2019-08-01;google/bonito/bonito:10/QQ3A.200705.002/6506677:user/release-keys__2020-07-05
Google Pixel 4 (10):Google:Pixel 4=google/flame/flame:10/QQ3A.200705.002/6506677:user/release-keys__2020-07-05
Google Pixel 4 XL (10):Google:Pixel 4 XL=google/coral/coral:10/QQ3A.200705.002/6506677:user/release-keys__2020-07-05
Google Pixel 2 (8.0.0 & 8.1.0 & 9 & 10):Google:Pixel 2=google/walleye/walleye:8.0.0/OPD1.170816.025/4424668:user/release-keys;google/walleye/walleye:8.1.0/OPM2.171026.006.G1/4820017:user/release-keys__2018-07-05;google/walleye/walleye:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/walleye/walleye:10/QQ3A.200805.001/6578210:user/release-keys__2020-08-05
Google Pixel 2 XL (8.0.0 & 8.1.0 & 9 & 10):Google:Pixel 2 XL=google/taimen/taimen:8.0.0/OPD1.170816.025/4424668:user/release-keys;google/taimen/taimen:8.1.0/OPM2.171026.006.H1/4833802:user/release-keys__2018-07-05;google/taimen/taimen:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/taimen/taimen:10/QQ3A.200805.001/6578210:user/release-keys__2020-08-05
Google Pixel 3 (9 & 10):Google:Pixel 3=google/blueline/blueline:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/blueline/blueline:10/QQ3A.200805.001/6578210:user/release-keys__2020-08-05
Google Pixel 3 XL (9 & 10):Google:Pixel 3 XL=google/crosshatch/crosshatch:9/PQ3A.190801.002/5670241:user/release-keys__2019-08-01;google/crosshatch/crosshatch:10/QQ3A.200805.001/6578210:user/release-keys__2020-08-05
Google Pixel 3a (9 & 10):Google:Pixel 3a=google/sargo/sargo:9/PQ3B.190801.002/5674421:user/release-keys__2019-08-01;google/sargo/sargo:10/QQ3A.200805.001/6578210:user/release-keys__2020-08-05
Google Pixel 3a XL (9 & 10):Google:Pixel 3a XL=google/bonito/bonito:9/PQ3B.190801.002/5674421:user/release-keys__2019-08-01;google/bonito/bonito:10/QQ3A.200805.001/6578210:user/release-keys__2020-08-05
Google Pixel 4 (10):Google:Pixel 4=google/flame/flame:10/QQ3A.200805.001/6578210:user/release-keys__2020-08-05
Google Pixel 4 XL (10):Google:Pixel 4 XL=google/coral/coral:10/QQ3A.200805.001/6578210:user/release-keys__2020-08-05
Google Pixel C (6.0.1 & 7.0 & 7.1.1 & 7.1.2 & 8.0.0 & 8.1.0):Google:Pixel C=google/ryu/dragon:6.0.1/MXC89L/3084571:user/release-keys;google/ryu/dragon:7.0/NRD91N/3318108:user/release-keys;google/ryu/dragon:7.1.1/N4F26T/3687331:user/release-keys;google/ryu/dragon:7.1.2/N2G48C/4104010:user/release-keys;google/ryu/dragon:8.0.0/OPR1.170623.032/4397478:user/release-keys;google/ryu/dragon:8.1.0/OPM8.190605.005/5749003:user/release-keys__2019-06-05
HTC 10 (6.0.1):HTC:HTC 10=htc/HTCOneM10vzw/htc_pmewl:6.0.1/MMB29M/774095.8:user/release-keys
HTC U11 (8.0.0):HTC:HTC U-3w=htc/ocndtwl_01405/htc_ocndtwl:8.0.0/OPR6.170623.013/1017190.2:user/release-keys
@ -115,6 +116,7 @@ Nokia 6 TA-1021 (9):Nokia:TA-1021=Nokia/TA-1021_00WW/PLE:9/PKQ1.181105.001/00WW_
Nokia 6 TA-1025 (9):Nokia:TA-1025=Nokia/TA-1025_00WW/PLE:9/PKQ1.181105.001/00WW_6_19C:user/release-keys__2020-01-01
Nokia 6 TA-1033 (9):Nokia:TA-1033=Nokia/TA-1033_00WW/PLE:9/PKQ1.181105.001/00WW_6_19C:user/release-keys__2020-01-01
Nokia 6 TA-1039 (9):Nokia:TA-1039=Nokia/TA-1039_00WW/PLE:9/PKQ1.181105.001/00WW_6_19C:user/release-keys__2020-01-01
Nokia 6.1 (10):Nokia:Nokia 6.1=Nokia/Plate2_00WW/PL2_sprout:10/QKQ1.190828.002/00WW_4_15E:user/release-keys__2020-06-01
Nokia 6.1 Plus (9 & 10):Nokia:Nokia 6.1 Plus=Nokia/Dragon_00WW/DRG_sprout:9/PPR1.180610.011/00WW_3_54J:user/release-keys__2019-08-01;Nokia/Dragon_00WW/DRG_sprout:10/QKQ1.190828.002/00WW_4_15C:user/release-keys__2020-05-01
Nokia 6.2 (9):Nokia:Nokia 6.2=Nokia/Starlord_00WW/SLD_sprout:9/PKQ1.190118.001/00WW_1_170:user/release-keys__2020-01-05
Nokia 7 Plus (9 & 10):Nokia:Nokia 7 plus=Nokia/Onyx_00WW/B2N_sprout:9/PPR1.180610.011/00WW_3_53B:user/release-keys__2019-05-01;Nokia/Onyx_00WW/B2N_sprout:10/QKQ1.190828.002/00WW_4_15D:user/release-keys__2020-05-01
@ -215,6 +217,7 @@ Samsung Galaxy Note 10.1 2014 SM-P600 (5.1.1):Samsung:SM-P600=samsung/lt03wifixx
Samsung Galaxy S3 Neo GT-I9300I (4.4.4):Samsung:GT-I9300I=samsung/s3ve3gdd/s3ve3gdd:4.4.4/KTU84P/I9300IDDUBQE2:user/release-keys
Samsung Galaxy S4 GT-I9505 (5.0.1):Samsung:GT-I9505=samsung/jfltexx/jflte:5.0.1/LRX22C/I9505XXUHPF4:user/release-keys
Samsung Galaxy S4 Active GT-I9295 (5.0.1):Samsung:GT-I9295=samsung/jactiveltexx/jactivelte:5.0.1/LRX22C/I9295XXSDQD6:user/release-keys
Samsung Galaxy S5 SM-G900F (6.0.1):Samsung:SM-G900F=samsung/kltexx/klte:6.0.1/MMB29M/G900FXXU1CRH1:user/release-keys
Samsung Galaxy S5 SM-G900H (6.0.1):Samsung:SM-G900H=samsung/k3gxx/k3g:6.0.1/MMB29K/G900HXXU1CPF2:user/release-keys
Samsung Galaxy S6 SM-G920F (7.0):Samsung:SM-G920F=samsung/zerofltexx/zeroflte:7.0/NRD90M/G920FXXS5EQL1:user/release-keys
Samsung Galaxy S6 Edge SM-G925F (7.0):Samsung:SM-G925F=samsung/zeroltexx/zerolte:7.0/NRD90M/G925FXXS5EQL1:user/release-keys
@ -224,6 +227,7 @@ Samsung Galaxy S8 SM-G950F (8.0.0):Samsung:SM-G950F=samsung/dreamltexx/dreamlte:
Samsung Galaxy S8 Plus SM-G955F (8.0.0):Samsung:SM-G955F=samsung/dream2ltexx/dream2lte:8.0.0/R16NW/G955FXXU1CRC7:user/release-keys
Samsung Galaxy S9 SM-G960F (8.0.0):Samsung:SM-G960F=samsung/starltexx/starlte:8.0.0/R16NW/G960FXXU1ARCC:user/release-keys
Samsung Galaxy S9 Plus SM-G965F (8.0.0):Samsung:SM-G965F=samsung/star2ltexx/star2lte:8.0.0/R16NW/G965FXXU1ARCC:user/release-keys
Samsung Galaxy S10 SM-G973F (10):Samsung:SM-G973F=samsung/beyond1ltexx/beyond1:10/QP1A.190711.020/G973FXXS3BSL4:user/release-keys__2020-01-01
Samsung Galaxy S10 Plus SM-G975F (10):Samsung:SM-G975F=samsung/beyond2ltexx/beyond2:10/QP1A.190711.020/G975FXXU3BSKO:user/release-keys__2019-12-01
Samsung Galaxy S10 Plus SM-G975U (9):Samsung:SM-G975U=samsung/beyond2qlteue/beyond2q:9/PPR1.180610.011/G975U1UEU1ASD3:user/release-keys__2019-03-01
Samsung Galaxy S10e SM-G970N (10):Samsung:SM-G970N=samsung/beyond0lteks/beyond0:10/QP1A.190711.020/G970NKSU4CTC9:user/release-keys__2020-04-01
@ -238,6 +242,7 @@ Samsung Galaxt Tab A LTE SM-T595 (9):Samsung:SM-T595=samsung/gta2xlltexx/gta2xll
Samsung Galaxt Tab A LTE SM-T597 (9):Samsung:SM-T597=samsung/gta2xlltespr/gta2xlltespr:9/PPR1.180610.011/T597PVPU2BSH7:user/release-keys__2019-08-01
Samsung Galaxy Tab S2 SM-T813 (7.0):samsung:SM-T813=samsung/gts210vewifixx/gts210vewifi:7.0/NRD90M/T813XXS2BSJ3:user/release-keys__2019-08-01
Samsung Galaxy Tab S3 LTE SM-T825 (8.0.0):Samsung:SM-T825=samsung/gts3lltexx/gts3llte:8.0.0/R16NW/T825XXU2BRL2:user/release-keys__2018-12-01
Samsung Galaxy Tab S4 SM-T830 (10):samsung:SM-T830=samsung/gts4lwifixx/gts4lwifi:10/QP1A.190711.020/T830XXU4CTF5:user/release-keys__2020-06-01
Samsung Galaxy Tab S5e SM-T720 (9):samsung:SM-T720=samsung/gts4lvwifixx/gts4lvwifi:9/PPR1.180610.011/T720XXS1ASL3:user/release-keys__2020-01-01
Sony Xperia M (4.3):Sony:C1905=Sony/C1905/C1905:4.3/15.4.A.1.9/eng.user.20140509.125022:user/release-keys
Sony Xperia X F5121 (8.0.0):Sony:F5121=Sony/F5121/F5121:8.0.0/34.4.A.2.118/1631208121:user/release-keys__2018-09-01
@ -288,6 +293,7 @@ Xiaomi Mi 9T European (9 & 10):Xiaomi:Mi 9T=Xiaomi/davinci_eea/davinci:9/PKQ1.19
Xiaomi Mi 9T Global (10):Xiaomi:Mi 9T=Xiaomi/davinci/davinci:10/QKQ1.190825.002/V11.0.1.0.QFJMIXM:user/release-keys__2019-12-01
Xiaomi Mi 9T Pro (9 & 10):Xiaomi:Mi 9T Pro=Xiaomi/raphael/raphael:9/PKQ1.181121.001/V10.3.14.0.PFKCNXM:user/release-keys__2019-06-01;Xiaomi/raphael/raphael:10/QKQ1.190825.002/V11.0.1.0.QFKMIXM:user/release-keys__2019-10-01
Xiaomi Mi 10 (10):Xiaomi:Mi 10=Xiaomi/umi/umi:10/QKQ1.191117.002/V11.0.15.0.QJBCNXM:user/release-keys__2020-02-01
Xiaomi Mi 10 Lite 5G (10):Xiaomi:M2002J9G=Xiaomi/monet_eea/monet:10/QKQ1.191222.002/V12.0.1.0.QJIEUXM:user/release-keys__2020-06-01
Xiaomi Mi 10 Pro (10):Xiaomi:Mi 10 Pro=Xiaomi/cmi/cmi:10/QKQ1.191117.002/V11.0.13.0.QJACNXM:user/release-keys__2020-02-01
Xiaomi Mi A1 (7.1.2 & 8.0.0 & 8.1.0 & 9):Xiaomi:Mi A1=xiaomi/tissot/tissot_sprout:7.1.2/N2G47H/7.12.19:user/release-keys;xiaomi/tissot/tissot_sprout:8.0.0/OPR1.170623.026/V.9.5.10.0.ODHMIFA:user/release-keys__2018-04-01;xiaomi/tissot/tissot_sprout:8.1.0/OPM1.171019.026/V9.6.8.0.ODHMIFE:user/release-keys__2018-11-01;xiaomi/tissot/tissot_sprout:9/PKQ1.180917.001/V10.0.23.0.PDHMIXM:user/release-keys__2020-07-01
Xiaomi Mi A2 (8.1.0 & 9 & 10):Xiaomi:Mi A2=xiaomi/jasmine/jasmine_sprout:8.1.0/OPM1.171019.011/V9.6.17.0.ODIMIFE:user/release-keys__2018-11-05;xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/V10.0.18.0.PDIMIXM:user/release-keys__2019-12-05;xiaomi/jasmine/jasmine_sprout:10/QKQ1.190910.002/V11.0.11.0.QDIMIXM:user/release-keys__2020-06-01
@ -305,7 +311,7 @@ Xiaomi Mi Note 3 (8.1.0):Xiaomi:Mi Note 3=Xiaomi/jason/jason:8.1.0/OPM1.171019.0
Xiaomi Mi Note 10 European (9):Xiaomi:Mi Note 10=Xiaomi/tucana_eea/tucana:9/PKQ1.190302.001/V11.0.11.0.PFDEUXM:user/release-keys__2019-11-01
Xiaomi Mi Pad (4.4.4):Xiaomi:MI PAD=Xiaomi/mocha/mocha:4.4.4/KTU84P/V7.5.2.0.KXFMIDE:user/release-keys
Xiaomi Mi Pad 4 (8.1.0):Xiaomi:MI PAD 4=Xiaomi/clover/clover:8.1.0/OPM1.171019.019/V10.1.1.0.ODJCNFI:user/release-keys__2018-10-01
Xiaomi Pocophone F1 (9 & 10):Xiaomi:POCOPHONE F1=Xiaomi/beryllium/beryllium:9/PKQ1.180729.001/V11.0.5.0.PEJMIXM:user/release-keys__2019-10-01;Xiaomi/beryllium/beryllium:10/QKQ1.190828.002/V11.0.8.0.QEJMIXM:user/release-keys__2020-04-01
Xiaomi Pocophone F1 (9 & 10):Xiaomi:POCOPHONE F1=Xiaomi/beryllium/beryllium:9/PKQ1.180729.001/V11.0.5.0.PEJMIXM:user/release-keys__2019-10-01;Xiaomi/beryllium/beryllium:10/QKQ1.190828.002/V11.0.9.0.QEJMIXM:user/release-keys__2020-06-01
Xiaomi Redmi 3/3 Pro (5.1.1):Xiaomi:Redmi 3=Xiaomi/ido/ido:5.1.1/LMY47V/V9.6.2.0.LAIMIFD:user/release-keys
Xiaomi Redmi 3S/X Prime (6.0.1):Xiaomi:Redmi 3S=Xiaomi/land/land:6.0.1/MMB29M/V9.5.1.0.MALMIFA:user/release-keys
Xiaomi Redmi 4 Pro (6.0.1):Xiaomi:Redmi 4=Xiaomi/markw/markw:6.0.1/MMB29M/V9.5.3.0.MBEMIFA:user/release-keys
@ -339,4 +345,4 @@ ZTE Axon 7 (7.1.1 & 8.0.0):ZTE:ZTE A2017=ZTE/P996A01_N/ailsa_ii:7.1.1/NMF26V/201
ZTE Blade (6.0.1):ZTE:Blade A310=ZTE/P809A50_MY_MAX/P809A50:6.0.1/MMB29M/20161017.095504:user/release-keys
ZTE Nubia Z17 (7.1.1):ZTE:NX563J=nubia/NX563J/NX563J:7.1.1/NMF26X/eng.nubia.20171019.101529:user/release-keys
Zuk Z2 Pro (7.0):Zuk:ZUK Z2121=ZUK/z2_row/z2_row:7.0/NRD90M/2.5.435_170525:user/release-keys
"
"

View File

@ -9,7 +9,7 @@
# =================================================================
# Required module version (or newer). Do not edit this value!
CONFTRANSF=520
CONFTRANSF=531
# Device fingerprint
CONFFINGERPRINT=""
@ -17,6 +17,10 @@ CONFVENDPRINT=false
CONFPRINTBOOT=default
CONFPATCHBOOT=late
# Force BASIC attestation
CONFBASICATTEST=false
CONFBASICATTCUST=""
# Device simulation
CONFDEVSIM=false
CONFBRAND=false
@ -44,6 +48,7 @@ CONFSELINUX=""
CONFPROPS=""
CONFPROPSPOST=""
CONFPROPSLATE=""
CONFPROPSDELAY=""
PROPOPTION=replace
# Delete props
@ -69,7 +74,8 @@ CONFBACK=false
# Example:
# CONFFINGERPRINT=preserve
# When placed in /cache or /data, the module will load these
# When placed in the root of your internal storage (/sdcard), in /data
# or in /cache (or /data/cache if you're using an A/B device), the module will load these
# values during boot and the configuration file will be deleted. Keep a backup of the
# file if you want to reuse it at a later time (clean ROM flash, etc).
@ -105,6 +111,11 @@ CONFBACK=false
# late_start service boot stage is used by default as to not cause issues for devices with
# Keymaster 4 (bootloops). If the prop doesn't seem to set properly, try changing the stage.
# CONFBASICATTEST is used to enable Forced BASIC attestation, which is done by changing the
# variable to 'true'. To set a custom value, change CONFBASICATTCUST to the value you want.
# Example:
# CONFBASICATTCUST="randommodelname"
# CONFDEVSIM and the following CONFBRAND, CONFNAME, CONFDEVICE, CONFRELEASE
# CONFID, CONFINCREMENTAL, CONFDESCRIPTION, CONFDISPLAY, CONFSDK, CONFMANUFACTURER and CONFMODEL
# are used to set a number of props to simulate a certain deviced based on the fingerprint used.
@ -143,6 +154,9 @@ CONFBACK=false
# 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).
#
# The CONFPROPSDELAY option is used to set a delay for when a specific custom prop is set. Will automacially
# set the prop during the late_start service boot stage.
#
# 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.

View File

@ -8,7 +8,7 @@
# In that case, feel free to delete it.
# Script version
SCRIPTV=34
SCRIPTV=35
SETTRANSF=3
NOTTRANSF="BRANDSET;NAMESET;DEVICESET;RELEASESET;IDSET;INCREMENTALSET;SDKSET"
@ -117,8 +117,8 @@ SIMMODEL=""
CUSTOMPROPS=""
CUSTOMPROPSPOST=""
CUSTOMPROPSLATE=""
CUSTOMPROPSLIST="$CUSTOMPROPS $CUSTOMPROPSPOST $CUSTOMPROPSLATE"
CUSTOMPROPSDELAY=""
CUSTOMPROPSLIST="$CUSTOMPROPS $CUSTOMPROPSPOST $CUSTOMPROPSLATE $CUSTOMPROPSDELAY"
# ---Delete prop values---
DELETEPROPS=""

View File

@ -4,17 +4,41 @@
# Copyright (c) 2018-2020 Didgeridoohan @ XDA Developers
# Licence: MIT
# Finding file values
ADBPATH=/data/adb
MHPCPATH=$ADBPATH/mhpc
if [ "$INSTFN" ]; then
LOGFILE=$MHPCPATH/propsconf_install.log
else
LOGFILE=$MHPCPATH/propsconf.log
fi
# Finding and setting up installed Busybox
if [ -z "$INSTFN" ] && [ "$BOOTSTAGE" != "post" -a "$BOOTSTAGE" != "late" ]; then
BBPATH=$ADBPATH/magisk/busybox
if [ -f "$BBPATH" ]; then
for ITEM in $($BBPATH --list | tail -n +3); do
alias $ITEM="$BBPATH $ITEM"
done
fi
if [ -f "$BBPATH" ]; then
echo "" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S.%3N") - Using $($BBPATH | head -1)." >> $LOGFILE 2>&1
echo "$BBPATH" >> $LOGFILE 2>&1
else
echo "" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S.%3N") - No Busybox found." >> $LOGFILE 2>&1
fi
fi
# Finding file values, $1=file (with path), $2=string to look for
get_file_value() {
if [ -f "$1" ]; then
grep $2 $1 | sed "s|.*${2}||" | sed 's|\"||g'
echo $(grep $2 $1) | sed "s|.*${2}||" | sed 's|\"||g'
fi
}
# ======================== Variables ========================
ADBPATH=/data/adb
MODULESPATH=$ADBPATH/modules
MHPCPATH=$ADBPATH/mhpc
LATEFILE=$MHPCPATH/propsconf_late
MIRRORLOC=/sbin/.magisk/mirror/system
VENDLOC=/sbin/.magisk/mirror/vendor
@ -38,7 +62,6 @@ if [ "$INSTFN" ]; then
$CACHELOC/propsconf_install.log
$CACHELOC/propsconf_last.log
"
LOGFILE=$MHPCPATH/propsconf_install.log
SETTINGSLIST="
FINGERPRINTENB
PRINTMODULE
@ -46,6 +69,8 @@ if [ "$INSTFN" ]; then
PRINTVEND
PRINTCHK
BASICATTEST
BASICATTLIST
BASICATTCUST
DEVSIM
PROPCOUNT
PROPEDIT
@ -99,11 +124,10 @@ if [ "$INSTFN" ]; then
"
else
# Placeholder variables
MODVERSION=v5.3.0
BIN=xbin
MODVERSIONPH=VER_PLACEHOLDER
BINPH=BIN_PLACEHOLDER
# Log variables
LOGFILE=$MHPCPATH/propsconf.log
LASTLOGFILE=$MHPCPATH/propsconf_last.log
VLOGFILE=$MHPCPATH/propsconf_verbose.log
VLASTLOGFILE=$MHPCPATH/propsconf_verbose_last.log
@ -242,25 +266,6 @@ APILVL="
10=29
"
# List of aliases to set from Busybox
ALIASLIST="
awk
cat
cp
cut
grep
head
id
mv
printf
sed
sort
tar
tr
wc
wget
"
# Values props list
VALPROPSLIST=$PROPSLIST$PRINTPARTS$SNPROPS$ADNPROPS$ADNSIMPROPS
@ -276,46 +281,37 @@ if [ "$BOOTSTAGE" != "post" ]; then
fi
# ======================== General functions ========================
# Log functions
# Log functions, $1=Log text
# Print to log
log_handler() {
if [ "$(id -u)" == 0 ] ; then
echo "" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S.%3N") - $1" >> $LOGFILE 2>&1
fi
}
# Print to log and screen
log_print() {
if [ "$INSTFN" ]; then
ui_print "$1"
else
echo "$1"
echo -e "$1"
fi
log_handler "$1"
}
# Print to controll file for boot scripts
log_script_chk() {
log_handler "$1"
echo -e "$(date +"%m-%d-%Y %H:%M:%S") - $1" >> $RUNFILE 2>&1
}
# Finding and setting up installed Busybox
if [ ! "$INSTFN" ] && [ "$BOOTSTAGE" != "post" -a "$BOOTSTAGE" != "late" ]; then
log_handler "Setting up Busybox."
BBPATH=$ADBPATH/magisk/busybox
if [ "$BBPATH" ]; then
log_handler "Using $($BBPATH | head -1)."
echo "$BBPATH" >> $LOGFILE 2>&1
for ITEM in $ALIASLIST; do
alias $ITEM="$BBPATH $ITEM"
done
else
log_handler "No Busybox found."
fi
fi
#Divider
DIVIDER="${Y}=====================================${N}"
# Header
# Header, $1=header text
menu_header() {
# Don't clear screen if running from adb or if testing flag is active
if [ -z "$ANDROID_SOCKET_adbd" ] && [ "$DEVTESTING" == "false" ]; then
clear
fi
@ -325,12 +321,12 @@ menu_header() {
VERSIONTXT=$MODVERSION
fi
echo ""
echo "${W}MagiskHide Props Config $VERSIONTXT${N}"
echo "${W}by Didgeridoohan @ XDA Developers${N}"
echo -e "${W}MagiskHide Props Config $VERSIONTXT${N}"
echo -e "${W}by Didgeridoohan @ XDA Developers${N}"
echo ""
echo $DIVIDER
echo -e $DIVIDER
echo -e " $1"
echo $DIVIDER
echo -e $DIVIDER
}
# Get module version
@ -339,7 +335,7 @@ module_v_ctrl() {
VERSIONTMP=$(echo $(get_file_value $MODPATH/module.prop "version="))
}
# Find prop type
# Find prop type, $1=prop name
get_prop_type() {
if [ "$1" == "ro.vendor.build.fingerprint" ]; then
echo "vendprint"
@ -350,22 +346,22 @@ get_prop_type() {
fi
}
# Get left side of =
# Get left side of =, $1=string to check
get_eq_left() {
echo $1 | cut -f 1 -d '='
}
# Get right side of =
# Get right side of =, $1=string to check
get_eq_right() {
echo $1 | cut -f 2 -d '='
}
# Get the list of print version
# Get the list of print version, $1=Fingerprint device info with android versions
get_print_versions() {
echo "$1" | sed 's|.*(||' | sed 's|).*||' | sed 's| \& | |g'
}
# Get Android version with 3 digits for input
# Get Android version with 3 digits for input, $1=version string to convert to three digits
get_android_version() {
VERTMP=$(echo $1 | sed 's|\.||g')
if [ "${#VERTMP}" -lt 3 ]; then
@ -376,17 +372,37 @@ get_android_version() {
echo $VERTMP
}
# Get security patch date for current fingerprint
# Get security patch date for current fingerprint, $1=fingerprint string, including appended security patch date
get_sec_patch() {
echo $1 | sed 's|.*\_\_||'
}
# Get the fingerprint for displaying in the ui
# Get the fingerprint for displaying in the ui, $1=fingerprint
get_print_display() {
echo $1 | sed 's|\_\_.*||'
}
# Replace file values
# Get prop value for custom props, $1=full prop string with name and value
get_prop_value() {
echo "$(get_eq_right "$1")" | sed 's|_sp_| |g' | sed 's|\;.*$||'
}
# Get delay for custom props, $1=full prop string with name, value and delay. If no delay is set, 0 is returned
get_prop_delay() {
TMPVAL="$(echo "$(get_eq_right "$1")" | sed 's|^.*\;||' | sed 's|\_\_.*$||')"
if [ "$TMPVAL" ]; then
echo "$TMPVAL"
else
echo "0"
fi
}
# Get execution point for custom prop delay, $1=full prop string with name, value and delay
get_prop_delay_exec() {
echo "$(get_eq_right "$1")" | sed 's|^.*\_\_||'
}
# Replace file values, $1=Variable to update, $2=Original variable value, $3=New variable value, $4=File, $5=control option for placeholder replacement
replace_fn() {
if [ "$5" == "placeholder" ]; then
sed -i "s|${1}PH=${2}|${1}=${3}|" $4 >> $LOGFILE 2>&1
@ -395,7 +411,7 @@ replace_fn() {
fi
}
# Format user files to remove Windows file endings
# Format user files to remove Windows file endings, $1=file to format
format_file() {
log_handler "Formating file (${1})."
# Remove Windows line endings
@ -409,9 +425,9 @@ format_file() {
# Reboot the device
force_reboot() {
echo ""
echo "${C}Rebooting...${N}"
echo -e "${C}Rebooting...${N}"
log_handler "Rebooting."
[ "$(getprop sys.boot_completed)" == 1 ] && /system/bin/svc power reboot "" >> $LOGFILE 2>&1 || /system/bin/reboot "" >> $LOGFILE 2>&1 || setprop sys.powerctl reboot >> $LOGFILE 2>&1
[ $(getprop sys.boot_completed) == 1 ] && /system/bin/svc power reboot "" >> $LOGFILE 2>&1 || /system/bin/reboot "" >> $LOGFILE 2>&1 || setprop sys.powerctl reboot >> $LOGFILE 2>&1
sleep 15
log_handler "Rebooting failed."
echo ""
@ -421,7 +437,7 @@ force_reboot() {
exit 0
}
# Updates placeholders
# Updates placeholders, $1=file, $2=Variable name to replace to, $3=Placeholder name, $4=Value to assign updated variable
placeholder_update() {
log_handler "Checking for ${3} in ${1}."
if [ -f "$1" ]; then
@ -512,11 +528,11 @@ all_values() {
before_change() {
if [ -z "$INSTFN" ]; then
echo ""
echo "${C}Working. Please wait...${N}"
echo -e "${C}Working. Please wait...${N}"
fi
}
# Run after updated props/settings
# Run after updated props/settings, $1=header, $2=Run options, $3=Reboot or not
after_change() {
if [ "$2" == "file" ]; then
# Load module settings
@ -535,7 +551,7 @@ after_change() {
fi
}
# Reboot function
# Reboot function, $1=header, $2=Run options
reboot_fn() {
INPUT5=""
while true
@ -556,13 +572,13 @@ reboot_fn() {
echo "Reboot for changes to take effect."
echo ""
fi
echo "Do you want to reboot now (y/n)?"
echo -e "Do you want to reboot now (${G}y/n${N})?"
echo ""
if [ "$2" == "p" ] || [ "$2" == "r" ] || [ "$2" == "reset-script" ]; then
echo -n "Enter ${G}y${N}(es) or ${G}n${N}(o): "
echo -en "Enter ${G}y${N}(es) or ${G}n${N}(o): "
INV1=2
else
echo -n "Enter ${G}y${N}(es), ${G}n${N}(o) or ${G}e${N}(xit): "
echo -en "Enter ${G}y${N}(es), ${G}n${N}(o) or ${G}e${N}(xit): "
INV1=3
fi
read -r INPUT5
@ -595,7 +611,7 @@ reboot_fn() {
done
}
# Reset module
# Reset module, $1=header, $2=Run options
reset_fn() {
before_change
@ -1108,12 +1124,12 @@ script_install() {
}
# ======================== Fingerprint functions ========================
# Get full device info from fingerprint string
# Get full device info from fingerprint string, $1=full fingerprint string, including device info
get_device() {
echo $1 | cut -f 1 -d '=' | sed "s|\:.*$||"
}
# Get first word in fingerprint string
# Get first word in fingerprint string, $1=full fingerprint string, including device info
get_first() {
case $1 in
*\ *) echo $1 | sed 's|\ .*||'
@ -1123,22 +1139,22 @@ get_first() {
esac
}
# Get the device for current fingerprint
# Get the device for current fingerprint, $1=fingerprint
get_device_used() {
PRINTTMP=$(cat $MODPATH/common/prints.sh | grep "$1")
if [ "$PRINTTMP" ]; then
echo "${C}$(get_device "$PRINTTMP" | sed "s| (.*||")${N}"
echo -e "${C}$(get_device "$PRINTTMP" | sed "s| (.*||")${N}"
echo ""
elif [ -s "$CSTMPRINTS" ]; then
PRINTTMP=$(cat $CSTMPRINTS | grep "$1")
if [ "$PRINTTMP" ]; then
echo "${C}$(get_device "$PRINTTMP" | sed "s| (.*||")${N} (from custom list)"
echo -e "${C}$(get_device "$PRINTTMP" | sed "s| (.*||")${N} (from custom list)"
echo ""
fi
fi
}
# Set new fingerprint
# Set new fingerprint, $1=file to add prop info to
print_edit() {
if [ "$1" != "none" ]; then
before_change
@ -1181,7 +1197,7 @@ print_edit() {
fi
}
# Edit security patch date if included
# Edit security patch date if included, $1=file to add prop info to
patch_edit() {
if [ "$1" != "none" ]; then
before_change
@ -1246,6 +1262,7 @@ print_files() {
device_print_update "Updating module fingerprint."
}
# Check for and update used fingerprint, $1=header
device_print_update() {
log_handler "$1"
if [ "$OPTIONUPDATE" == 1 ]; then
@ -1301,8 +1318,9 @@ device_print_update() {
fi
}
# Checks and updates the prints list
# Checks and updates the prints list, $1=run option
download_prints() {
# Don't clear screen if running through adb or if testing flag is used
if [ -z "$ANDROID_SOCKET_adbd" ] && [ "$DEVTESTING" == "false" ]; then
clear
fi
@ -1359,7 +1377,7 @@ download_prints() {
fi
}
# Reset the module fingerprint change
# Reset the module fingerprint change, $1=prop name, $2=run option
reset_print() {
before_change
@ -1380,7 +1398,7 @@ reset_print() {
after_change "$1" "$2"
}
# Use fingerprint
# Use fingerprint, $1=header, $2=fingerprint
change_print() {
before_change
@ -1406,7 +1424,7 @@ change_print() {
after_change "$1" "$3" "$REBOOTCHK"
}
# Use vendor fingerprint
# Use vendor fingerprint, $1=header, $2=Current state of option (enabled or disabled)
change_print_vendor() {
before_change
@ -1439,7 +1457,7 @@ change_print_vendor() {
after_change "$1" "$3"
}
# Save props values from fingerprint parts
# Save props values from fingerprint parts, $1=fingerprint
print_parts() {
DLIM1=1
DLIM2=1
@ -1526,7 +1544,7 @@ set_partition_props() {
}
# ======================== Force BASIC attestation ========================
# Switch/set forced basic attestation
# Switch/set forced basic attestation, $1=header/file to change (system.prop), $2=model prop value from fingerprint, $3=custom model prop value, $4=reset flag
forced_basic() {
# Find what brand is being used
if [ "$FINGERPRINTENB" == 1 -o "$PRINTMODULE" == 0 ] && [ "$PRINTEDIT" == 1 ] && [ "$MODULEFINGERPRINT" ]; then
@ -1580,21 +1598,21 @@ forced_basic() {
fi
}
# Set a list value for forced basic attestation
# Set a list value for forced basic attestation, $1=header, $2=model prop value
forced_list_confirm() {
log_handler "Setting value for forced basic attestation to \"$2\" (from fingerprints list)."
forced_basic "$1" "$2"
}
# Set a custom value for forced basic attestation
# Set a custom value for forced basic attestation, $1=header, $2=custom model prop value
forced_custom_confirm() {
log_handler "Setting custom value for forced basic attestation to \"$2\"."
forced_basic "$1" "" "$2"
}
# Reset the values for forced basic attestation
# Reset the values for forced basic attestation, $1=header, $2=reset type
forced_reset() {
LISTVAL="$BASICATTLIST"
CUSTVAL="$BASICATTCUST"
@ -1618,7 +1636,7 @@ forced_reset() {
}
# ======================== Device simulation functions ========================
# Edit the simulation props
# Edit the simulation props, $1=file to edit (system.prop)
dev_sim_edit() {
if [ "$1" != "none" ]; then
before_change
@ -1657,7 +1675,7 @@ dev_sim_edit() {
fi
}
# Enable/disable the option
# Enable/disable the option, $1=header, $2=run option
change_dev_sim() {
before_change
@ -1686,7 +1704,7 @@ change_dev_sim() {
after_change "$1" "$2"
}
# Change if prop should be simulated or not
# Change if prop should be simulated or not, $1=header, $2=prop name, $3=prop value, $4=run option
change_sim_prop() {
before_change
@ -1706,7 +1724,7 @@ change_sim_prop() {
after_change "$1" "$4"
}
# Change if description should be simulated or not
# Change if description should be simulated or not, $1=header, $2=Check if option is enabled or disabled, $3=run option
change_sim_descr() {
before_change
@ -1723,7 +1741,7 @@ change_sim_descr() {
after_change "$1" "$3"
}
# Change if partition specific props should be simulated or not
# Change if partition specific props should be simulated or not, $1=header, $2=Check if option is enabled or disabled, $3=run option
change_sim_partprops() {
before_change
@ -1741,7 +1759,7 @@ change_sim_partprops() {
}
# ======================== MagiskHide Props functions ========================
# Check safe values
# Check safe values, $1=header, $2=Currently set prop value
safe_props() {
SAFE=""
if [ "$2" ]; then
@ -1758,7 +1776,7 @@ safe_props() {
fi
}
# Find what prop value to change to
# Find what prop value to change to, $1=header, $2=Currently set prop value
change_to() {
CHANGE=""
case "$1" in
@ -1779,7 +1797,7 @@ change_to() {
esac
}
# Reset the module prop change
# Reset the module prop change, $1=prop name, $2=run option
reset_prop() {
before_change
@ -1810,7 +1828,7 @@ reset_prop() {
after_change "$1" "$2"
}
# Use prop value
# Use prop value, $1=prop name, $2=new prop value, $3=run option
change_prop() {
before_change
@ -1837,7 +1855,7 @@ change_prop() {
after_change "$1" "$3"
}
# Reset all module prop changes
# Reset all module prop changes, $1=header
reset_prop_all() {
before_change
@ -1863,7 +1881,7 @@ reset_prop_all() {
}
# ======================== Custom Props functions ========================
# Set custom props
# Set custom props, $1=custom type (default, post, late, delay) , $2=file to edit
custom_edit() {
if [ "$2" ]; then
before_change
@ -1872,37 +1890,58 @@ custom_edit() {
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')
if [ "$2" ]; then
echo "$(get_eq_left "$ITEM")=${TMPITEM}" >> $2
for ITEM in $TMPLST; do
TMPITEM=$(get_prop_value "$ITEM")
if [ "$1" == "CUSTOMPROPSDELAY" ]; then
{
TMPBOOTTXT=""
TMPDELAY=$(get_prop_delay "$ITEM")
# Wait for "Boot completed", if enabled
if [ "$(get_prop_delay_exec "$ITEM")" == "boot" ]; then
TMPBOOTTXT=" after \"Boot completed\""
until [ $(getprop sys.boot_completed) == 1 ]; do
sleep 0.1
done
fi
TMPI=1
until [ "$TMPI" -gt "$TMPDELAY" ]; do
sleep 1
TMPI=$(($TMPI + 1))
done
log_handler "Changing/writing $(get_eq_left "$ITEM") with a delay of $TMPDELAY seconds${TMPBOOTTXT}."
resetprop -nv $(get_eq_left "$ITEM") "${TMPITEM}" >> $LOGFILE 2>&1
} &
else
resetprop -nv $(get_eq_left "$ITEM") "$TMPITEM" >> $LOGFILE 2>&1
log_handler "Changing/writing $(get_eq_left "$ITEM")."
if [ "$2" ]; then
echo "$(get_eq_left "$ITEM")=${TMPITEM}" >> $2
else
resetprop -nv $(get_eq_left "$ITEM") "${TMPITEM}" >> $LOGFILE 2>&1
fi
fi
done
fi
fi
}
# Find custom props module set value
# Find custom props module set value, $1=prop name
custprop_value() {
TMPLST="$CUSTOMPROPSLIST"
if [ "$TMPLST" ]; then
for ITEM in $TMPLST; do
case "$ITEM" in
*$1*)
echo $(get_eq_right "$ITEM" | sed 's|_sp_| |g')
get_prop_value "$ITEM"
;;
esac
done
fi
}
# Set custom prop value
# Set custom prop value, $1=prop name, $2=prop value , $3=boot stage , $4=original value, $5=delay, $6=exectuion timing ("boot completed" or now)
set_custprop() {
before_change
if [ "$2" ]; then
# Reset the prop
reset_custprop "$1" "$2" "bootstage"
@ -1918,26 +1957,31 @@ set_custprop() {
elif [ "$3" == "both" ]; then
PROPSBOOTSTAGE="CUSTOMPROPSPOST CUSTOMPROPSLATE"
PROPSTXT="post-fs-data/late_start service"
elif [ "$3" == "delay" ]; then
PROPSBOOTSTAGE="CUSTOMPROPSDELAY"
PROPSTXT="late_start service"
fi
DELAYVAL=""
DELAYLOG=""
DELAYBOOT=""
if [ "$3" == "delay" ] && [ "$5" ]; then
DELAYVAL=";$5"
DELAYLOG=", with a delay of $5 seconds"
elif [ "$3" == "delay" ] && [ -z "$5" ]; then
DELAYVAL=";0"
fi
if [ "$3" == "delay" ] && [ "$6" == "boot" ]; then
DELAYBOOT="__boot"
fi
TMPVALUE=$(echo "$2" | sed 's| |_sp_|g')
TMPORIG=$(echo "$4" | sed 's| |_sp_|g')
DLIMTMP=1
for ITEM in $PROPSBOOTSTAGE; do
CURRCUSTPROPS=$(get_file_value $LATEFILE "${ITEM}=")
case "$CURRCUSTPROPS" in
*$1*)
if [ "$(echo $CUSTOMPROPSLIST | grep -Eo "(^| )$1($| )")" ]; then
TMPCUSTPROPS=$(echo "$CURRCUSTPROPS" | sed "s|${1}=${TMPORIG}|${1}=${TMPVALUE}|")
else
TMPCUSTPROPS=$(echo "$CURRCUSTPROPS ${1}=${TMPVALUE}" | sed 's|^[ \t]*||')
fi
;;
*) TMPCUSTPROPS=$(echo "$CURRCUSTPROPS ${1}=${TMPVALUE}" | sed 's|^[ \t]*||')
;;
esac
TMPCUSTPROPS=$(echo "$CURRCUSTPROPS ${1}=${TMPVALUE}${DELAYVAL}${DELAYBOOT}" | sed 's|^[ \t]*||')
SORTCUSTPROPS=$(echo $(printf '%s\n' $TMPCUSTPROPS | sort -u))
log_handler "Setting custom prop $1 in $(echo $PROPSTXT | cut -f $DLIMTMP -d '/') stage."
log_handler "Setting custom prop $1 in $(echo $PROPSTXT | cut -f $DLIMTMP -d '/') stage${DELAYLOG}."
replace_fn $ITEM "\"$CURRCUSTPROPS\"" "\"$SORTCUSTPROPS\"" $LATEFILE
replace_fn CUSTOMEDIT 0 1 $LATEFILE
DLIMTMP=$(($DLIMTMP + 1))
@ -1947,36 +1991,59 @@ set_custprop() {
fi
}
# Reset all custom prop values
# Reset all custom prop values, $1=after_change option (run from configuration file or not)
reset_all_custprop() {
before_change
log_handler "Resetting all custom props."
# Removing all custom props
replace_fn CUSTOMPROPS "\"$CUSTOMPROPS\"" "\"\"" $LATEFILE
replace_fn CUSTOMPROPSPOST "\"$CUSTOMPROPSPOST\"" "\"\"" $LATEFILE
replace_fn CUSTOMPROPSLATE "\"$CUSTOMPROPSLATE\"" "\"\"" $LATEFILE
replace_fn CUSTOMPROPSDELAY "\"$CUSTOMPROPSDELAY\"" "\"\"" $LATEFILE
replace_fn CUSTOMEDIT 1 0 $LATEFILE
after_change "Resetting all custom props" "$1"
}
# Reset custom prop value
# Reset custom prop value, $1=prop name, $2=prop value, $3=run after_change or not
reset_custprop() {
before_change
log_handler "Resetting custom prop $1."
PROPSBOOTSTAGE="CUSTOMPROPS CUSTOMPROPSPOST CUSTOMPROPSLATE"
PROPSBOOTSTAGE="CUSTOMPROPS CUSTOMPROPSPOST CUSTOMPROPSLATE CUSTOMPROPSDELAY"
TMPVALUE=$(echo "$2" | sed 's| |_sp_|g')
for ITEM in $PROPSBOOTSTAGE; do
CURRCUSTPROPS=$(get_file_value $LATEFILE "${ITEM}=")
TMPCUSTPROPS=$(echo $CURRCUSTPROPS | sed "s|${1}=${TMPVALUE}||" | tr -s " " | sed 's|^[ \t]*||;s|[ \t]*$||')
# Updating custom props string
replace_fn $ITEM "\"$CURRCUSTPROPS\"" "\"$TMPCUSTPROPS\"" $LATEFILE
if [ "$CURRCUSTPROPS" ]; then
TMPDELAY=""
TMPBOOTEXEC=""
if [ "$ITEM" == "CUSTOMPROPSDELAY" ]; then
for PROP in $CURRCUSTPROPS; do
case $PROP in
*$TMPVALUE*)
TMPDELAY=";$(get_prop_delay "$PROP")"
case $PROP in
*\_\_*)
TMPBOOTEXEC="$(get_prop_delay_exec "$PROP")"
if [ "$TMPBOOTEXEC" ]; then
TMPBOOTEXEC="__$TMPBOOTEXEC"
fi
;;
esac
break
;;
esac
done
fi
TMPCUSTPROPS=$(echo $CURRCUSTPROPS | sed "s|${1}=${TMPVALUE}${TMPDELAY}${TMPBOOTEXEC}||" | tr -s " " | sed 's|^[ \t]*||;s|[ \t]*$||')
# Updating custom props string
replace_fn $ITEM "\"$CURRCUSTPROPS\"" "\"$TMPCUSTPROPS\"" $LATEFILE
fi
done
if [ -z "$CUSTOMPROPS" ] && [ -z "$CUSTOMPROPSPOST" ] && [ -z "$CUSTOMPROPSLATE" ]; then
if [ -z "$CUSTOMPROPS" ] && [ -z "$CUSTOMPROPSPOST" ] && [ -z "$CUSTOMPROPSLATE" ] && [ -z "$CUSTOMPROPSDELAY" ]; then
replace_fn CUSTOMEDIT 1 0 $LATEFILE
fi
@ -1992,7 +2059,6 @@ prop_del() {
log_handler "Deleting props."
for ITEM in $DELETEPROPS; do
log_handler "Deleting $ITEM."
TMPITEM=$( echo $(get_eq_right "$ITEM") | sed 's|_sp_| |g')
case "$ITEM" in
persist*)
resetprop -pv --delete $ITEM >> $LOGFILE 2>&1
@ -2005,11 +2071,11 @@ prop_del() {
fi
}
# Set prop to delete
# Set prop to delete, $1=prop name, $2=run option
set_delprop() {
if [ "$1" ]; then
before_change
TMPDELPROPS=$(echo "$DELETEPROPS ${1}" | sed 's|^[ \t]*||')
SORTDELPROPS=$(echo $(printf '%s\n' $TMPDELPROPS | sort -u))
@ -2021,10 +2087,10 @@ set_delprop() {
fi
}
# Reset all props to delete
# Reset all props to delete, $1=run option
reset_all_delprop() {
before_change
log_handler "Resetting list of props to delete."
# Removing all props to delete
replace_fn DELETEPROPS "\"$DELETEPROPS\"" "\"\"" $LATEFILE
@ -2033,10 +2099,10 @@ reset_all_delprop() {
after_change "Reset all props to delete." "$1"
}
# Reset prop to delete
# Reset prop to delete, $1=prop name
reset_delprop() {
before_change
log_handler "Resetting prop to delete, $1."
TMPDELPROPS=$(echo $DELETEPROPS | sed "s|${1}||" | tr -s " " | sed 's|^[ \t]*||')
@ -2052,7 +2118,7 @@ reset_delprop() {
}
# ======================== Options functions ========================
# Export all settings to a module configuration file
# Export all settings to a module configuration file, $1=header
export_settings() {
before_change
log_handler "Exporting module settings to $EXPORTFILE."
@ -2063,10 +2129,15 @@ export_settings() {
# Create file and Delete instructions
head -n 59 $MODPATH/common/propsconf_conf > $EXPORTFILE
# Export settings
# Fingerprint
replace_fn CONFFINGERPRINT "\"\"" "\"$MODULEFINGERPRINT\"" $EXPORTFILE
replace_fn CONFVENDPRINT false $([ $PRINTEDIT == 0 ] && echo "false" || echo "true") $EXPORTFILE
replace_fn CONFVENDPRINT false $([ $PRINTVEND == 0 ] && echo "false" || echo "true") $EXPORTFILE
replace_fn CONFPRINTBOOT default $([ $PRINTSTAGE == 0 ] && echo "default" || $([ $PRINTSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE
replace_fn CONFPATCHBOOT late $([ $PRINTSTAGE == 0 ] && echo "default" || $([ $PRINTSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE
replace_fn CONFPATCHBOOT late $([ $PATCHSTAGE == 0 ] && echo "default" || $([ $PATCHSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE
# Force BASIC attestation
replace_fn CONFBASICATTEST false $([ $BASICATTEST == 0 ] && echo "false" || echo "true") $EXPORTFILE
replace_fn CONFBASICATTCUST "\"\"" "\"$BASICATTCUST\"" $EXPORTFILE
# Device Simulation
replace_fn CONFDEVSIM false $([ $DEVSIM == 0 ] && echo "false" || echo "true") $EXPORTFILE
replace_fn CONFBRAND false $([ $BRANDSET == 0 ] && echo "false" || echo "true") $EXPORTFILE
replace_fn CONFNAME false $([ $NAMESET == 0 ] && echo "false" || echo "true") $EXPORTFILE
@ -2081,15 +2152,20 @@ export_settings() {
replace_fn CONFDESCRIPTION true $([ $DESCRIPTIONSET == 0 ] && echo "false" || echo "true") $EXPORTFILE
replace_fn CONFPARTPROPS true $([ $PARTPROPSSET == 0 ] && echo "false" || echo "true") $EXPORTFILE
replace_fn CONFSIMBOOT default $([ $SIMSTAGE == 0 ] && echo "default" || $([ $PRINTSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE
replace_fn CONFDEBUGGABLE "\"\"" $MODULEDEBUGGABLE $EXPORTFILE
replace_fn CONFSECURE "\"\"" $MODULESECURE $EXPORTFILE
replace_fn CONFTYPE "\"\"" $MODULETYPE $EXPORTFILE
replace_fn CONFTAGS "\"\"" $MODULETAGS $EXPORTFILE
replace_fn CONFSELINUX "\"\"" $MODULESELINUX $EXPORTFILE
# MagiskHide sensitive props
replace_fn CONFDEBUGGABLE "\"\"" "\"$MODULEDEBUGGABLE\"" $EXPORTFILE
replace_fn CONFSECURE "\"\"" "\"$MODULESECURE\"" $EXPORTFILE
replace_fn CONFTYPE "\"\"" "\"$MODULETYPE\"" $EXPORTFILE
replace_fn CONFTAGS "\"\"" "\"$MODULETAGS\"" $EXPORTFILE
replace_fn CONFSELINUX "\"\"" "\"$MODULESELINUX\"" $EXPORTFILE
# Custom props
replace_fn CONFPROPS "\"\"" "\"$CUSTOMPROPS\"" $EXPORTFILE
replace_fn CONFPROPSPOST "\"\"" "\"$CUSTOMPROPSPOST\"" $EXPORTFILE
replace_fn CONFPROPSLATE "\"\"" "\"$CUSTOMPROPSLATE\"" $EXPORTFILE
replace_fn CONFPROPSDELAY "\"\"" "\"$CUSTOMPROPSDELAY\"" $EXPORTFILE
# Delete props
replace_fn CONFDELPROPS "\"\"" "\"$DELETEPROPS\"" $EXPORTFILE
# Module settings
replace_fn CONFBOOT default $([ $OPTIONBOOT == 0 ] && echo "default" || $([ $PRINTSTAGE == 1 ] && echo "post" || echo "late")) $EXPORTFILE
replace_fn CONFCOLOUR true $([ $OPTIONCOLOUR == 0 ] && echo "false" || echo "true") $EXPORTFILE
replace_fn CONFWEB true $([ $OPTIONWEB == 0 ] && echo "false" || echo "true") $EXPORTFILE
@ -2102,14 +2178,14 @@ export_settings() {
echo "A module configuration file with"
echo "your current settings have been"
echo "saved to your internal storage,"
echo "in the ${C}/mhcp${N} directory."
echo -e "in the ${C}/mhcp${N} directory."
echo ""
echo -n "Press enter to continue..."
read -r INPUTTMP
}
# ======================== Log collecting functions ========================
# Collects useful logs and info for troubleshooting
# Collects useful logs and info for troubleshooting, $1=header, $2=Run as a command flag or not
collect_logs() {
log_handler "Collecting logs and information."
# Create temporary directory

View File

@ -1,6 +1,6 @@
id=MagiskHidePropsConf
name=MagiskHide Props Config
version=v5.3.0-v95
versionCode=61
version=v5.3.1-v97
versionCode=62
author=Didgeridoohan
description=Change your device's fingerprint, to pass SafetyNet's CTS Profile check. Set/reset prop values set by MagiskHide. Change any prop values easily, and set your own custom props.

View File

@ -36,14 +36,14 @@
echo "***************** By Didgeridoohan ***************" >> $LOGFILE 2>&1
echo "***************************************************" >> $LOGFILE 2>&1
echo ""
STRST="$(date +"%m-%d-%Y %H:%M:%S:%N") - Log start (regular execution)."
STRST="$(date +"%m-%d-%Y %H:%M:%S.%3N") - Log start (regular execution)."
echo -e $STRST >> $LOGFILE 2>&1
echo -e $STRST > $RUNFILE 2>&1
# Save default prop values
getprop > $MHPCPATH/defaultprops
echo "" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S:%N") - Saved default values" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S.%3N") - Saved default values" >> $LOGFILE 2>&1
{
# Creates/updates the script control file
@ -52,7 +52,7 @@
# Logging
log_handler() {
echo "" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S:%N") - $1" >> $LOGFILE 2>&1
echo -e "$(date +"%Y-%m-%d %H:%M:%S.%3N") - $1" >> $LOGFILE 2>&1
}
# Reset/disable file locations

View File

@ -98,6 +98,7 @@ if [ "$OPTIONBOOT" != 2 ] && [ "$SIMSTAGE" == 2 ]; then
fi
# Edit custom props set for late_start service
custom_edit "CUSTOMPROPSLATE"
custom_edit "CUSTOMPROPSDELAY"
# Edit MagiskHide sensitive values
if [ "$PROPEDIT" == 1 ]; then

Binary file not shown.