2023-11-16 15:35:24 +02:00
# Play Integrity Fix
2023-11-21 15:04:33 +02:00
2023-11-28 02:49:56 +02:00
A Zygisk module which fixes "ctsProfileMatch" (SafetyNet) and "MEETS_DEVICE_INTEGRITY" (Play Integrity).
2023-11-16 15:35:24 +02:00
2023-11-28 02:49:56 +02:00
To use this module you must have one of the following:
2023-11-21 15:04:33 +02:00
2023-11-16 15:35:24 +02:00
- Magisk with Zygisk enabled.
- KernelSU with [ZygiskNext ](https://github.com/Dr-TSNG/ZygiskNext ) module installed.
[**Download the latest here** ](https://github.com/chiteroman/PlayIntegrityFix/releases/latest ).
2023-11-21 15:04:33 +02:00
## Telegram group
https://t.me/playintegrityfix
2023-11-16 15:35:24 +02:00
## Donations
2023-11-21 15:04:33 +02:00
2023-11-16 15:35:24 +02:00
- [PayPal ](https://paypal.me/chiteroman )
## Official posts
2023-11-21 15:04:33 +02:00
2023-11-16 15:35:24 +02:00
- [XDA ](https://xdaforums.com/t/module-play-integrity-fix-safetynet-fix.4607985/ )
## About module
2023-11-21 15:04:33 +02:00
2023-11-28 02:49:56 +02:00
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.
2023-11-16 15:35:24 +02:00
The purpose of the module is to avoid a hardware attestation.
2023-11-21 15:34:33 +02:00
2023-11-29 17:19:43 +02:00
## About 'custom.pif.json' file
2023-11-21 15:34:33 +02:00
2023-11-29 17:19:43 +02:00
You can create this file in the module directory to spoof custom values to the GMS unstable process. It will be used instead of the included pif.json.
2023-11-21 15:04:33 +02:00
2023-11-28 02:49:56 +02:00
You can't use values from recent devices due them triggering hardware backed attestation.
2023-11-16 15:35:24 +02:00
2023-11-28 02:49:56 +02:00
## Troubleshooting
2023-11-16 15:35:24 +02:00
2023-11-28 02:49:56 +02:00
### Failing BASIC verdict
2023-11-21 15:04:33 +02:00
2023-11-28 02:49:56 +02:00
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:
2023-11-21 15:04:33 +02:00
2023-11-28 02:49:56 +02:00
- Disable all modules except this one
2023-11-16 15:35:24 +02:00
2023-11-28 02:49:56 +02:00
Some modules which modify system can trigger DroidGuard detection, never hook GMS processes.
2023-11-21 22:38:36 +02:00
2023-11-28 02:49:56 +02:00
### Failing DEVICE verdict (on KernelSU)
2023-11-21 22:38:36 +02:00
- Disable ZygiskNext
- Reboot
- Enable ZygiskNext
2023-11-28 02:49:56 +02:00
### Play Protect/Store Certification and Google Wallet Tap To Pay Setup Security Requirements
2023-11-21 22:38:36 +02:00
2023-11-28 02:49:56 +02:00
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
2023-11-21 22:38:36 +02:00
< details >
< summary > Guide< / summary >
![Google services cache ](./wallet-troubleshoot-1.jpg )
![Removing all data ](./wallet-troubleshoot-2.jpg )
< / details >
2023-11-28 02:49:56 +02:00
### Read module logs
2023-11-21 15:04:33 +02:00
2023-11-28 02:49:56 +02:00
You can read module logs using this command directly after boot:
2023-11-21 15:04:33 +02:00
2023-11-16 15:35:24 +02:00
```
adb shell "logcat | grep 'PIF'"
```
## Can this module pass MEETS_STRONG_INTEGRITY?
2023-11-21 15:04:33 +02:00
No.
2023-11-16 15:35:24 +02:00
2023-11-21 15:04:33 +02:00
## About Play Integrity, SafetyNet is deprecated
2023-11-16 15:35:24 +02:00
2023-11-21 15:04:33 +02:00
You can read more info
here: [click me ](https://xdaforums.com/t/info-play-integrity-api-replacement-for-safetynet.4479337/ )