v3.0.0-v42

This commit is contained in:
Didgeridoohan 2019-02-02 13:37:20 +01:00 committed by GitHub
parent 416ddbc390
commit 27c62203a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 1110 additions and 638 deletions

View File

@ -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

View File

@ -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")
fi COREPATH=$(dirname "$IMGPATH")
# Check for boot scripts and restore backup if deleted, or if the resetfile is present
if [ ! -f "$POSTFILE" ]; then
# Start logging # Start logging
log_start log_start
log_handler "post-fs-data boot script not found."
log_handler "Restoring post-fs-data boot script (${POSTFILE})." # Clears out the script check file
cp -af $MODPATH/propsconf_post $POSTFILE >> $LOGFILE 2>&1 rm -f $RUNFILE
chmod -v 755 $POSTFILE >> $LOGFILE 2>&1 touch $RUNFILE
placeholder_update $POSTFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
placeholder_update $POSTFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC" # Clears out the script control file
# Deleting settings script to force a restore touch $POSTCHKFILE
rm -f $LATEFILE
POSTDEL=1 # Checks the reboot and print update variables in propsconf_late
if [ "$REBOOTCHK" == 1 ]; then
replace_fn REBOOTCHK 1 0 $LATEFILE
fi fi
if [ "$PRINTCHK" == 1 ]; then
replace_fn PRINTCHK 1 0 $LATEFILE
fi
# Check for the boot script and restore backup if deleted, or if the resetfile is present
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

View File

@ -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="

View File

@ -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

View File

@ -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,60 +35,25 @@ 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
" "
rm -f $LATELOGFILE
# Function to clean up different files after the module has been uninstalled
cleanup() {
echo "Cleaning up files in $CACHELOC." >> $LATELOGFILE 2>&1
for ITEM in $CACHEFILES; do
if [ -f "$CACHELOC/$ITEM" ]; then
echo "Deleting ${ITEM}." >> $LATELOGFILE 2>&1
rm -f $CACHELOC/$ITEM >> $LATELOGFILE 2>&1
fi
done
# Suicide.
echo "Removing scripts." >> $LATELOGFILE 2>&1
rm -f $POSTFILE >> $LATELOGFILE 2>&1
rm -f $0 >> $LATELOGFILE 2>&1
}
# Checks if the module is installed. Deletes itself if it isn't.
if [ -d "$MODPATH" ]; then
# Checks if the module is set for removal
if [ -f "$MODPATH/remove" ]; then
echo "Module set for removal." >> $LATELOGFILE 2>&1
# Cleanup
cleanup
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--- # ---Original values---
# default.prop # default.prop
ORIGDEBUGGABLE="" ORIGDEBUGGABLE=""
@ -95,7 +63,15 @@ if [ -d "$MODPATH" ]; then
ORIGTAGS="" ORIGTAGS=""
ORIGSELINUX="" ORIGSELINUX=""
ORIGFINGERPRINT="" ORIGFINGERPRINT=""
ORIGVENDPRINT=""
ORIGPATCH="" ORIGPATCH=""
ORIGBRAND=""
ORIGNAME=""
ORIGDEVICE=""
ORIGRELEASE=""
ORIGID=""
ORIGINCREMENTAL=""
ORIGDESCRIPTION=""
# ---Module values--- # ---Module values---
MODULEDEBUGGABLE="" MODULEDEBUGGABLE=""
@ -105,6 +81,15 @@ if [ -d "$MODPATH" ]; then
MODULESELINUX="" MODULESELINUX=""
MODULEFINGERPRINT="" MODULEFINGERPRINT=""
# ---Device simulation values---
SIMBRAND=""
SIMNAME=""
SIMDEVICE=""
SIMRELEASE=""
SIMID=""
SIMINCREMENTAL=""
SIMDESCRIPTION=""
# ---Custom prop values--- # ---Custom prop values---
CUSTOMPROPS="" CUSTOMPROPS=""
CUSTOMPROPSPOST="" CUSTOMPROPSPOST=""
@ -130,55 +115,29 @@ if [ -d "$MODPATH" ]; then
SETSELINUX=false SETSELINUX=false
SETFINGERPRINT=false SETFINGERPRINT=false
# Edits prop values if set for late_start service rm -f $LATELOGFILE
echo -e "\n--------------------" >> $LOGFILE 2>&1
log_handler "Editing prop values in late_start service mode." # Function to clean up some files after the module has been uninstalled
if [ "$OPTIONLATE" == 1 ]; then cleanup() {
# ---Setting/Changing fingerprint--- echo "Cleaning up files in $CACHELOC." >> $LATELOGFILE 2>&1
print_edit for ITEM in $CACHEFILES; do
# ---Setting custom props--- if [ -f "$CACHELOC/$ITEM" ]; then
custom_edit "CUSTOMPROPS" echo "Deleting ${ITEM}." >> $LATELOGFILE 2>&1
fi rm -f $CACHELOC/$ITEM >> $LATELOGFILE 2>&1
# 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 fi
done done
fi # Suicide.
echo -e "\n--------------------" >> $LOGFILE 2>&1 echo "Removing script." >> $LATELOGFILE 2>&1
rm -f $0 >> $LATELOGFILE 2>&1
}
# ---Edits default.prop--- # Checks if the module is installed. Deletes itself if it isn't.
if [ "$DEFAULTEDIT" == 1 ] && [ "$FILESAFE" == 0 ]; then if [ -d "$MODPATH" ]; then
log_handler "Editing default.prop." # Checks if the module is set for removal
mount -wo remount rootfs / if [ -f "$MODPATH/remove" ]; then
change_prop_file "default" echo "Module set for removal." >> $LATELOGFILE 2>&1
mount -ro remount rootfs / # Cleanup
else cleanup
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
View 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
View File

@ -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
} }

View File

@ -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.