Skip to content
Snippets Groups Projects
Unverified Commit d9c7b120 authored by Marcos's avatar Marcos Committed by GitHub
Browse files

Merge pull request #97 from osm0sis/main

README fixes/improvements (custom)
parents 4dcf53b3 ab73481f
No related branches found
No related tags found
No related merge requests found
# Play Integrity Fix # Play Integrity Fix
A Zygisk module which fix "ctsProfileMatch" (SafetyNet) and "MEETS_DEVICE_INTEGRITY" (Play A Zygisk module which fixes "ctsProfileMatch" (SafetyNet) and "MEETS_DEVICE_INTEGRITY" (Play Integrity).
Integrity).
To use this module you must have one of this: To use this module you must have one of the following:
- Magisk with Zygisk enabled. - Magisk with Zygisk enabled.
- KernelSU with [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext) module installed. - KernelSU with [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext) module installed.
...@@ -24,46 +23,41 @@ https://t.me/playintegrityfix ...@@ -24,46 +23,41 @@ https://t.me/playintegrityfix
## About module ## About module
It injects a classes.dex file to modify few fields in android.os.Build class. Also, in native code It injects a classes.dex file to modify a few fields in the android.os.Build class. Also, it creates a hook in the native code to modify system properties. These are spoofed only to Google Play Services' DroidGuard (SafetyNet/Play Integrity) service.
it creates a hook to modify system properties.
The purpose of the module is to avoid a hardware attestation. The purpose of the module is to avoid a hardware attestation.
## About 'pif.json' file ## About 'pif.json' file
You can modify this file to spoof android.os.Build fields in GMS unstable process and try to pass Device verdict. You can modify this file in the module directory to spoof custom values to the GMS unstable process.
You can't use values from recent devices due this devices must use a hardware attestation.
## Failing BASIC verdict
If you are failing basicIntegrity (SafetyNet) or MEETS_BASIC_INTEGRITY (Play Integrity) something is
wrong in your setup. My recommended steps in order to find the problem:
- Disable all modules except mine. You can't use values from recent devices due them triggering hardware backed attestation.
- Check your SELinux (must be enforced).
Some modules which modify system can trigger DroidGuard detection, never hook GMS processes. ## Troubleshooting
## Certify Play Store and fix Google Wallet ### Failing BASIC verdict
Follow this steps: If you are failing basicIntegrity (SafetyNet) or MEETS_BASIC_INTEGRITY (Play Integrity) something is wrong in your setup. Recommended steps in order to find the problem:
- Flash my module in Magisk/KernelSU (if you already have my module, just ignore this step). - Disable all modules except this one
- Clear Google Wallet cache (if you have it).
- Clear Google Play Store cache and data.
- Clear Google Play Services (com.google.android.gms) cache and data (Optionally skip clearing data and wait some time, ~24h, for it to resolve on its own).
- Reboot
## Troubleshooting Some modules which modify system can trigger DroidGuard detection, never hook GMS processes.
### Fails to meet device integrity (KernelSU) ### Failing DEVICE verdict (on KernelSU)
- Disable ZygiskNext - Disable ZygiskNext
- Reboot - Reboot
- Enable ZygiskNext - Enable ZygiskNext
### Passes device integrity, but fails in Wallet (even after clearing cache) ### Play Protect/Store Certification and Google Wallet Tap To Pay Setup Security Requirements
- Remove all data from Google Play Services Follow these steps:
- Flash the module in Magisk/KernelSU
- Clear Google Wallet cache (if you have it)
- Clear Google Play Store cache and data
- Clear Google Play Services (com.google.android.gms) cache and data (Optionally skip clearing data and wait some time, ~24h, for it to resolve on its own)
- Reboot
<details> <details>
<summary>Guide</summary> <summary>Guide</summary>
...@@ -73,9 +67,9 @@ Follow this steps: ...@@ -73,9 +67,9 @@ Follow this steps:
</details> </details>
## Read module logs ### Read module logs
You can read module logs using this command: You can read module logs using this command directly after boot:
``` ```
adb shell "logcat | grep 'PIF'" adb shell "logcat | grep 'PIF'"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment