Fix Play Integrity (and SafetyNet) verdicts.
Go to file
Qnorsten 19111851fe Properly handle non and nulled defined FIRST_API_LEVEL and SECURITY_PATCH
This commit change how the module handle when SECURITY_PATCH and FIRST_API_LEVEL is either
* Undefined/Missing from pif.json
* Defined as null in pif.json
* Defined as "" in pif.json

It will pass on the value from the current device unless the device have a FIRST_API_LEVEL > 32 in that case it will pass on 32

If
2023-11-27 22:15:09 +01:00
.idea New version for custom spoof! 2023-11-27 17:25:34 +01:00
app Properly handle non and nulled defined FIRST_API_LEVEL and SECURITY_PATCH 2023-11-27 22:15:09 +01:00
gradle/wrapper v13.1 2023-11-20 00:42:21 +01:00
module New version for custom spoof! 2023-11-27 17:25:34 +01:00
.gitignore Added auto module zip! 2023-11-27 12:37:26 +01:00
.gitmodules PROPS-v1.2 2023-11-26 10:51:22 +01:00
build.gradle.kts Add SECURITY_PATCH and fix null props 2023-11-21 14:04:33 +01:00
changelog.md New update! v13.8 2023-11-27 14:18:58 +01:00
COPYING Add license 2023-11-21 14:56:29 +01:00
gradle.properties v13.1 2023-11-20 00:42:21 +01:00
gradlew v13.1 2023-11-20 00:42:21 +01:00
gradlew.bat v13.1 2023-11-20 00:42:21 +01:00
README.md Update README.md more specifically for Google Play Services 2023-11-26 16:44:25 +02:00
settings.gradle.kts v13.1 2023-11-20 00:42:21 +01:00
update.json New update! v13.8 2023-11-27 14:18:58 +01:00
wallet-troubleshoot-1.jpg Added troubleshooting section to readme 2023-11-21 20:38:36 +00:00
wallet-troubleshoot-2.jpg Added troubleshooting section to readme 2023-11-21 20:38:36 +00:00

Play Integrity Fix

A Zygisk module which fix "ctsProfileMatch" (SafetyNet) and "MEETS_DEVICE_INTEGRITY" (Play Integrity).

To use this module you must have one of this:

  • Magisk with Zygisk enabled.
  • KernelSU with ZygiskNext module installed.

Download the latest here.

Telegram group

https://t.me/playintegrityfix

Donations

Official posts

About module

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. The purpose of the module is to avoid a hardware attestation.

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'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.
  • 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

Follow this steps:

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

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
Guide

Google services cache Removing all data

Read module logs

You can read module logs using this command:

adb shell "logcat | grep 'PIF'"

Can this module pass MEETS_STRONG_INTEGRITY?

No.

About Play Integrity, SafetyNet is deprecated

You can read more info here: click me