[Android Software/Hacking General [Developers Only]] osm0sis:
PIFork v6 is out, with some general code improvements, some hiding improvements, and some logging improvements! Improvements! It also fixes the long-standing Android 14 QPR2 (due for stable in March) incompatibility, which was due to broken ShadowHook libc hooking needed for property spoofing. I've switched to Dobby since there are currently no signs of life over at ShadowHook to resolve this despite my reporting it to them over a month ago. Thanks to @TheFreeman193 for the expert help in performance testing various parts of the code for this release, and @arda99 as always for pointing me in the right direction for various fixes! :D

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. (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 v6:

- improve migration script to be more portable, e.g. for desktop use

- add custom function to hack global props without increasing the change counter

- add missing Xiaomi, Realme and SELinux global props

- add customizable example.app_replace.list file to replace conflicting custom ROM apps

- improve VERBOSE_LOGS to be any json entry, and dump full Build fields at 100

- change DroidGuard prop spoof hooking method to Dobby for now

Note the new 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 (Pull Requests welcome!): 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
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.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, but just be aware that more could at some point and this is how you can check them. 🤘

Known Issues:

- https://xdaforums.com/t/tools-zips-...ices-platforms.2239421/page-184#post-89283790

Happy hacking! :cowboy: