mirror of
https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf.git
synced 2024-10-04 13:49:50 +00:00
v3.0.0-v42
This commit is contained in:
parent
416ddbc390
commit
27c62203a2
73
README.md
73
README.md
@ -19,6 +19,7 @@ Keep reading below to find out more details about the different parts of the mod
|
|||||||
- [Installation](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#installation)
|
- [Installation](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#installation)
|
||||||
- [Usage](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#usage)
|
- [Usage](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#usage)
|
||||||
- [Spoofing device's fingerprint to pass the ctsProfile check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#spoofing-devices-fingerprint-to-pass-the-ctsprofile-check)
|
- [Spoofing device's fingerprint to pass the ctsProfile check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#spoofing-devices-fingerprint-to-pass-the-ctsprofile-check)
|
||||||
|
- [Use vendor fingerprint](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#use-vendor-fingerprint
|
||||||
- [Matching the Android security patch date](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#matching-the-android-security-patch-date)
|
- [Matching the Android security patch date](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#matching-the-android-security-patch-date)
|
||||||
- [Can I use any fingerprint?](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#can-i-use-any-fingerprint)
|
- [Can I use any fingerprint?](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#can-i-use-any-fingerprint)
|
||||||
- [Finding a certified fingerprint](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#finding-a-certified-fingerprint)
|
- [Finding a certified fingerprint](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#finding-a-certified-fingerprint)
|
||||||
@ -31,6 +32,7 @@ Keep reading below to find out more details about the different parts of the mod
|
|||||||
- [Current fingerprints list version](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#current-fingerprints-list-version)
|
- [Current fingerprints list version](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#current-fingerprints-list-version)
|
||||||
- [Please add support for device X](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#please-add-support-for-device-x)
|
- [Please add support for device X](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#please-add-support-for-device-x)
|
||||||
- [Please update fingerprint X](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#please-update-fingerprint-x)
|
- [Please update fingerprint X](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#please-update-fingerprint-x)
|
||||||
|
- [Device simulation](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf/blob/master/README.md#device-simulation)
|
||||||
- [Improved root hiding - Editing build.prop and default.prop](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#improved-root-hiding---editing-buildprop-and-defaultprop)
|
- [Improved root hiding - Editing build.prop and default.prop](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#improved-root-hiding---editing-buildprop-and-defaultprop)
|
||||||
- [Set/reset MagiskHide Sensitive props](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#setreset-magiskhide-sensitive-props)
|
- [Set/reset MagiskHide Sensitive props](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#setreset-magiskhide-sensitive-props)
|
||||||
- [Change/set custom prop values](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values)
|
- [Change/set custom prop values](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values)
|
||||||
@ -40,7 +42,7 @@ Keep reading below to find out more details about the different parts of the mod
|
|||||||
- [Script colours](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#script-colours)
|
- [Script colours](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#script-colours)
|
||||||
- [Fingerprints list check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#fingerprints-list-check)
|
- [Fingerprints list check](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#fingerprints-list-check)
|
||||||
- [Configuration file](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#configuration-file)
|
- [Configuration file](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#configuration-file)
|
||||||
- [Setting up the module on a clean ROM flash](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#setting-up-the-module-on-a-clean-rom-flash)
|
- [Setting up the module on a clean Magisk/ROM flash](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#setting-up-the-module-on-a-clean-magiskrom-flash)
|
||||||
- [Miscellaneous MagiskHide issues](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#miscellaneous-magiskhide-issues)
|
- [Miscellaneous MagiskHide issues](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#miscellaneous-magiskhide-issues)
|
||||||
- [Issues, support,etc](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#issues-support-etc)
|
- [Issues, support,etc](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#issues-support-etc)
|
||||||
- [Known issues](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#known-issues)
|
- [Known issues](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#known-issues)
|
||||||
@ -51,10 +53,12 @@ Keep reading below to find out more details about the different parts of the mod
|
|||||||
- [Device issues because of the module](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#device-issues-because-of-the-module)
|
- [Device issues because of the module](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#device-issues-because-of-the-module)
|
||||||
- [Logs](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#logs)
|
- [Logs](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#logs)
|
||||||
- [Collecting logs manually](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#collecting-logs-manually)
|
- [Collecting logs manually](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#collecting-logs-manually)
|
||||||
|
- [Donations](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#donations)
|
||||||
- [Source](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#source)
|
- [Source](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#source)
|
||||||
- [Credits](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#credits)
|
- [Credits](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#credits)
|
||||||
- [Changelog](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changelog)
|
- [Changelog](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changelog)
|
||||||
- [Current fingerprints list](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#current-fingerprints-list)
|
- [Current fingerprints list](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#current-fingerprints-list)
|
||||||
|
- [Licence](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#mit-licence)
|
||||||
|
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
@ -79,12 +83,19 @@ If your device can't pass SafetyNet fully, the CTS profile check fails while bas
|
|||||||
|
|
||||||
This might be because your device simply hasn't been certified or that the ROM you are using on your device isn't recognised by Google (because it's a custom ROM).
|
This might be because your device simply hasn't been certified or that the ROM you are using on your device isn't recognised by Google (because it's a custom ROM).
|
||||||
|
|
||||||
To fix this, you can use a known working fingerprint (one that has been certified by Google), usually from a stock ROM/firmware/factory image, and replace your device's current fingerprint with this. You can also use a fingerprint from another device, but this will change how your device is perceived.
|
To fix this, you can use a known working device fingerprint (`ro.build.fingerprint`), one that has been certified by Google, usually from a stock ROM/firmware/factory image, and replace your device's current fingerprint with this. You can also use a fingerprint from another device, but this will change how your device is perceived.
|
||||||
|
|
||||||
NOTE: If you're using a fingerprint for an Android build after March 16th 2018 you might have to change the security patch date to one that matches the fingerprint used. You can use the [Custom prop](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values) function of this module to change `ro.build.version.security_patch` to the desired date. If you don't know the security patch date you can try finding it with trial and error. The dates are always either the 1st or the 5th of the month, so try different months one after the other until the CTS profile passes.
|
NOTE: If you're using a fingerprint for an Android build after March 16th 2018 you might have to change the security patch date to one that matches the fingerprint used. You can use the [Custom prop](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values) function of this module to change `ro.build.version.security_patch` to the desired date. If you don't know the security patch date you can try finding it with trial and error. The dates are always either the 1st or the 5th of the month, so try different months one after the other until the CTS profile passes.
|
||||||
|
|
||||||
There are a few pre-configured certified fingerprints available in the module, just in case you can't get a hold of one for your device. If you have a working fingerprint that could be added to the list, or an updated one for one already on there, please post that in the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228) toghether with device details. Please also include the Android security patch date for the factory image/firmware/ROM that the fingerprint comes from.
|
There are a few pre-configured certified fingerprints available in the module, just in case you can't get a hold of one for your device. If you have a working fingerprint that could be added to the list, or an updated one for one already on there, please post that in the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228) toghether with device details. Please also include the Android security patch date for the factory image/firmware/ROM that the fingerprint comes from.
|
||||||
|
|
||||||
|
After having applied a device fingerprint from the module, whenever that particular print is updated in the included prints list, the chosen fingerprint will be automatically updated when the fingerprints list is. Just reboot to apply the new fingerprint.
|
||||||
|
|
||||||
|
If you are using a Treble GSI ROM you can enable the [Use vendor fingerprint](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#use-vendor-fingerprint-for-treble-gsi-roms) option (for more details, see below) in the `Edit device fingerprint` menu.
|
||||||
|
|
||||||
|
### Use vendor fingerprint (for Treble GSI ROMs)
|
||||||
|
When using a Treble GSI ROM with a stock vendor partition, it is possible to use the vendor fingerprint to make the device pass the CTS profile check. Enabling this option will make the module scripts pull the vendor fingerprint on each boot and use this to spoof the device fingerprint. This in turn means you will only have to enable this option once and even if you update your vendor partition the fingerprint used will always be the latest one.
|
||||||
|
|
||||||
### Matching the Android security patch date
|
### Matching the Android security patch date
|
||||||
For some devices, if the fingerprint is for an Android build after March 16th 2018, it is necessary to use a security patch date that matches the fingerprint used. For the module provided fingerprints this is done automatically, but if you enter a fingerprint manually you will have to update the security patch date yourself (if they don't already match). Use the [Custom props](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values) function of this module to change `ro.build.version.security_patch` to the desired date.
|
For some devices, if the fingerprint is for an Android build after March 16th 2018, it is necessary to use a security patch date that matches the fingerprint used. For the module provided fingerprints this is done automatically, but if you enter a fingerprint manually you will have to update the security patch date yourself (if they don't already match). Use the [Custom props](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#changeset-custom-prop-values) function of this module to change `ro.build.version.security_patch` to the desired date.
|
||||||
|
|
||||||
@ -156,6 +167,8 @@ 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.
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
**_Current fingerprints list version - v42_**
|
**_Current fingerprints list version - v42_**
|
||||||
|
|
||||||
|
|
||||||
@ -173,6 +186,20 @@ If you have an updated fingerprint available (and you've posted it for me to upd
|
|||||||
You can enter the fingerprint manually in the `Edit device fingerprint` menu in the module, you can use the [configuration file](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#configuration-file), or you can make a [custom fingerprints list](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#custom-fingerprints-list).
|
You can enter the fingerprint manually in the `Edit device fingerprint` menu in the module, you can use the [configuration file](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#configuration-file), or you can make a [custom fingerprints list](https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf#custom-fingerprints-list).
|
||||||
|
|
||||||
|
|
||||||
|
## Device simulation
|
||||||
|
If you want to simulate a specific device (to get access to device specific apps in the Play store, as an example), you can activate this option. It will pull information from the currently used fingerprint (has to be set by the module) and use this to set a few certain props to these values. The props that are set are (currently):
|
||||||
|
- ro.product.brand
|
||||||
|
- ro.product.name
|
||||||
|
- ro.product.device
|
||||||
|
- ro.build.version.release
|
||||||
|
- ro.build.id
|
||||||
|
- ro.build.version.incremental
|
||||||
|
|
||||||
|
By default all props are set when this option is activated, but it is possible to activate and deactivate each prop individually.
|
||||||
|
|
||||||
|
Whenever a fingerprint is set by the module, the `ro.build.description` prop will be set automatically independently from if the general device simulation option is enabled or not.
|
||||||
|
|
||||||
|
|
||||||
## Improved root hiding - Editing build.prop and default.prop
|
## Improved root hiding - Editing build.prop and default.prop
|
||||||
In some rare cases, apps and services look at the actual files (build.prop and default.prop), rather than the set prop values. With this module feature you can make sure that the actual prop in build.prop and default.prop is changed to match whatever value the prop has been set to by either MagiskHide or the module. If there's a prop value set by the module (see ["Set/reset MagiskHide Sensitive props"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config#setreset-magiskhide-sensitive-props) below), that value takes precedence.
|
In some rare cases, apps and services look at the actual files (build.prop and default.prop), rather than the set prop values. With this module feature you can make sure that the actual prop in build.prop and default.prop is changed to match whatever value the prop has been set to by either MagiskHide or the module. If there's a prop value set by the module (see ["Set/reset MagiskHide Sensitive props"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config#setreset-magiskhide-sensitive-props) below), that value takes precedence.
|
||||||
|
|
||||||
@ -189,12 +216,13 @@ If, for some reason, you need one or more of these to be kept as their original
|
|||||||
|
|
||||||
|
|
||||||
## Change/set custom prop values
|
## Change/set custom prop values
|
||||||
It's quite easy to change prop values with Magisk. With this module it's even easier. Just enter the prop you want to change and the new value and the module does the rest, nice and systemless. Any changes that you've previously done directly to build.prop, default.prop, etc, you can now do with this module instead.
|
It's quite easy to change prop values with Magisk. With this module it's even easier. Just enter the prop you want to change and the new value and the module does the rest, nice and systemless. Any changes that you've previously done directly to build.prop, default.prop, etc, you can now do with this module instead. If you have a lot of props that you want to change it'll be a lot easier to use the [configuration file](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#configuration-file) (see below).
|
||||||
|
|
||||||
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 three 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).
|
- 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.
|
- 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.
|
- 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.
|
||||||
|
|
||||||
@ -234,12 +262,16 @@ This option will disable or enable the automatic updating of the fingerprints li
|
|||||||
|
|
||||||
|
|
||||||
## Configuration file
|
## Configuration file
|
||||||
You can use a configuration file to set your desired options, rather than running the `props` command. Download the [settings file](https://raw.githubusercontent.com/Magisk-Modules-Repo/MagiskHide-Props-Config/master/common/propsconf_conf) or extract it from the module zip (in the common folder), fill in the desired options (follow the instructions in the file), place it in /cache (or /data/cache if you're using an A/B device) and reboot. If you edit the configuration file in Windows, make sure that you use a text editor that can handle [Unix file endings](https://en.m.wikipedia.org/wiki/Newline), such as Notepad++ and similar editors (not regular Notepad).
|
You can use a configuration file to set your desired options, rather than running the `props` command. This is particularly useful if you have a large amount of custom props you want to set. Download the [settings file](https://raw.githubusercontent.com/Magisk-Modules-Repo/MagiskHide-Props-Config/master/common/propsconf_conf) or extract it from the module zip ('propsconf_conf' in the common folder), fill in the desired options (follow the instructions in the file), place it /data or /cache (or /data/cache if you're using an A/B device) and reboot. You can also use the configuration file when first installing the module. Just place the file in the root of your internal storage (or one of the other previously mentioned locations) before flashing the module and the installation script will set everything up.
|
||||||
|
|
||||||
This can also be done directly at the first install (through Manager or recovery) and even on a brand new clean install of Magisk, before even rebooting your device. Upon detecting the file, the module boot script will load the configured values and then delete the the configuration file. Instant settings.
|
If you edit the configuration file in Windows, make sure that you use a text editor that can handle [Unix file endings](https://en.m.wikipedia.org/wiki/Newline), such as Notepad++ and similar editors (not regular Windows Notepad).
|
||||||
|
|
||||||
### Setting up the module on a clean ROM flash
|
This can also be done directly at the first install (through Manager or recovery) and even on a brand new clean install of Magisk, before even rebooting your device (also see "Setting up the module on a clean Magisk/ROM flash" below).
|
||||||
After having made a clean ROM flash, the configuration file can be used to set the module up as you want without even having to boot first. Just flash the ROM, Magisk and then the module. If you then place a configuration file with your desired settings (fingerprint, custom props, etc) in /cache (or /data/cache if you're using an A/B device), this will be loaded during the first boot. It is possible that this won't work an all device/ROM combinations. If you experience issues, let the ROM boot once before setting everything up.
|
|
||||||
|
**NOTE!** Upon detecting the file, the module installation/boot script will load the configured values into the module and then delete the the configuration file, so keep a copy somewhere if you want to use the same settings later.
|
||||||
|
|
||||||
|
### Setting up the module on a clean Magisk/ROM flash
|
||||||
|
After having made a clean ROM flash, the configuration file can be used to set the module up as you want without even having to boot first. First flash the ROM and Magisk. After that you can place the configuration file (see above) with your desired settings (fingerprint, custom props, etc) in the root of your internal storage, /data or /cache (or /data/cache if you're using an A/B device) and then install the module. This will set the module up just as you want it without having to do anything else. It is also possible to place the configuration file after having installed the module and rebooting (although you can only use /data or /cache as a location for the file). This will set everything up during boot, but it is possible that this won't work an all device/ROM combinations. If you experience issues, let the ROM boot once before setting everything up.
|
||||||
|
|
||||||
|
|
||||||
## Miscellaneous MagiskHide issues
|
## Miscellaneous MagiskHide issues
|
||||||
@ -252,13 +284,15 @@ But first: have you tried turning it off and on again? Toggling MagiskHide off a
|
|||||||
If you have questions, suggestions or are experiencing some kind of issue, visit the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228) @ XDA.
|
If you have questions, suggestions or are experiencing some kind of issue, visit the [module support thread](https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228) @ XDA.
|
||||||
|
|
||||||
### Known issues
|
### Known issues
|
||||||
|
- MagiskHide Props Config v2.7.2 and earlier versions won't work on Magisk v18.1-d73127b1(18006) or later, due to internal changes in Magisk.
|
||||||
- Xiaomi devices (MIUI) sometimes have issues passing the ctsProfile check, particularly China releases. Try using [ShellHide](https://forum.xda-developers.com/apps/magisk/magisk-shellhide-t3855616) by @JayminSuthar together with this module. They might work in conjunction to get the device to pass SafetyNet.
|
- Xiaomi devices (MIUI) sometimes have issues passing the ctsProfile check, particularly China releases. Try using [ShellHide](https://forum.xda-developers.com/apps/magisk/magisk-shellhide-t3855616) by @JayminSuthar together with this module. They might work in conjunction to get the device to pass SafetyNet.
|
||||||
- If you're on Android Pie you will have to use Magisk v17.2+. Any version prior to that will not be able to change the required prop values. This is because of a change in Android Pie, and with Magisk v17.2 the resetprop tool was been updated for this change.
|
- If you're on Android Pie you will have to use Magisk v17.2+. Any version prior to that will not be able to change the required prop values. This is because of a change in Android Pie, and with Magisk v17.2 the resetprop tool was been updated for this change.
|
||||||
|
|
||||||
### An option is marked as "disabled"
|
### An option is marked as "disabled"
|
||||||
A couple of the options in the `props` script will be automatically disabled in some circumstances. These are:
|
A couple of the options in the `props` script will be automatically disabled in some circumstances. These are:
|
||||||
- _"Edit device fingerprint"_ will be disabled if another Magisk module that is known to also edit the device fingerprint is installed. Check the logs to get information about which module this is.
|
- _"Edit device fingerprint"_ will be disabled if another Magisk module that is known to also edit the device fingerprint is installed.
|
||||||
- _"Improved hiding"_ will be disable if all relevant prop values already are "safe", or if conflicting modules that also Magic Mounts build.prop are found.
|
- _"Device simulation"_ will be disabled if there is no device fingerprint set by the module.
|
||||||
|
- _"Improved hiding"_ will be disable if all relevant prop values already are "safe" (in other words: the option isn't needed), or if a conflicting module that also Magic Mounts build.prop is found.
|
||||||
|
|
||||||
### I can't pass the ctsProfile check
|
### I can't pass the ctsProfile check
|
||||||
See ["I still can't pass the ctsProfile check"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#i-still-cant-pass-the-ctsprofile-check) above.
|
See ["I still can't pass the ctsProfile check"](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#i-still-cant-pass-the-ctsprofile-check) above.
|
||||||
@ -293,6 +327,10 @@ The logs will also automatically be saved to the root of the device's internal s
|
|||||||
If you can't run the `props` script for some reason, the logs are also stored in /cache (or /data/cache for A/B devices). The Magisk log and any files starting with "propsconf" would be useful for troubleshooting (if you don't, or can't, use the "Collect logs" option mentioned above). Providing the output from terminal might also be useful.
|
If you can't run the `props` script for some reason, the logs are also stored in /cache (or /data/cache for A/B devices). The Magisk log and any files starting with "propsconf" would be useful for troubleshooting (if you don't, or can't, use the "Collect logs" option mentioned above). Providing the output from terminal might also be useful.
|
||||||
|
|
||||||
|
|
||||||
|
## Donations
|
||||||
|
If you've had any help from me or this module, any kind of [URL="https://forum.xda-developers.com/donatetome.php?u=4667597"]donation[/URL] to support the work involved would of course be appreciated.
|
||||||
|
|
||||||
|
|
||||||
## Source
|
## Source
|
||||||
[GitHub](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config)
|
[GitHub](https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config)
|
||||||
|
|
||||||
@ -310,6 +348,21 @@ Releases from v2.4.1 are compatible with Magisk v17+.
|
|||||||
|
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
### v3.0.0
|
||||||
|
- New function for device simulation. The module sets a number of device specifying props based on the used fingerprint. See the documentation for details.
|
||||||
|
- New function for Treble GSI users that have a stock vendor partition: The module can use the certified vendor fingerprint found there. See the documentation for details. Thank you to @oF2pks for making me aware of this possibility.
|
||||||
|
- New function where the currently used fingerprint automatically will be updated if there's a new fingerprint for that device added to the fingerprints list. See the documentation for details.
|
||||||
|
- New function to set custom props in both post-fs-data and late_start service mode. See the documentation for details. See the documentation for details.
|
||||||
|
- Updated the configuration file function so that the file will now be detected during installation or at boot. See the documentation for details.
|
||||||
|
- Updated the locations for placing the configuration file when importing settings to the module. See the documentation for details.
|
||||||
|
- Updated the configuration file to be version specific. Make sure you use the latest available configuration file.
|
||||||
|
- Fixed compatibility with changed boot stages in Magisk v18.1-d73127b1(18006).
|
||||||
|
- Fixed double download of fingerprints file if using the -f option and cleaned up the runtime options a bit.
|
||||||
|
- Fixed module reset option.
|
||||||
|
- Optimised variable and settings retrieval.
|
||||||
|
- Optimised module boot scripts.
|
||||||
|
- A whole bunch of minor fixes and cleanups.
|
||||||
|
|
||||||
### v2.7.2
|
### v2.7.2
|
||||||
- Re-run the post-fs-data script if the Magisk image wasn't mounted yet or if the script has been reset.
|
- Re-run the post-fs-data script if the Magisk image wasn't mounted yet or if the script has been reset.
|
||||||
- Added fingeprints for Razer Phone 1 & 2 and Xiaomi Mi Pad 4, and updated fingerprints for Xiaomi Mi 8, Mi A2 & Pocophone F1. List v40.
|
- Added fingeprints for Razer Phone 1 & 2 and Xiaomi Mi Pad 4, and updated fingerprints for Xiaomi Mi 8, Mi A2 & Pocophone F1. List v40.
|
||||||
@ -664,7 +717,7 @@ Releases from v2.4.1 are compatible with Magisk v17+.
|
|||||||
|
|
||||||
## MIT Licence
|
## MIT Licence
|
||||||
|
|
||||||
*Copyright (c) 2018 Didgeridoohan*
|
*Copyright (c) 2018-2019 Didgeridoohan*
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -7,35 +7,35 @@ MODPATH=${0%/*}
|
|||||||
# More info in the main Magisk thread
|
# More info in the main Magisk thread
|
||||||
|
|
||||||
# MagiskHide Props Config
|
# MagiskHide Props Config
|
||||||
# By Didgeridoohan @ XDA Developers
|
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
|
||||||
|
# Licence: MIT
|
||||||
# Variables
|
|
||||||
IMGPATH=$(dirname "$MODPATH")
|
|
||||||
COREPATH=$(dirname "$IMGPATH")
|
|
||||||
POSTLOGFILE=$CACHELOC/propsconf_postfile.log
|
|
||||||
POSTDEL=0
|
|
||||||
|
|
||||||
# Load functions
|
# Load functions
|
||||||
. $MODPATH/util_functions.sh
|
. $MODPATH/util_functions.sh
|
||||||
|
|
||||||
if [ ! -f "$POSTCHKFILE" ]; then
|
# Variables
|
||||||
touch $POSTCHKFILE
|
IMGPATH=$(dirname "$MODPATH")
|
||||||
|
COREPATH=$(dirname "$IMGPATH")
|
||||||
|
|
||||||
|
# Start logging
|
||||||
|
log_start
|
||||||
|
|
||||||
|
# Clears out the script check file
|
||||||
|
rm -f $RUNFILE
|
||||||
|
touch $RUNFILE
|
||||||
|
|
||||||
|
# Clears out the script control file
|
||||||
|
touch $POSTCHKFILE
|
||||||
|
|
||||||
|
# Checks the reboot and print update variables in propsconf_late
|
||||||
|
if [ "$REBOOTCHK" == 1 ]; then
|
||||||
|
replace_fn REBOOTCHK 1 0 $LATEFILE
|
||||||
|
fi
|
||||||
|
if [ "$PRINTCHK" == 1 ]; then
|
||||||
|
replace_fn PRINTCHK 1 0 $LATEFILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for boot scripts and restore backup if deleted, or if the resetfile is present
|
# Check for the boot script and restore backup if deleted, or if the resetfile is present
|
||||||
if [ ! -f "$POSTFILE" ]; then
|
|
||||||
# Start logging
|
|
||||||
log_start
|
|
||||||
log_handler "post-fs-data boot script not found."
|
|
||||||
log_handler "Restoring post-fs-data boot script (${POSTFILE})."
|
|
||||||
cp -af $MODPATH/propsconf_post $POSTFILE >> $LOGFILE 2>&1
|
|
||||||
chmod -v 755 $POSTFILE >> $LOGFILE 2>&1
|
|
||||||
placeholder_update $POSTFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
|
|
||||||
placeholder_update $POSTFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
|
|
||||||
# Deleting settings script to force a restore
|
|
||||||
rm -f $LATEFILE
|
|
||||||
POSTDEL=1
|
|
||||||
fi
|
|
||||||
if [ ! -f "$LATEFILE" ] || [ -f "$RESETFILE" ]; then
|
if [ ! -f "$LATEFILE" ] || [ -f "$RESETFILE" ]; then
|
||||||
if [ -f "$RESETFILE" ]; then
|
if [ -f "$RESETFILE" ]; then
|
||||||
RSTTXT="Resetting"
|
RSTTXT="Resetting"
|
||||||
@ -47,20 +47,118 @@ if [ ! -f "$LATEFILE" ] || [ -f "$RESETFILE" ]; then
|
|||||||
log_handler "$RSTTXT late_start service boot script (${LATEFILE})."
|
log_handler "$RSTTXT late_start service boot script (${LATEFILE})."
|
||||||
cp -af $MODPATH/propsconf_late $LATEFILE >> $LOGFILE 2>&1
|
cp -af $MODPATH/propsconf_late $LATEFILE >> $LOGFILE 2>&1
|
||||||
chmod -v 755 $LATEFILE >> $LOGFILE 2>&1
|
chmod -v 755 $LATEFILE >> $LOGFILE 2>&1
|
||||||
placeholder_update $LATEFILE POSTFILE POST_PLACEHOLDER "$POSTFILE"
|
|
||||||
placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
|
placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
|
||||||
placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
|
placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Checking if the post-fs-data boot script ran during boot
|
# Checks for the Universal SafetyNet Fix module and similar modules editing the device fingerprint
|
||||||
if [ -f "$POSTLOGFILE" ] || [ "$POSTDEL" == 1 ]; then
|
PRINTMODULE=false
|
||||||
if [ "$(cat $POSTLOGFILE | grep "Module no longer installed.")" ] || [ "$POSTDEL" == 1 ]; then
|
for USNF in $USNFLIST; do
|
||||||
log_handler "post-fs-data boot script did not run. Attempting a re-run."
|
if [ -d "$IMGPATH/$USNF" ]; then
|
||||||
. $POSTFILE
|
NAME=$(get_file_value $IMGPATH/$USNF/module.prop "name=")
|
||||||
|
log_handler "'$NAME' installed (modifies the device fingerprint)."
|
||||||
|
PRINTMODULE=true
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
if [ "$PRINTMODULE" == "true" ]; then
|
||||||
|
replace_fn FINGERPRINTENB 1 0 $LATEFILE
|
||||||
|
replace_fn PRINTMODULE 0 1 $LATEFILE
|
||||||
|
log_handler "Fingerprint modification disabled."
|
||||||
|
else
|
||||||
|
replace_fn FINGERPRINTENB 0 1 $LATEFILE
|
||||||
|
replace_fn PRINTMODULE 1 0 $LATEFILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log_handler "post-fs-data.sh module script finished.\n\n===================="
|
# 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")"
|
||||||
|
CURRPROP="CURR${TMPPROP}"
|
||||||
|
CURRTMP="$(eval "echo \$$CURRPROP")"
|
||||||
|
replace_fn $ORIGPROP "\"$ORIGTMP\"" "\"$CURRTMP\"" $LATEFILE
|
||||||
|
done
|
||||||
|
log_handler "Default values saved to $LATEFILE."
|
||||||
|
|
||||||
|
# Check if default file values are safe
|
||||||
|
orig_safe
|
||||||
|
# Loading the new values
|
||||||
|
. $LATEFILE
|
||||||
|
|
||||||
|
# Checks for configuration file
|
||||||
|
config_file
|
||||||
|
|
||||||
|
# Edits prop values if set for post-fs-data
|
||||||
|
echo -e "\n--------------------" >> $LOGFILE 2>&1
|
||||||
|
log_handler "Editing prop values in post-fs-data mode."
|
||||||
|
if [ "$OPTIONLATE" == 0 ]; then
|
||||||
|
# ---Setting/Changing fingerprint---
|
||||||
|
print_edit
|
||||||
|
# ---Setting device simulation props---
|
||||||
|
dev_sim_edit
|
||||||
|
# ---Setting custom props---
|
||||||
|
custom_edit "CUSTOMPROPS"
|
||||||
|
fi
|
||||||
|
# Deleting props
|
||||||
|
prop_del
|
||||||
|
# Edit custom props set for post-fs-data
|
||||||
|
custom_edit "CUSTOMPROPSPOST"
|
||||||
|
echo -e "\n--------------------" >> $LOGFILE 2>&1
|
||||||
|
|
||||||
|
# Edits build.prop
|
||||||
|
if [ "$FILESAFE" == 0 ]; then
|
||||||
|
log_handler "Checking for conflicting build.prop modules."
|
||||||
|
# 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
|
||||||
|
if [ $D != "$MODID" ]; then
|
||||||
|
if [ -f "$IMGPATH/$D/system/build.prop" ] || [ "$D" == "safetypatcher" ]; then
|
||||||
|
NAME=$(get_file_value $IMGPATH/$D/module.prop "name=")
|
||||||
|
log_handler "Conflicting build.prop editing in module '$NAME'."
|
||||||
|
BUILDMODULE=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ "$BUILDMODULE" == "true" ]; then
|
||||||
|
replace_fn BUILDPROPENB 1 0 $LATEFILE
|
||||||
|
else
|
||||||
|
replace_fn BUILDPROPENB 0 1 $LATEFILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copies the stock build.prop to the module. Only if set in propsconf_late.
|
||||||
|
if [ "$BUILDPROPENB" == 1 ] && [ "$BUILDEDIT" == 1 ]; then
|
||||||
|
log_handler "Stock build.prop copied to module."
|
||||||
|
cp -af $MIRRORLOC/build.prop $MODPATH/system/build.prop >> $LOGFILE 2>&1
|
||||||
|
|
||||||
|
# Edits the module copy of build.prop
|
||||||
|
log_handler "Editing build.prop."
|
||||||
|
# ro.build props
|
||||||
|
change_prop_file "build"
|
||||||
|
# Fingerprint
|
||||||
|
if [ "$MODULEFINGERPRINT" ] && [ "$SETFINGERPRINT" == "true" ] && [ "$FINGERPRINTENB" == 1 ]; then
|
||||||
|
PRINTSTMP="$(grep "$ORIGFINGERPRINT" $MIRRORLOC/build.prop)"
|
||||||
|
for ITEM in $PRINTSTMP; do
|
||||||
|
replace_fn $(get_eq_left "$ITEM") $(get_eq_right "$ITEM") $(echo $MODULEFINGERPRINT | sed 's|\_\_.*||') $MODPATH/system/build.prop && log_handler "$(get_eq_left "$ITEM")=$(echo $MODULEFINGERPRINT | sed 's|\_\_.*||')"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
rm -f $MODPATH/system/build.prop
|
||||||
|
log_handler "Build.prop editing disabled."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
rm -f $MODPATH/system/build.prop
|
||||||
|
log_handler "Prop file editing disabled. All values ok."
|
||||||
|
fi
|
||||||
|
|
||||||
|
log_script_chk "post-fs-data.sh module script finished.\n\n===================="
|
||||||
|
|
||||||
# Deletes the post-fs-data control file
|
# Deletes the post-fs-data control file
|
||||||
rm -f $POSTCHKFILE
|
rm -f $POSTCHKFILE
|
@ -1,10 +1,11 @@
|
|||||||
#!/system/bin/sh
|
#!/system/bin/sh
|
||||||
|
|
||||||
# MagiskHide Props Config
|
# MagiskHide Props Config
|
||||||
# By Didgeridoohan @ XDA Developers
|
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
|
||||||
|
# Licence: MIT
|
||||||
|
|
||||||
PRINTSV=42
|
PRINTSV=42
|
||||||
PRINTSTRANSF=250
|
PRINTSTRANSF=260
|
||||||
|
|
||||||
# Certified fingerprints
|
# Certified fingerprints
|
||||||
PRINTSLIST="
|
PRINTSLIST="
|
||||||
|
@ -1,41 +1,96 @@
|
|||||||
#!/system/bin/sh
|
#!/system/bin/sh
|
||||||
|
|
||||||
# MagiskHide Props Config
|
# MagiskHide Props Config
|
||||||
# By Didgeridoohan @ XDA Developers
|
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
|
||||||
|
# Licence: MIT
|
||||||
|
|
||||||
|
# Required module version
|
||||||
|
CONFTRANSF=300
|
||||||
|
|
||||||
|
# Device fingerprint
|
||||||
CONFFINGERPRINT=""
|
CONFFINGERPRINT=""
|
||||||
|
CONFVENDPRINT=false
|
||||||
|
|
||||||
|
# Device simulation
|
||||||
|
CONFDEVSIM=false
|
||||||
|
CONFBRAND=true
|
||||||
|
CONFNAME=true
|
||||||
|
CONFDEVICE=true
|
||||||
|
CONFRELEASE=true
|
||||||
|
CONFID=true
|
||||||
|
CONFINCREMENTAL=true
|
||||||
|
CONFDESCRIPTION=true
|
||||||
|
|
||||||
|
# Edit prop files
|
||||||
CONFPROPFILES=false
|
CONFPROPFILES=false
|
||||||
|
|
||||||
|
# MagiskHide sensitive props
|
||||||
CONFDEBUGGABLE=""
|
CONFDEBUGGABLE=""
|
||||||
CONFSECURE=""
|
CONFSECURE=""
|
||||||
CONFTYPE=""
|
CONFTYPE=""
|
||||||
CONFTAGS=""
|
CONFTAGS=""
|
||||||
CONFSELINUX=""
|
CONFSELINUX=""
|
||||||
|
|
||||||
|
# Set custom props
|
||||||
CONFPROPS=""
|
CONFPROPS=""
|
||||||
CONFPROPSPOST=""
|
CONFPROPSPOST=""
|
||||||
CONFPROPSLATE=""
|
CONFPROPSLATE=""
|
||||||
PROPOPTION=replace
|
PROPOPTION=replace
|
||||||
|
|
||||||
|
# Delete props
|
||||||
CONFDELPROPS=""
|
CONFDELPROPS=""
|
||||||
DELPROPOPTION=replace
|
DELPROPOPTION=replace
|
||||||
|
|
||||||
|
# Module settings
|
||||||
CONFLATE=false
|
CONFLATE=false
|
||||||
CONFCOLOUR=enabled
|
CONFCOLOUR=true
|
||||||
CONFWEB=enabled
|
CONFWEB=true
|
||||||
|
|
||||||
# =================================================================
|
# =================================================================
|
||||||
# ========================== Instructions =========================
|
# ========================== Instructions =========================
|
||||||
# =================================================================
|
# =================================================================
|
||||||
# Set the above variables to the desired prop/configuration values.
|
# Set the above variables to the desired prop/configuration values.
|
||||||
|
|
||||||
|
# If any variables are left unset, that particular prop/configuration
|
||||||
|
# will be cleared and the device/Magisk default values will be used.
|
||||||
|
# If you want to keep any current module settings (for those that
|
||||||
|
# aren't true/false options), add "preserve" to the variable.
|
||||||
|
# Example:
|
||||||
|
# CONFFINGERPRINT=preserve
|
||||||
|
|
||||||
|
# When placed in /cache or the root of your internal storage, 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).
|
||||||
|
|
||||||
|
# For more information, see the documentation:
|
||||||
|
# https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md
|
||||||
|
# and the support thread @ XDA Developers:
|
||||||
|
# https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# =========================== Variables ===========================
|
||||||
|
# =================================================================
|
||||||
# CONFFINGERPRINT should be set to the fingerprint of a ROM that passes
|
# CONFFINGERPRINT should be set to the fingerprint of a ROM that passes
|
||||||
# the ctsProfile check. See the prints.sh file for usable prints,
|
# the ctsProfile check. See the prints.sh file for usable prints,
|
||||||
# or the documentation for information on how to find one.
|
# or the documentation for information on how to find one.
|
||||||
# Note that Android builds after March 16 2018 often also need to match the Android
|
# Note that Android builds after March 16 2018 often also need to match the Android
|
||||||
# security patch date. Use the CONFPROPS setting to set ro.build.version.security_patch
|
# security patch date. Add the date to the end of the fingerprint, preceeded by
|
||||||
# to the matching date (example: 2018-10-05).
|
# two underscores (example: __2018-10-05), or use the CONFPROPS setting
|
||||||
|
# to set ro.build.version.security_patch to the matching date (example: 2018-10-05).
|
||||||
|
#
|
||||||
|
# Changing CONFVENDPRINT to 'true' will enable using the stock vendor
|
||||||
|
# fingerprint for Treble GSI ROMs (so only us this if you're on a Treble GSI ROM).
|
||||||
|
# NOTE! Keep in mind that there is no need to enter a fingerprint in
|
||||||
|
# CONFFINGERPRINT when enabling this option, or setting a security patch date.
|
||||||
|
|
||||||
|
# CONFDEVSIM and the following CONFBRAND, CONFNAME, CONFDEVICE, CONFRELEASE
|
||||||
|
# CONFID, CONFINCREMENTAL and CONFDESCRIPTION are used to set a number
|
||||||
|
# of props to simulate a certain deviced based on the fingerprint used.
|
||||||
|
# CONFDESCRIPTION will automatically be applied if a fingerprint is set
|
||||||
|
# by the module, but the other props will only be set if CONFDEVSIM is
|
||||||
|
# set to true, and the default setting for all props are that they will be
|
||||||
|
# set by the module. If you want to change this, change "true" to "false"
|
||||||
|
# for the applicable variables.
|
||||||
|
|
||||||
# CONFPROPFILES should be set to "true" if you want to mask the file
|
# CONFPROPFILES should be set to "true" if you want to mask the file
|
||||||
# values in build.prop and default.prop. For better root hiding.
|
# values in build.prop and default.prop. For better root hiding.
|
||||||
@ -65,7 +120,7 @@ CONFWEB=enabled
|
|||||||
# With PROPOPTION you can decide if the current custom prop list should
|
# With PROPOPTION you can decide if the current custom prop list should
|
||||||
# be replaced, added to or preserved. Add the corresponding words "replace",
|
# be replaced, added to or preserved. Add the corresponding words "replace",
|
||||||
# "add", or "preserve". The default option is to replace the list.
|
# "add", or "preserve". The default option is to replace the list.
|
||||||
# This option supersedes the preserve option described below, but only
|
# This option supersedes the preserve option described above, but only
|
||||||
# for the CONFPROPS variables.
|
# for the CONFPROPS variables.
|
||||||
|
|
||||||
# CONFDELPROPS is a list of props you want to remove from your system.
|
# CONFDELPROPS is a list of props you want to remove from your system.
|
||||||
@ -82,7 +137,7 @@ CONFWEB=enabled
|
|||||||
# With DELPROPOPTION you can decide if the current custom prop list should
|
# With DELPROPOPTION you can decide if the current custom prop list should
|
||||||
# be replaced, added to or preserved. Add the corresponding words "replace",
|
# be replaced, added to or preserved. Add the corresponding words "replace",
|
||||||
# "add", or "preserve". The default option is to replace the list.
|
# "add", or "preserve". The default option is to replace the list.
|
||||||
# This option supersedes the preserve option described below, but only
|
# This option supersedes the preserve option described above, but only
|
||||||
# for the CONFDELPROPS variable.
|
# for the CONFDELPROPS variable.
|
||||||
|
|
||||||
# CONFLATE is by default set to "false". This loads the boot script during the
|
# CONFLATE is by default set to "false". This loads the boot script during the
|
||||||
@ -91,19 +146,4 @@ CONFWEB=enabled
|
|||||||
# useful if the module's boot script seems to be causing issues during boot.
|
# useful if the module's boot script seems to be causing issues during boot.
|
||||||
#
|
#
|
||||||
# CONFCOLOUR and CONFWEB are the options for colour and automatic fingerprints
|
# CONFCOLOUR and CONFWEB are the options for colour and automatic fingerprints
|
||||||
# list update. See the module documentation for more details. Set to "enabled" or "disabled".
|
# list update. See the module documentation for more details. Set to "true" or "false".
|
||||||
|
|
||||||
# If any variables are left unset, that particular prop/configuration
|
|
||||||
# will be cleared and the device/MagiskHide default values will be used.
|
|
||||||
# If you want to keep any current module settings, add "preserve" to the variable.
|
|
||||||
# Example:
|
|
||||||
# CONFFINGERPRINT=preserve
|
|
||||||
|
|
||||||
# When placed in /cache or the root of your internal storage, 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).
|
|
||||||
|
|
||||||
# For more information, see the documentation:
|
|
||||||
# https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md
|
|
||||||
# and the support thread @ XDA Developers:
|
|
||||||
# https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228
|
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
#!/system/bin/sh
|
#!/system/bin/sh
|
||||||
|
|
||||||
# MagiskHide Props Config
|
# MagiskHide Props Config
|
||||||
# By Didgeridoohan @ XDA Developers
|
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
|
||||||
|
# Licence: MIT
|
||||||
|
|
||||||
# This is a script file for the Magisk module "MagiskHide Props Config" By Didgeridoohan @ XDA Developers.
|
# This is the settings file for the Magisk module "MagiskHide Props Config" By Didgeridoohan @ XDA Developers.
|
||||||
# DO NOT DELETE!
|
# DO NOT DELETE!
|
||||||
# Unless: If you don't have the module installed something has gone horribly wrong and this file is an orphan.
|
# Unless: If you don't have the module installed something has gone horribly wrong and this file is an orphan.
|
||||||
# In that case, feel free to delete it.
|
# In that case, feel free to delete it.
|
||||||
|
|
||||||
# Script version
|
# Script version
|
||||||
SCRIPTV=21
|
SCRIPTV=22
|
||||||
SETTRANSF=2
|
SETTRANSF=2
|
||||||
NOTTRANSF="OPTIONLATE"
|
NOTTRANSF="OPTIONLATE"
|
||||||
|
|
||||||
@ -18,11 +19,13 @@ COREPATH=CORE_PLACEHOLDER
|
|||||||
IMGPATH=$COREPATH/img
|
IMGPATH=$COREPATH/img
|
||||||
MODPATH=$IMGPATH/MagiskHidePropsConf
|
MODPATH=$IMGPATH/MagiskHidePropsConf
|
||||||
CACHELOC=CACHE_PLACEHOLDER
|
CACHELOC=CACHE_PLACEHOLDER
|
||||||
POSTFILE=POST_PLACEHOLDER
|
|
||||||
LATELOGFILE=$CACHELOC/propsconf_latefile.log
|
LATELOGFILE=$CACHELOC/propsconf_latefile.log
|
||||||
|
|
||||||
FINGERPRINTENB=1
|
FINGERPRINTENB=1
|
||||||
|
PRINTMODULE=0
|
||||||
PRINTEDIT=0
|
PRINTEDIT=0
|
||||||
|
PRINTVEND=0
|
||||||
|
DEVSIM=0
|
||||||
BUILDPROPENB=1
|
BUILDPROPENB=1
|
||||||
FILESAFE=1
|
FILESAFE=1
|
||||||
BUILDEDIT=0
|
BUILDEDIT=0
|
||||||
@ -32,18 +35,89 @@ PROPEDIT=0
|
|||||||
CUSTOMEDIT=0
|
CUSTOMEDIT=0
|
||||||
DELEDIT=0
|
DELEDIT=0
|
||||||
REBOOTCHK=0
|
REBOOTCHK=0
|
||||||
|
PRINTCHK=0
|
||||||
OPTIONLATE=0
|
OPTIONLATE=0
|
||||||
OPTIONCOLOUR=1
|
OPTIONCOLOUR=1
|
||||||
OPTIONWEB=1
|
OPTIONWEB=1
|
||||||
|
OPTIONUPDATE=1
|
||||||
|
|
||||||
|
BRANDSET=1
|
||||||
|
NAMESET=1
|
||||||
|
DEVICESET=1
|
||||||
|
RELEASESET=1
|
||||||
|
IDSET=1
|
||||||
|
INCREMENTALSET=1
|
||||||
|
DESCRIPTIONSET=1
|
||||||
|
|
||||||
CACHEFILES="
|
CACHEFILES="
|
||||||
propsconf_conf
|
propsconf_conf
|
||||||
reset_mhpc
|
reset_mhpc
|
||||||
"
|
"
|
||||||
|
|
||||||
|
# ---Original values---
|
||||||
|
# default.prop
|
||||||
|
ORIGDEBUGGABLE=""
|
||||||
|
ORIGSECURE=""
|
||||||
|
# build.prop
|
||||||
|
ORIGTYPE=""
|
||||||
|
ORIGTAGS=""
|
||||||
|
ORIGSELINUX=""
|
||||||
|
ORIGFINGERPRINT=""
|
||||||
|
ORIGVENDPRINT=""
|
||||||
|
ORIGPATCH=""
|
||||||
|
ORIGBRAND=""
|
||||||
|
ORIGNAME=""
|
||||||
|
ORIGDEVICE=""
|
||||||
|
ORIGRELEASE=""
|
||||||
|
ORIGID=""
|
||||||
|
ORIGINCREMENTAL=""
|
||||||
|
ORIGDESCRIPTION=""
|
||||||
|
|
||||||
|
# ---Module values---
|
||||||
|
MODULEDEBUGGABLE=""
|
||||||
|
MODULESECURE=""
|
||||||
|
MODULETYPE=""
|
||||||
|
MODULETAGS=""
|
||||||
|
MODULESELINUX=""
|
||||||
|
MODULEFINGERPRINT=""
|
||||||
|
|
||||||
|
# ---Device simulation values---
|
||||||
|
SIMBRAND=""
|
||||||
|
SIMNAME=""
|
||||||
|
SIMDEVICE=""
|
||||||
|
SIMRELEASE=""
|
||||||
|
SIMID=""
|
||||||
|
SIMINCREMENTAL=""
|
||||||
|
SIMDESCRIPTION=""
|
||||||
|
|
||||||
|
# ---Custom prop values---
|
||||||
|
CUSTOMPROPS=""
|
||||||
|
CUSTOMPROPSPOST=""
|
||||||
|
CUSTOMPROPSLATE=""
|
||||||
|
|
||||||
|
# ---Delete prop values---
|
||||||
|
DELETEPROPS=""
|
||||||
|
|
||||||
|
# ---MagiskHide sensitive props---
|
||||||
|
REDEBUGGABLE=false
|
||||||
|
RESECURE=false
|
||||||
|
RETYPE=false
|
||||||
|
RETAGS=false
|
||||||
|
RESELINUX=false
|
||||||
|
|
||||||
|
# ---Editing default.prop---
|
||||||
|
SETDEBUGGABLE=false
|
||||||
|
SETSECURE=false
|
||||||
|
|
||||||
|
# ---Editing build.prop---
|
||||||
|
SETTYPE=false
|
||||||
|
SETTAGS=false
|
||||||
|
SETSELINUX=false
|
||||||
|
SETFINGERPRINT=false
|
||||||
|
|
||||||
rm -f $LATELOGFILE
|
rm -f $LATELOGFILE
|
||||||
|
|
||||||
# Function to clean up different files after the module has been uninstalled
|
# Function to clean up some files after the module has been uninstalled
|
||||||
cleanup() {
|
cleanup() {
|
||||||
echo "Cleaning up files in $CACHELOC." >> $LATELOGFILE 2>&1
|
echo "Cleaning up files in $CACHELOC." >> $LATELOGFILE 2>&1
|
||||||
for ITEM in $CACHEFILES; do
|
for ITEM in $CACHEFILES; do
|
||||||
@ -53,8 +127,7 @@ cleanup() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# Suicide.
|
# Suicide.
|
||||||
echo "Removing scripts." >> $LATELOGFILE 2>&1
|
echo "Removing script." >> $LATELOGFILE 2>&1
|
||||||
rm -f $POSTFILE >> $LATELOGFILE 2>&1
|
|
||||||
rm -f $0 >> $LATELOGFILE 2>&1
|
rm -f $0 >> $LATELOGFILE 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,120 +138,6 @@ if [ -d "$MODPATH" ]; then
|
|||||||
echo "Module set for removal." >> $LATELOGFILE 2>&1
|
echo "Module set for removal." >> $LATELOGFILE 2>&1
|
||||||
# Cleanup
|
# Cleanup
|
||||||
cleanup
|
cleanup
|
||||||
else
|
|
||||||
# Load functions
|
|
||||||
. $MODPATH/util_functions.sh
|
|
||||||
|
|
||||||
if [ "$OPTIONLATE" == 0 ]; then
|
|
||||||
until [ ! -f "$POSTCHKFILE" ]; do
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
log_script_chk "Running late_start service boot script."
|
|
||||||
|
|
||||||
if [ -f "$MODPATH/disable" ]; then
|
|
||||||
log_handler "Module disabled."
|
|
||||||
else
|
|
||||||
|
|
||||||
# Check the reboot variable
|
|
||||||
if [ "$(get_file_value $LATEFILE "REBOOTCHK\=")" == 1 ]; then
|
|
||||||
replace_fn REBOOTCHK 1 0 $LATEFILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ---Original values---
|
|
||||||
# default.prop
|
|
||||||
ORIGDEBUGGABLE=""
|
|
||||||
ORIGSECURE=""
|
|
||||||
# build.prop
|
|
||||||
ORIGTYPE=""
|
|
||||||
ORIGTAGS=""
|
|
||||||
ORIGSELINUX=""
|
|
||||||
ORIGFINGERPRINT=""
|
|
||||||
ORIGPATCH=""
|
|
||||||
|
|
||||||
# ---Module values---
|
|
||||||
MODULEDEBUGGABLE=""
|
|
||||||
MODULESECURE=""
|
|
||||||
MODULETYPE=""
|
|
||||||
MODULETAGS=""
|
|
||||||
MODULESELINUX=""
|
|
||||||
MODULEFINGERPRINT=""
|
|
||||||
|
|
||||||
# ---Custom prop values---
|
|
||||||
CUSTOMPROPS=""
|
|
||||||
CUSTOMPROPSPOST=""
|
|
||||||
CUSTOMPROPSLATE=""
|
|
||||||
|
|
||||||
# ---Delete prop values---
|
|
||||||
DELETEPROPS=""
|
|
||||||
|
|
||||||
# ---MagiskHide sensitive props---
|
|
||||||
REDEBUGGABLE=false
|
|
||||||
RESECURE=false
|
|
||||||
RETYPE=false
|
|
||||||
RETAGS=false
|
|
||||||
RESELINUX=false
|
|
||||||
|
|
||||||
# ---Editing default.prop---
|
|
||||||
SETDEBUGGABLE=false
|
|
||||||
SETSECURE=false
|
|
||||||
|
|
||||||
# ---Editing build.prop---
|
|
||||||
SETTYPE=false
|
|
||||||
SETTAGS=false
|
|
||||||
SETSELINUX=false
|
|
||||||
SETFINGERPRINT=false
|
|
||||||
|
|
||||||
# Edits prop values if set for late_start service
|
|
||||||
echo -e "\n--------------------" >> $LOGFILE 2>&1
|
|
||||||
log_handler "Editing prop values in late_start service mode."
|
|
||||||
if [ "$OPTIONLATE" == 1 ]; then
|
|
||||||
# ---Setting/Changing fingerprint---
|
|
||||||
print_edit
|
|
||||||
# ---Setting custom props---
|
|
||||||
custom_edit "CUSTOMPROPS"
|
|
||||||
fi
|
|
||||||
# Edit custom props set for late_start service
|
|
||||||
custom_edit "CUSTOMPROPSLATE"
|
|
||||||
# Edit MagiskHide sensitive values
|
|
||||||
if [ "$PROPEDIT" == 1 ]; then
|
|
||||||
log_handler "Changing sensitive props."
|
|
||||||
for ITEM in $PROPSLIST; do
|
|
||||||
PROP=$(get_prop_type $ITEM)
|
|
||||||
REPROP=$(echo "RE${PROP}" | tr '[:lower:]' '[:upper:]')
|
|
||||||
MODULEPROP=$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')
|
|
||||||
if [ "$(eval "echo \$$REPROP")" == "true" ]; then
|
|
||||||
log_handler "Changing/writing $ITEM."
|
|
||||||
resetprop -v $ITEM >> $LOGFILE 2>&1
|
|
||||||
resetprop -nv $ITEM $(eval "echo \$$MODULEPROP") >> $LOGFILE 2>&1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
echo -e "\n--------------------" >> $LOGFILE 2>&1
|
|
||||||
|
|
||||||
# ---Edits default.prop---
|
|
||||||
if [ "$DEFAULTEDIT" == 1 ] && [ "$FILESAFE" == 0 ]; then
|
|
||||||
log_handler "Editing default.prop."
|
|
||||||
mount -wo remount rootfs /
|
|
||||||
change_prop_file "default"
|
|
||||||
mount -ro remount rootfs /
|
|
||||||
else
|
|
||||||
log_handler "Default.prop editing disabled."
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get currently saved values
|
|
||||||
log_handler "Checking current values."
|
|
||||||
curr_values
|
|
||||||
|
|
||||||
# Check if the late_start service log file exists.
|
|
||||||
if [ -f "$LATELOGFILE" ]; then
|
|
||||||
log_handler "Removing late_start service log ($LATELOGFILE)."
|
|
||||||
rm -f $LATELOGFILE >> $LOGFILE 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
log_script_chk "late_start service boot script finished.\n\n=================="
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "$MODPATH not found." >> $LATELOGFILE 2>&1
|
echo "$MODPATH not found." >> $LATELOGFILE 2>&1
|
||||||
|
67
common/service.sh
Normal file
67
common/service.sh
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#!/system/bin/sh
|
||||||
|
# Please don't hardcode /magisk/modname/... ; instead, please use $MODPATH/...
|
||||||
|
# This will make your scripts compatible even if Magisk change its mount point in the future
|
||||||
|
MODPATH=${0%/*}
|
||||||
|
|
||||||
|
# This script will be executed in late_start service mode
|
||||||
|
# More info in the main Magisk thread
|
||||||
|
|
||||||
|
# MagiskHide Props Config
|
||||||
|
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers
|
||||||
|
# Licence: MIT
|
||||||
|
|
||||||
|
# Load functions
|
||||||
|
. $MODPATH/util_functions.sh
|
||||||
|
|
||||||
|
if [ "$OPTIONLATE" == 0 ]; then
|
||||||
|
until [ ! -f "$POSTCHKFILE" ]; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
log_script_chk "Running service.sh module script."
|
||||||
|
|
||||||
|
# Edits prop values if set for late_start service
|
||||||
|
echo -e "\n--------------------" >> $LOGFILE 2>&1
|
||||||
|
log_handler "Editing prop values in late_start service mode."
|
||||||
|
if [ "$OPTIONLATE" == 1 ]; then
|
||||||
|
# ---Setting/Changing fingerprint---
|
||||||
|
print_edit
|
||||||
|
# ---Setting device simulation props---
|
||||||
|
dev_sim_edit
|
||||||
|
# ---Setting custom props---
|
||||||
|
custom_edit "CUSTOMPROPS"
|
||||||
|
fi
|
||||||
|
# Edit custom props set for late_start service
|
||||||
|
custom_edit "CUSTOMPROPSLATE"
|
||||||
|
# Edit MagiskHide sensitive values
|
||||||
|
if [ "$PROPEDIT" == 1 ]; then
|
||||||
|
log_handler "Changing sensitive props."
|
||||||
|
for ITEM in $PROPSLIST; do
|
||||||
|
PROP=$(get_prop_type $ITEM)
|
||||||
|
REPROP=$(echo "RE${PROP}" | tr '[:lower:]' '[:upper:]')
|
||||||
|
MODULEPROP=$(echo "MODULE${PROP}" | tr '[:lower:]' '[:upper:]')
|
||||||
|
if [ "$(eval "echo \$$REPROP")" == "true" ]; then
|
||||||
|
log_handler "Changing/writing $ITEM."
|
||||||
|
resetprop -v $ITEM >> $LOGFILE 2>&1
|
||||||
|
resetprop -nv $ITEM $(eval "echo \$$MODULEPROP") >> $LOGFILE 2>&1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
echo -e "\n--------------------" >> $LOGFILE 2>&1
|
||||||
|
|
||||||
|
# ---Edits default.prop---
|
||||||
|
if [ "$DEFAULTEDIT" == 1 ] && [ "$FILESAFE" == 0 ]; then
|
||||||
|
log_handler "Editing default.prop."
|
||||||
|
mount -wo remount rootfs /
|
||||||
|
change_prop_file "default"
|
||||||
|
mount -ro remount rootfs /
|
||||||
|
else
|
||||||
|
log_handler "Default.prop editing disabled."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get currently saved values
|
||||||
|
log_handler "Checking current values."
|
||||||
|
curr_values
|
||||||
|
|
||||||
|
log_script_chk "service.sh module script finished.\n\n=================="
|
File diff suppressed because it is too large
Load Diff
225
config.sh
225
config.sh
@ -4,41 +4,19 @@
|
|||||||
# by topjohnwu
|
# by topjohnwu
|
||||||
#
|
#
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
##########################################################################################
|
|
||||||
#
|
|
||||||
# Instructions:
|
|
||||||
#
|
|
||||||
# 1. Place your files into system folder (delete the placeholder file)
|
|
||||||
# 2. Fill in your module's info into module.prop
|
|
||||||
# 3. Configure the settings in this file (config.sh)
|
|
||||||
# 4. If you need boot scripts, add them into common/post-fs-data.sh or common/service.sh
|
|
||||||
# 5. Add your additional or modified system properties into common/system.prop
|
|
||||||
#
|
|
||||||
##########################################################################################
|
|
||||||
|
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# Configs
|
# Configs
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
|
|
||||||
# Set to true if you need to enable Magic Mount
|
|
||||||
# Most mods would like it to be enabled
|
|
||||||
AUTOMOUNT=true
|
AUTOMOUNT=true
|
||||||
|
|
||||||
# Set to true if you need to load system.prop
|
|
||||||
PROPFILE=false
|
PROPFILE=false
|
||||||
|
|
||||||
# Set to true if you need post-fs-data script
|
|
||||||
POSTFSDATA=true
|
POSTFSDATA=true
|
||||||
|
LATESTARTSERVICE=true
|
||||||
# Set to true if you need late_start service script
|
|
||||||
LATESTARTSERVICE=false
|
|
||||||
|
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# Installation Message
|
# Installation Message
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
|
|
||||||
# Set what you want to show when installing your mod
|
|
||||||
|
|
||||||
print_modname() {
|
print_modname() {
|
||||||
MODVERSION=$(echo $(get_file_value $INSTALLER/module.prop "version=") | sed 's|-.*||')
|
MODVERSION=$(echo $(get_file_value $INSTALLER/module.prop "version=") | sed 's|-.*||')
|
||||||
ui_print "*******************************"
|
ui_print "*******************************"
|
||||||
@ -51,19 +29,6 @@ print_modname() {
|
|||||||
# Replace list
|
# Replace list
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
|
|
||||||
# List all directories you want to directly replace in the system
|
|
||||||
# Check the documentations for more info about how Magic Mount works, and why you need this
|
|
||||||
|
|
||||||
# This is an example
|
|
||||||
REPLACE="
|
|
||||||
/system/app/Youtube
|
|
||||||
/system/priv-app/SystemUI
|
|
||||||
/system/priv-app/Settings
|
|
||||||
/system/framework
|
|
||||||
"
|
|
||||||
|
|
||||||
# Construct your own list here, it will override the example above
|
|
||||||
# !DO NOT! remove this if you don't need to replace anything, leave it empty as it is now
|
|
||||||
REPLACE="
|
REPLACE="
|
||||||
"
|
"
|
||||||
|
|
||||||
@ -72,52 +37,24 @@ REPLACE="
|
|||||||
##########################################################################################
|
##########################################################################################
|
||||||
|
|
||||||
set_permissions() {
|
set_permissions() {
|
||||||
# Only some special files require specific permissions
|
|
||||||
# The default permissions should be good enough for most cases
|
|
||||||
|
|
||||||
# Here are some examples for the set_perm functions:
|
|
||||||
|
|
||||||
# set_perm_recursive <dirname> <owner> <group> <dirpermission> <filepermission> <contexts> (default: u:object_r:system_file:s0)
|
|
||||||
# set_perm_recursive $MODPATH/system/lib 0 0 0755 0644
|
|
||||||
|
|
||||||
# set_perm <filename> <owner> <group> <permission> <contexts> (default: u:object_r:system_file:s0)
|
|
||||||
# set_perm $MODPATH/system/bin/app_process32 0 2000 0755 u:object_r:zygote_exec:s0
|
|
||||||
# set_perm $MODPATH/system/bin/dex2oat 0 2000 0755 u:object_r:dex2oat_exec:s0
|
|
||||||
# set_perm $MODPATH/system/lib/libart.so 0 0 0644
|
|
||||||
|
|
||||||
# The following is default permissions, DO NOT remove
|
|
||||||
set_perm_recursive $MODPATH 0 0 0755 0644
|
set_perm_recursive $MODPATH 0 0 0755 0644
|
||||||
|
|
||||||
# Permissions for the props file
|
|
||||||
set_perm $MODPATH/system/$BIN/props 0 0 0777
|
set_perm $MODPATH/system/$BIN/props 0 0 0777
|
||||||
# Permissions for boot scripts
|
|
||||||
set_perm $LATEFILE 0 0 0755
|
set_perm $LATEFILE 0 0 0755
|
||||||
set_perm $POSTFILE 0 0 0755
|
|
||||||
}
|
}
|
||||||
|
|
||||||
##########################################################################################
|
|
||||||
# Custom Functions
|
|
||||||
##########################################################################################
|
|
||||||
|
|
||||||
# This file (config.sh) will be sourced by the main flash script after util_functions.sh
|
|
||||||
# If you need custom logic, please add them here as functions, and call these functions in
|
|
||||||
# update-binary. Refrain from adding code directly into update-binary, as it will make it
|
|
||||||
# difficult for you to migrate your modules to newer template versions.
|
|
||||||
# Make update-binary as clean as possible, try to only do function calls in it.
|
|
||||||
|
|
||||||
|
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# Installation variables and functions for the Magisk module "MagiskHide Props Config"
|
# Installation variables and functions for the Magisk module "MagiskHide Props Config"
|
||||||
# by Didgeridoohan @ XDA Developers.
|
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers.
|
||||||
|
# Licence: MIT
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
|
|
||||||
# Finding file values
|
# Finding file values
|
||||||
get_file_value() {
|
get_file_value() {
|
||||||
cat $1 | grep $2 | sed "s|.*$2||" | sed 's|\"||g'
|
grep $2 $1 | sed "s|.*$2||" | sed 's|\"||g'
|
||||||
}
|
}
|
||||||
# Get left side of =
|
# Get left side of =
|
||||||
get_eq_left() {
|
get_eq_left() {
|
||||||
echo $1 | sed 's|=.*||'
|
echo $1 | cut -f 1 -d '='
|
||||||
}
|
}
|
||||||
# Get first word in string
|
# Get first word in string
|
||||||
get_first() {
|
get_first() {
|
||||||
@ -141,33 +78,37 @@ $BOOTMODE && IMGPATH=$BIMGPATH || IMGPATH=$MOUNTPATH
|
|||||||
if [ "$MAGISK_VER_CODE" -ge 17316 ]; then
|
if [ "$MAGISK_VER_CODE" -ge 17316 ]; then
|
||||||
POSTPATH=$ADBPATH/post-fs-data.d
|
POSTPATH=$ADBPATH/post-fs-data.d
|
||||||
SERVICEPATH=$ADBPATH/service.d
|
SERVICEPATH=$ADBPATH/service.d
|
||||||
POSTHOLDER=$ADBPATH/post-fs-data.d/propsconf_post
|
|
||||||
LATEHOLDER=$ADBPATH/service.d/propsconf_late
|
LATEHOLDER=$ADBPATH/service.d/propsconf_late
|
||||||
else
|
else
|
||||||
POSTPATH=$IMGPATH/.core/post-fs-data.d
|
POSTPATH=$IMGPATH/.core/post-fs-data.d
|
||||||
SERVICEPATH=$IMGPATH/.core/service.d
|
SERVICEPATH=$IMGPATH/.core/service.d
|
||||||
POSTHOLDER=$BIMGPATH/.core/post-fs-data.d/propsconf_post
|
|
||||||
LATEHOLDER=$BIMGPATH/.core/service.d/propsconf_late
|
LATEHOLDER=$BIMGPATH/.core/service.d/propsconf_late
|
||||||
fi
|
fi
|
||||||
POSTFILE=$POSTPATH/propsconf_post
|
POSTFILE=$POSTPATH/propsconf_post
|
||||||
UPDATEPOSTFILE=$INSTALLER/common/propsconf_post
|
|
||||||
LATEFILE=$SERVICEPATH/propsconf_late
|
LATEFILE=$SERVICEPATH/propsconf_late
|
||||||
POSTLATEFILE=$POSTPATH/propsconf_late
|
POSTLATEFILE=$POSTPATH/propsconf_late
|
||||||
UPDATELATEFILE=$INSTALLER/common/propsconf_late
|
UPDATELATEFILE=$INSTALLER/common/propsconf_late
|
||||||
|
MIRRORLOC=/sbin/.magisk/mirror/system
|
||||||
if [ -z $SLOT ]; then
|
if [ -z $SLOT ]; then
|
||||||
SYSTEMLOC=/system
|
|
||||||
CACHELOC=/cache
|
CACHELOC=/cache
|
||||||
else
|
else
|
||||||
SYSTEMLOC=/system_root/system
|
|
||||||
CACHELOC=/data/cache
|
CACHELOC=/data/cache
|
||||||
fi
|
fi
|
||||||
|
CONFFILELST="
|
||||||
|
$CACHELOC/propsconf_conf
|
||||||
|
/data/propsconf_conf
|
||||||
|
/sdcard/propsconf_conf
|
||||||
|
"
|
||||||
INSTLOG=$CACHELOC/propsconf_install.log
|
INSTLOG=$CACHELOC/propsconf_install.log
|
||||||
UPDATEV=$(get_file_value $UPDATELATEFILE "SCRIPTV=")
|
UPDATEV=$(get_file_value $UPDATELATEFILE "SCRIPTV=")
|
||||||
UPDATETRANSF=$(get_file_value $UPDATELATEFILE "SETTRANSF=")
|
UPDATETRANSF=$(get_file_value $UPDATELATEFILE "SETTRANSF=")
|
||||||
NOTTRANSF=$(get_file_value $UPDATELATEFILE "NOTTRANSF=")
|
NOTTRANSF=$(get_file_value $UPDATELATEFILE "NOTTRANSF=")
|
||||||
SETTINGSLIST="
|
SETTINGSLIST="
|
||||||
FINGERPRINTENB
|
FINGERPRINTENB
|
||||||
|
PRINTMODULE
|
||||||
PRINTEDIT
|
PRINTEDIT
|
||||||
|
PRINTVEND
|
||||||
|
DEVSIM
|
||||||
BUILDPROPENB
|
BUILDPROPENB
|
||||||
FILESAFE
|
FILESAFE
|
||||||
BUILDEDIT
|
BUILDEDIT
|
||||||
@ -177,9 +118,18 @@ PROPEDIT
|
|||||||
CUSTOMEDIT
|
CUSTOMEDIT
|
||||||
DELEDIT
|
DELEDIT
|
||||||
REBOOTCHK
|
REBOOTCHK
|
||||||
|
PRINTCHK
|
||||||
OPTIONLATE
|
OPTIONLATE
|
||||||
OPTIONCOLOUR
|
OPTIONCOLOUR
|
||||||
OPTIONWEB
|
OPTIONWEB
|
||||||
|
OPTIONUPDATE
|
||||||
|
BRANDSET
|
||||||
|
NAMESET
|
||||||
|
DEVICESET
|
||||||
|
RELEASESET
|
||||||
|
IDSET
|
||||||
|
INCREMENTALSET
|
||||||
|
DESCRIPTIONSET
|
||||||
"
|
"
|
||||||
PROPSETTINGSLIST="
|
PROPSETTINGSLIST="
|
||||||
MODULEDEBUGGABLE
|
MODULEDEBUGGABLE
|
||||||
@ -188,6 +138,13 @@ MODULETYPE
|
|||||||
MODULETAGS
|
MODULETAGS
|
||||||
MODULESELINUX
|
MODULESELINUX
|
||||||
MODULEFINGERPRINT
|
MODULEFINGERPRINT
|
||||||
|
SIMBRAND
|
||||||
|
SIMNAME
|
||||||
|
SIMDEVICE
|
||||||
|
SIMRELEASE
|
||||||
|
SIMID
|
||||||
|
SIMINCREMENTAL
|
||||||
|
SIMDESCRIPTION
|
||||||
CUSTOMPROPS
|
CUSTOMPROPS
|
||||||
CUSTOMPROPSPOST
|
CUSTOMPROPSPOST
|
||||||
CUSTOMPROPSLATE
|
CUSTOMPROPSLATE
|
||||||
@ -206,7 +163,7 @@ USNFLIST="xiaomi-safetynet-fix safetynet-fingerprint-fix VendingVisa DeviceSpoof
|
|||||||
# Log functions
|
# Log functions
|
||||||
log_handler() {
|
log_handler() {
|
||||||
echo "" >> $INSTLOG
|
echo "" >> $INSTLOG
|
||||||
echo -e "$(date +"%m-%d-%Y %H:%M:%S") - $1" >> $INSTLOG 2>&1
|
echo -e "$(date +"%Y-%m-%d %H:%M:%S:%N") - $1" >> $INSTLOG 2>&1
|
||||||
}
|
}
|
||||||
log_start() {
|
log_start() {
|
||||||
if [ -f "$INSTLOG" ]; then
|
if [ -f "$INSTLOG" ]; then
|
||||||
@ -227,8 +184,10 @@ log_print() {
|
|||||||
# Places various module scripts in their proper places
|
# Places various module scripts in their proper places
|
||||||
script_placement() {
|
script_placement() {
|
||||||
if [ -f "$LATEFILE" ]; then
|
if [ -f "$LATEFILE" ]; then
|
||||||
FILEV=$(get_file_value $LATEFILE "SCRIPTV=")
|
# Load module settings
|
||||||
FILETRANSF=$(get_file_value $LATEFILE "SETTRANSF=")
|
load_settings
|
||||||
|
FILEV=$SCRIPTV
|
||||||
|
FILETRANSF=$SETTRANSF
|
||||||
else
|
else
|
||||||
FILEV=0
|
FILEV=0
|
||||||
FILETRANSF=$UPDATETRANSF
|
FILETRANSF=$UPDATETRANSF
|
||||||
@ -236,8 +195,6 @@ script_placement() {
|
|||||||
log_print "- Installing scripts"
|
log_print "- Installing scripts"
|
||||||
cp -af $INSTALLER/common/util_functions.sh $MODPATH/util_functions.sh >> $INSTLOG 2>&1
|
cp -af $INSTALLER/common/util_functions.sh $MODPATH/util_functions.sh >> $INSTLOG 2>&1
|
||||||
cp -af $INSTALLER/common/prints.sh $MODPATH/prints.sh >> $INSTLOG 2>&1
|
cp -af $INSTALLER/common/prints.sh $MODPATH/prints.sh >> $INSTLOG 2>&1
|
||||||
cp -af $UPDATEPOSTFILE $MODPATH/propsconf_post >> $INSTLOG 2>&1
|
|
||||||
cp -af $UPDATEPOSTFILE $POSTFILE >> $INSTLOG 2>&1
|
|
||||||
cp -af $UPDATELATEFILE $MODPATH/propsconf_late >> $INSTLOG 2>&1
|
cp -af $UPDATELATEFILE $MODPATH/propsconf_late >> $INSTLOG 2>&1
|
||||||
if [ "$FILEV" ]; then
|
if [ "$FILEV" ]; then
|
||||||
# New script
|
# New script
|
||||||
@ -340,9 +297,29 @@ print_files() {
|
|||||||
log_handler "Creating files"
|
log_handler "Creating files"
|
||||||
for OEM in $OEMLIST; do
|
for OEM in $OEMLIST; do
|
||||||
echo -e "PRINTSLIST=\"" >> $MODPATH/printfiles/${OEM}\.sh
|
echo -e "PRINTSLIST=\"" >> $MODPATH/printfiles/${OEM}\.sh
|
||||||
cat $MODPATH/prints.sh | grep $OEM >> $MODPATH/printfiles/${OEM}\.sh
|
grep $OEM >> $MODPATH/printfiles/${OEM}\.sh $MODPATH/prints.sh
|
||||||
echo -e "\"" >> $MODPATH/printfiles/${OEM}\.sh
|
echo -e "\"" >> $MODPATH/printfiles/${OEM}\.sh
|
||||||
done
|
done
|
||||||
|
# Check for updated fingerprint
|
||||||
|
device_print_update
|
||||||
|
}
|
||||||
|
|
||||||
|
device_print_update() {
|
||||||
|
if [ "$OPTIONUPDATE" == 1 ]; then
|
||||||
|
if [ "$FINGERPRINTENB" == 1 -o "$PRINTMODULE" == 0 ] && [ "$PRINTEDIT" == 1 ] && [ "$MODULEFINGERPRINT" ]; then
|
||||||
|
TMPDEV="${VARBRAND}\.${VARNAME}\.${VARDEVICE}"
|
||||||
|
TMPPRINT=$(echo $PRINTSLIST | grep $TMPDEV )
|
||||||
|
if [ "$TMPDEV" ] && [ "$TMPPRINT" ]; then
|
||||||
|
if [ "$(echo $MODULEFINGERPRINT | sed 's|\_\_.*||')" != "$(echo $TMPPRINT | cut -f 2 -d '=' | sed 's|\_\_.*||')" ]; then
|
||||||
|
log_handler "Updating module fingerprint."
|
||||||
|
sed -i "s|MODULEFINGERPRINT=$MODULEFINGERPRINT|MODULEFINGERPRINT=$(echo $TMPPRINT | cut -f 2 -d '=')|" $LATEFILE
|
||||||
|
log_handler "Changing device fingerprint to $(echo $TMPPRINT | cut -f 2 -d '=' | sed 's|\_\_.*||')."
|
||||||
|
# Reloading module settings
|
||||||
|
load_settings
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Updates placeholders
|
# Updates placeholders
|
||||||
@ -361,7 +338,7 @@ build_prop_check() {
|
|||||||
log_print "- Checking for build.prop conflicts"
|
log_print "- Checking for build.prop conflicts"
|
||||||
for D in $(ls $IMGPATH); do
|
for D in $(ls $IMGPATH); do
|
||||||
if [ "$D" != "$MODID" ]; then
|
if [ "$D" != "$MODID" ]; then
|
||||||
if [ -f "$IMGPATH/$D/system/build.prop" ]; then
|
if [ -f "$IMGPATH/$D/system/build.prop" ] || [ "$D" == "safetypatcher" ]; then
|
||||||
NAME=$(get_file_value $IMGPATH/$D/module.prop "name=")
|
NAME=$(get_file_value $IMGPATH/$D/module.prop "name=")
|
||||||
ui_print "!"
|
ui_print "!"
|
||||||
log_print "! Another module editing build.prop detected!"
|
log_print "! Another module editing build.prop detected!"
|
||||||
@ -412,12 +389,69 @@ install_check() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check for late_start service boot script in post-fs-data.d, in case someone's moved it
|
# 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() {
|
post_check() {
|
||||||
if [ -f "$POSTLATEFILE" ]; then
|
if [ -f "$POSTLATEFILE" ]; then
|
||||||
log_handler "Removing late_start service boot script from post-fs-data.d."
|
log_handler "Removing late_start service boot script from post-fs-data.d."
|
||||||
rm -f $POSTLATEFILE
|
rm -f $POSTLATEFILE
|
||||||
fi
|
fi
|
||||||
|
if [ -f "$POSTFILE" ]; then
|
||||||
|
log_handler "Removing old post-fs-data boot script from post-fs-data.d"
|
||||||
|
rm -f $POSTFILE
|
||||||
|
fi
|
||||||
|
if [ -f "$CACHELOC/propsconf_postfile.log" ]; then
|
||||||
|
log_handler "Removing old post-fs-data log from /cache."
|
||||||
|
rm -f $CACHELOC/propsconf_postfile.log
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Save props values from fingerprint parts
|
||||||
|
print_parts() {
|
||||||
|
DLIM1=1
|
||||||
|
DLIM2=1
|
||||||
|
for ITEM in $PROPSETTINGSLIST; do
|
||||||
|
case $ITEM in
|
||||||
|
SIMDESCRIPTION) # Do nothing with the description variable
|
||||||
|
;;
|
||||||
|
SIM*)
|
||||||
|
TMPVAR="$(echo $ITEM | sed 's|SIM||')"
|
||||||
|
TMPVALUE=$(echo $1 | sed 's|\:user/release-keys.*||' | cut -f $DLIM1 -d ':' | cut -f $DLIM2 -d '/')
|
||||||
|
eval "VAR${TMPVAR}='$TMPVALUE'"
|
||||||
|
DLIM2=$(($DLIM2 + 1))
|
||||||
|
if [ "$DLIM2" == 4 ]; then
|
||||||
|
DLIM1=2
|
||||||
|
DLIM2=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
VARDESCRIPTION="${VARNAME}-user $VARRELEASE $VARID $VARINCREMENTAL release-keys"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update the device simulation variables if a fingerprint is set
|
||||||
|
devsim_update() {
|
||||||
|
if [ "$MODULEFINGERPRINT" ]; then
|
||||||
|
log_handler "Updating device simulation variables."
|
||||||
|
print_parts $MODULEFINGERPRINT
|
||||||
|
for ITEM in $PROPSETTINGSLIST; do
|
||||||
|
case $ITEM in
|
||||||
|
SIM*)
|
||||||
|
SUBA="$(get_file_value $LATEFILE "${ITEM}=")"
|
||||||
|
TMPVAR="$(echo $ITEM | sed 's|SIM|VAR|')"
|
||||||
|
TMPPROP="$(eval "echo \$$TMPVAR")"
|
||||||
|
sed -i "s|${ITEM}=\"${SUBA}\"|${ITEM}=\"${TMPPROP}\"|" $LATEFILE
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
# Reload module settings
|
||||||
|
load_settings
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load module settings and reapply the MODPATH variable
|
||||||
|
load_settings() {
|
||||||
|
. $LATEFILE
|
||||||
|
MODPATH=$MOUNTPATH/$MODID
|
||||||
}
|
}
|
||||||
|
|
||||||
# Installs everything
|
# Installs everything
|
||||||
@ -429,23 +463,38 @@ script_install() {
|
|||||||
script_placement
|
script_placement
|
||||||
log_print "- Updating placeholders"
|
log_print "- Updating placeholders"
|
||||||
placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
|
placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
|
||||||
|
placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
|
||||||
placeholder_update $MODPATH/util_functions.sh BIN BIN_PLACEHOLDER "$BIN"
|
placeholder_update $MODPATH/util_functions.sh BIN BIN_PLACEHOLDER "$BIN"
|
||||||
placeholder_update $MODPATH/util_functions.sh USNFLIST USNF_PLACEHOLDER "$USNFLIST"
|
placeholder_update $MODPATH/util_functions.sh USNFLIST USNF_PLACEHOLDER "$USNFLIST"
|
||||||
placeholder_update $MODPATH/util_functions.sh SYSTEMLOC SYSTEM_PLACEHOLDER "$SYSTEMLOC"
|
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 CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
|
||||||
placeholder_update $MODPATH/util_functions.sh LATEFILE LATE_PLACEHOLDER "$LATEHOLDER"
|
placeholder_update $MODPATH/util_functions.sh LATEFILE LATE_PLACEHOLDER "$LATEHOLDER"
|
||||||
placeholder_update $MODPATH/util_functions.sh POSTFILE POST_PLACEHOLDER "$POSTHOLDER"
|
|
||||||
placeholder_update $MODPATH/util_functions.sh MODVERSION VER_PLACEHOLDER "$MODVERSION"
|
placeholder_update $MODPATH/util_functions.sh MODVERSION VER_PLACEHOLDER "$MODVERSION"
|
||||||
placeholder_update $MODPATH/util_functions.sh BBWWWPATH BB_PLACEHOLDER "$BBWWWPATH"
|
|
||||||
placeholder_update $POSTFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
|
|
||||||
placeholder_update $POSTFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
|
|
||||||
placeholder_update $LATEFILE POSTFILE POST_PLACEHOLDER "$POSTHOLDER"
|
|
||||||
placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
|
|
||||||
placeholder_update $MODPATH/system/$BIN/props LATEFILE LATE_PLACEHOLDER "$LATEHOLDER"
|
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 COREPATH CORE_PLACEHOLDER "$COREPATH"
|
||||||
|
load_settings
|
||||||
|
devsim_update
|
||||||
print_files
|
print_files
|
||||||
ui_print ""
|
ui_print ""
|
||||||
ui_print "- Make sure to have Busybox installed."
|
ui_print "- Make sure to have Busybox installed."
|
||||||
ui_print "- osm0sis' Busybox is recommended."
|
ui_print "- osm0sis' Busybox is recommended."
|
||||||
ui_print ""
|
ui_print ""
|
||||||
|
log_handler "Installation complete."
|
||||||
|
# Checks for configuration file
|
||||||
|
CONFFILE=""
|
||||||
|
for ITEM in $CONFFILELST; do
|
||||||
|
if [ -s "$ITEM" ]; then
|
||||||
|
CONFFILE="$ITEM"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ "$CONFFILE" ]; then
|
||||||
|
. $MODPATH/util_functions.sh
|
||||||
|
LOGFILE=$INSTLOG
|
||||||
|
MODPATH=$MOUNTPATH/$MODID
|
||||||
|
ui_print "- Configuration file found."
|
||||||
|
ui_print "- Installing..."
|
||||||
|
ui_print ""
|
||||||
|
config_file
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
id=MagiskHidePropsConf
|
id=MagiskHidePropsConf
|
||||||
name=MagiskHide Props Config
|
name=MagiskHide Props Config
|
||||||
version=v2.7.2-v42
|
version=v3.0.0-v42
|
||||||
versionCode=36
|
versionCode=37
|
||||||
author=Didgeridoohan
|
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.
|
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
|
minMagisk=17000
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user