[Android Software/Hacking General [Developers Only]] osm0sis:
PIFork hasn't needed an update in a good long while, and I think that's a testament to my proper development practices with it. That said, here's a minor update to PIFork v8 with some nice quality of life changes and improvements! I've also put a lot of work into properly documenting everything, so please check out all the new links and information in the README, and be aware of the new Known Banned Kernel List.

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 for best results have SECURITY_PATCH and FIRST_API_LEVEL present and correctly filled beforehand. 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 v8:

- rename VERBOSE_LOGS to verboseLogs to better differentiate an Advanced Settings entry from a Build Fields entry (uppercase with _) or a System Properties entry (lowercase with _ and . and/or *)

- improve replace list to also allow file paths replacing/hiding systemlessly

- improve migration script and add optional Advanced Settings verboseLogs entry to output

- improve replace list to automatically comment out any overlay APK config.xml entries systemlessly

- update default/example app replace list for more ROM spoof injection methods

- fix retaining disabled ROM apps through module updates in some scenarios

Note the example.app_replace.list currently covers the Xiaomi.eu, EliteRoms, hentaiOS, Evolution X and PixelOS spoof injection apps but it 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 "verboseLogs": "100" in your json you will 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.knox.userinfo
persist.sys.pif
persist.sys.pixelprops.games
ro.board.api_level
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.config.tima
ro.config.timaversion
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: