PlayIntegrityFix/README.md

93 lines
2.5 KiB
Markdown
Raw Normal View History

2023-11-16 15:35:24 +02:00
# Play Integrity Fix
2023-11-21 15:04:33 +02:00
A Zygisk module which fix "ctsProfileMatch" (SafetyNet) and "MEETS_DEVICE_INTEGRITY" (Play
Integrity).
2023-11-16 15:35:24 +02:00
To use this module you must have one of this:
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
It injects a classes.dex file to modify few fields in android.os.Build class. Also, in native code
it creates a hook to modify system properties.
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-25 18:31:37 +02:00
## About 'pif.json' file
2023-11-21 15:34:33 +02:00
You can modify this file to spoof android.os.Build fields in GMS unstable process and try to pass Device verdict.
You can't use values from recent devices due this devices must use a hardware attestation.
2023-11-16 15:35:24 +02:00
## Failing BASIC verdict
2023-11-21 15:04:33 +02:00
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:
2023-11-16 15:35:24 +02:00
- Disable all modules except mine.
- Check your SELinux (must be enforced).
Some modules which modify system can trigger DroidGuard detection, never hook GMS processes.
## Certify Play Store and fix Google Wallet
2023-11-21 15:04:33 +02:00
2023-11-16 15:35:24 +02:00
Follow this steps:
2023-11-21 15:04:33 +02:00
2023-11-20 18:34:37 +02:00
- Flash my module in Magisk/KernelSU (if you already have my module, just ignore this step).
- Clear Google Wallet cache (if you have it).
- Clear Google Play Store cache and data.
2023-11-21 23:52:40 +02:00
- Clear GMS (com.google.android.gms) cache and data (or just reboot without clear and waiting some time).
2023-11-16 15:35:24 +02:00
2023-11-20 18:34:37 +02:00
Reboot and done!
2023-11-16 15:35:24 +02:00
## Troubleshooting
### Fails to meet device integrity (KernelSU)
- Disable ZygiskNext
- Reboot
- Enable ZygiskNext
### Passes device integrity, but fails in Wallet (even after clearing cache)
- Remove all data from Google Play Services
<details>
<summary>Guide</summary>
![Google services cache](./wallet-troubleshoot-1.jpg)
![Removing all data](./wallet-troubleshoot-2.jpg)
</details>
2023-11-16 15:35:24 +02:00
## Read module logs
2023-11-21 15:04:33 +02:00
2023-11-16 15:35:24 +02:00
You can read module logs using this command:
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/)