Fix Play Integrity (and SafetyNet) verdicts.
Go to file
osm0sis 875cf42f4c
Module scripts fixes/improvements
- add back check_resetprop but rename functions to make their use more clear (thanks HuskyDG)
- combine system.prop (runs at post-fs-data) entries into service.sh so that they're only set if needed (note that they therefore wouldn't need to be late props)
- use a uniform style in all scripts (only necessary quoting and brackets, add trailing newlines, spaces not tabs :P)
- remove GMS data pif.prop/pif.json files left over from previous releases to ensure they don't trigger detection at some point (these lines can be removed again in a later release once we're satisfied everyone affected has this resolved)
2023-11-29 00:14:58 -04:00
app Stable version v13.8 2023-11-27 19:07:34 +01:00
gradle/wrapper v13.1 2023-11-20 00:42:21 +01:00
module Module scripts fixes/improvements 2023-11-29 00:14:58 -04: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 README fixes/improvements 2023-11-27 21:05:02 -04: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 fixes "ctsProfileMatch" (SafetyNet) and "MEETS_DEVICE_INTEGRITY" (Play Integrity).

To use this module you must have one of the following:

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

The purpose of the module is to avoid a hardware attestation.

Troubleshooting

Failing BASIC verdict

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:

  • Disable all modules except this one

Some modules which modify system can trigger DroidGuard detection, never hook GMS processes.

Failing DEVICE verdict (on KernelSU)

  • Disable ZygiskNext
  • Reboot
  • Enable ZygiskNext

Play Protect/Store Certification and Google Wallet Tap To Pay Setup Security Requirements

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
Guide

Google services cache Removing all data

Read module logs

You can read module logs using this command directly after boot:

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