From 2fa007afa3a45b52545d5146a933d9e9e0e030ca Mon Sep 17 00:00:00 2001 From: osm0sis Date: Wed, 17 Jan 2024 16:13:20 -0400 Subject: [PATCH] Prepare v6 --- CHANGELOG.md | 16 ++++++++-------- README.md | 21 ++++++++++++--------- module/module.prop | 4 ++-- update.json | 6 +++--- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26c5da0..2104a49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## Custom Fork v6 +- Improve migration script to be more portable, e.g. for desktop use +- Add custom function to hack global props without increasing the change counter +- Add missing Xiaomi, Realme and SELinux global props +- Add customizable example.app_replace.list file to replace conflicting custom ROM apps +- Improve VERBOSE_LOGS to be any json entry, and dump full Build fields at 100 +- Change DroidGuard prop spoof hooking method to Dobby for now + ## Custom Fork v5 - Allow spoofing literally any system property, supporting * lead wildcard to match multiple - Remove all backwards compat cruft and deprecated entries @@ -6,12 +14,4 @@ - Update example json for properties - Add migration script to automatically upgrade old custom.pif.json during install/update (may also be run manually) -## Custom Fork v4 -- Very verbose logging (for now) -- Allow spoofing literally any field from android.os.Build or android.os.Build.VERSION -- Add BUILD_ID and VNDK_VERSION support to keep cross-fork API compatibility -- Add exceptions for FIRST_API_VERSION (actually DEVICE_INITIAL_SDK_INT) and BUILD_ID (actually ID) for backwards API compatibility -- Add empty example.pif.json with reference link -- Fix GMS crashes if a null/bad value was read from json - _[Previous changelogs](https://github.com/osm0sis/PlayIntegrityFork/releases)_ diff --git a/README.md b/README.md index ee01d85..ad26ccc 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,9 @@ A Zygisk module which fixes "ctsProfileMatch" (SafetyNet) and "MEETS_DEVICE_INTE To use this module you must have one of the following: -- Magisk with Zygisk enabled. -- KernelSU with [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext) module installed. +- [Magisk](https://github.com/topjohnwu/Magisk) with Zygisk (and, if not also using Shamiko, Enforce DenyList) enabled. +- [KernelSU](https://github.com/tiann/KernelSU) with [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext) module installed. +- [APatch](https://github.com/bmax121/APatch) with [ZygiskNext MOD](https://github.com/Yervant7/ZygiskNext) module installed. ## About module @@ -21,9 +22,9 @@ The purpose of the module is to avoid hardware attestation. ## About 'custom.pif.json' file -You can fill out the included template [example.pif.json](https://raw.githubusercontent.com/osm0sis/PlayIntegrityFork/main/module/example.pif.json) from the module directory then rename it to custom.pif.json to spoof custom values to the GMS unstable process. It will be used instead of any included pif.json. +You can fill out the included template [example.pif.json](https://raw.githubusercontent.com/osm0sis/PlayIntegrityFork/main/module/example.pif.json) from the module directory then rename it to custom.pif.json to spoof custom values to the GMS unstable process. It will be used instead of any included pif.json (none included currently). -You can't use values from recent devices due them triggering full hardware backed attestation. +As a general rule you can't use values from recent devices due to them only being allowed with full hardware backed attestation. Older formatted custom.pif.json files from cross-forks and previous releases will be automatically migrated to the latest format. @@ -38,6 +39,10 @@ A migration may also be performed manually with `sh migrate.sh` and custom.pif.j +## About 'custom.app_replace.list' file + +You can customize the included default [example.app_replace.list](https://raw.githubusercontent.com/osm0sis/PlayIntegrityFork/main/module/example.app_replace.list) from the module directory then rename it to custom.app_replace.list to systemlessly replace any additional conflicting custom ROM injection app paths to disable them. + ## Troubleshooting ### Failing BASIC verdict @@ -68,13 +73,11 @@ Note clearing Google Play Services app ***data*** will then require you to reset ### Read module logs -You can read module logs using this command directly after boot: +You can read module logs using one of these commands directly after boot: -``` -adb shell "logcat | grep 'PIF/'" -``` +`adb shell "logcat | grep 'PIF/'"` or `su -c "logcat | grep 'PIF/'"` -Add "VERBOSE_LOGS" with a value of "0", "1", "2", "3" or "100" as the last entry of your custom.pif.json to enable higher logging levels; "100" will dump all the system properties that DroidGuard is checking. +Add a "VERBOSE_LOGS" entry with a value of "0", "1", "2", "3" or "100" to your custom.pif.json to enable higher logging levels; "100" will dump all Build fields, and all the system properties that DroidGuard is checking. ## Can this module pass MEETS_STRONG_INTEGRITY? diff --git a/module/module.prop b/module/module.prop index c30465d..1bacef4 100644 --- a/module/module.prop +++ b/module/module.prop @@ -1,7 +1,7 @@ id=playintegrityfix name=Play Integrity Fork -version=v5 -versionCode=5001 +version=v6 +versionCode=6000 author=osm0sis & chiteroman @ xda-developers description=Fix CTS profile (SafetyNet) and DEVICE verdict (Play Integrity) updateJson=https://raw.githubusercontent.com/osm0sis/PlayIntegrityFork/main/update.json diff --git a/update.json b/update.json index c286ef9..7a89c84 100644 --- a/update.json +++ b/update.json @@ -1,6 +1,6 @@ { - "version": "v5", - "versionCode": 5000, - "zipUrl": "https://github.com/osm0sis/PlayIntegrityFork/releases/download/v5/PlayIntegrityFork-v5.zip", + "version": "v6", + "versionCode": 6000, + "zipUrl": "https://github.com/osm0sis/PlayIntegrityFork/releases/download/v6/PlayIntegrityFork-v6.zip", "changelog": "https://raw.githubusercontent.com/osm0sis/PlayIntegrityFork/main/CHANGELOG.md" }