[Android Software/Hacking General [Developers Only]] osm0sis:
Now that APatch has a new release out fixing their outdated resetprop, PIFork v7 is now also out and resolves every known bug and incompatibility! I've done everything I initially set out to do (and then some) on the fork, so I'm hoping this will be the last one for awhile because it'll just continue to work and be extensible!

To switch from chiteroman's module, simply move your pif.json to /data/adb/modules/playintegrityfix/custom.pif.json then flash my module zip. You'll see it detect the custom.pif.json during the flash, retain it through the upgrade, and migrate it to the new format. Make sure you're following normal json format with a single entry of quoted key and value per line, and make sure your FIRST_API_LEVEL is present and correctly filled beforehand for best results. Back up your newly upgraded custom.pif.json afterward! (y)

I work on these projects in my limited time off, so if you like the progress I'm making, or enjoy anything else I've done on xda, please consider sponsoring my ongoing work using my GitHub Sponsors profile. For a one-time donation you can hit the donate link from my profile. Thanks for your support!

GitHub - osm0sis/PlayIntegrityFork: Fix Play Integrity (and SafetyNet) verdicts, allowing custom fields and props

Fix Play Integrity (and SafetyNet) verdicts, allowing custom fields and props - osm0sis/PlayIntegrityFork

github.com

Play Integrity Fork v7:

- fix non-/system ROM spoof injection app replacement

- add missing XiaomiEUInject-Stub to the default/example replace list

- improve code, scripts and logging

- fix ROM spoof injection app replacement when using KernelSU and APatch

- spoof init.svc.adbd to DroidGuard by default to further hide USB Debugging

- improve hiding from detection by user apps

Note the example.app_replace.list currently covers the Xiaomi.eu and EliteRoms spoof injection apps, but is extremely easy to extend to any others that may pop up: https://raw.githubusercontent.com/osm0sis/PlayIntegrityFork/main/module/example.app_replace.list

When setting "VERBOSE_LOGS": "100" in your json you will now see every Build field your ROM supports as well as everything DroidGuard is checking in system properties. The current list of checked properties I've seen of interest are as follows:

build.version.extensions.ad_services
build.version.extensions.r
build.version.extensions.s
build.version.extensions.t
build.version.extensions.u
init.svc.adbd
persist.graphics.egl
persist.sys.pixelprops.games
ro.board.first_api_level
ro.boot.flash.locked
ro.boot.hardware.revision
ro.boot.vbmeta.digest
ro.boot.vbmeta.device_state
ro.boot.verifiedbootstate
ro.build.characteristics
ro.build.id
ro.build.version.sdk
ro.build.version.security_patch
ro.debuggable
ro.gfx.driver.1
ro.hardware.egl
ro.product.first_api_level
ro.product.vndk.version
ro.secure
ro.superior.device
ro.vendor.api_level
ro.vendor.build.version.sdk
ro.vndk.version
ro.zygote
sys.usb.state

Of course a lot of the list doesn't seem to be currently enforced, and the ones that are we handle globally or in the custom.pif.json, but just be aware that more could at some point and this is how you can check them. 🤘

Happy hacking! :cowboy: