[MODULE] Play Integrity Fork (PIFork)

Search This thread

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
19,478
50,981
Halifax
GT-i9250
Google Nexus 4
Play Integrity Fork (PIFork)

Play Integrity Fix (PIF), forked to be more futureproof and develop more methodically


General Information:

A Zygisk module to fix Play Integrity Android <13 verdicts, allowing custom Build fields and system props entries for advanced configuration. On Android 13+ ROMs it still helps to pass checks in Google Wallet and Google Messages RCS support.

I'm not going to duplicate too much information here, but I will introduce a few posts as part of the OPs, documenting current known working configurations or walkthroughs for initial setup that would be too difficult to maintain in the GitHub README, and hopefully making that information always easy to find and digest!

Please see (and read) the full Required Reading and Thread Rules sections below before posting, and if asking for help please post your full setup using PixelFlasher's PI Analysis Report feature.


My development work on my many projects comes out of my free time, so if you enjoy this project or 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. Thank you for your support!


Downloads:

Releases:

Latest CI Builds:
(GitHub account required)
(No account required)


Required Reading Before Posting:

PIF & TS FAQ:

This and TS thread OPs:

PIFork README:

Tricky Store or TEESimulator README:


Thread Rules:

This thread will be strictly moderated and any posts not following the rules may be removed!
- No posts asking about or duplicating anything covered in the Required Reading listed above.
- Don't quote an entire OP contents when replying/asking questions.
- People should always check both keybox and print before posting that one of them (or the module) has stopped working.
- Posts about non-PI app issues once PI is working are not allowed.
- No unnecessarily long repeat explanations when linking to a previous post will suffice, especially on technical topics/documentation.
- No heated arguing, or rehashing of grievances, kindly take it to PM.
- Posts promoting other Play Integrity Fix (PIF) forks are not allowed.


Source Code and Credits:



Archival Credit Links:

Forked from chiteroman's Play Integrity Fix (PIF):
(Archive.org backup since chiteroman removed it from GitHub)
(Former thread)
 
Last edited:

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
19,478
50,981
Halifax
GT-i9250
Google Nexus 4
Latest Working Solutions:

Useful Combinations:
  • Pixel Beta/Canary print passing <A13 PI STRONG in PIFork with an unrevoked keybox in a TS module. (Passes <A13 PI STRONG, A13+ PI STRONG, Wallet, RCS.)
  • Private print passing <A13 PI STRONG in PIFork with an unrevoked keybox in TrickyStore for Wallet also allows working RCS (if not banned for RCS), but since these prints' *.security_patch are >11 months old and required to match TrickyStore system= in security_patch.txt this can only achieve A13+ PI DEVICE. (Passes <A13 PI STRONG, A13+ PI DEVICE, Wallet, RCS.)
  • Private print passing <A13 PI STRONG in PIFork with an unrevoked keybox in TEESimulator for Wallet also allows working RCS (if not banned for RCS), and with TEESimulator system= matching *.security_patch or omitted for only GMS in security_patch.txt since >11 months old can still pass A13+ PI STRONG. (Passes <A13 PI STRONG, A13+ PI STRONG, Wallet, RCS.)
  • Private print passing <A13 PI DEVICE in PIFork for Wallet also allows working RCS (if not banned for RCS), and works with any keybox status in a TS module. (Passes <A13 PI DEVICE, A13+ PI per keybox/security_patch, Wallet, RCS.)

Known A13+ PI Strong Flaws:
  • Unexpired revoked/shadowbanned keybox in TS with spoofProvider=1 in PIFork, but without a private print also passing <A13 PI DEVICE in PIFork Wallet will not work. Patched Nov. 11/25.
  • spoofVendingFinger=[Pixel Beta/Canary FINGERPRINT value] in PIFork, but without a private print also passing <A13 PI DEVICE in PIFork Wallet will not work. Patched Nov. 21/25.

Known Issues From Recent PI Changes:
  • Starting Dec. 12/25, A13+ Devices on the Google Play System Update for November 2025 and later are no longer able to use spoofVendingSdk=1 to check the <A13 PI verdict, and attempts may have no effect (sdkVersion unchanged in the PI response) and/or instead result in only passing A13+ PI BASIC or an A13+ PI FAIL depending on device setup/conditions.

PI Monitored Properties:

When setting verboseLogs=100 in your custom.pif.prop the PIF logcat will show every Build field your ROM supports, as well as everything DroidGuard is checking in system properties on your ROM setup. The current list of checked properties I've seen of interest are as follows:
Code:
build.version.extensions.ad_services
build.version.extensions.b
build.version.extensions.c
build.version.extensions.r
build.version.extensions.s
build.version.extensions.t
build.version.extensions.u
build.version.extensions.v
init.svc.adbd
persist.graphics.egl
persist.sys.gameprops.enabled
persist.sys.knox.userinfo
persist.sys.oplus.region
persist.sys.pif
persist.sys.pihooks_DEBUG
persist.sys.pihooks_mainline_BRAND
persist.sys.pihooks_mainline_DEVICE
persist.sys.pihooks_mainline_FINGERPRINT
persist.sys.pihooks_mainline_MANUFACTURER
persist.sys.pihooks_mainline_MODEL
persist.sys.pihooks_mainline_PRODUCT
persist.sys.pihooks.disable.gms_key_attestation_block
persist.sys.pihooks.disable.gms_props
persist.sys.pihooks.first_api_level
persist.sys.pihooks.security_patch
persist.sys.pixelprops.all
persist.sys.pixelprops.games
persist.sys.pixelprops.gapps
persist.sys.pixelprops.gms
persist.sys.pixelprops.gphotos
persist.sys.pixelprops.pi
persist.sys.pp.gms
persist.sys.pp.photos
persist.sys.pp.tensor
persist.sys.timezone
persist.sys.usb.config
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.release_type
ro.build.stock_fingerprint
ro.build.type
ro.build.version.oplus.api
ro.build.version.oplus.sub_api
ro.build.version.oplusrom
ro.build.version.oplusrom.confidential
ro.build.version.ota
ro.build.version.sdk
ro.build.version.security_patch
ro.config.tima
ro.config.timaversion
ro.debuggable
ro.gfx.driver.0
ro.gfx.driver.1
ro.hardware.egl
ro.oplus.image.my_stock.type
ro.product.device
ro.product.first_api_level
ro.product.mod_device
ro.product.vndk.version
ro.secure
ro.separate.soft
ro.superior.device
ro.treble.enabled
ro.vendor.api_level
ro.vendor.build.version.sdk
ro.vendor.oplus.market.enname
ro.vendor.oplus.market.name
ro.vendor.oplus.regionmark
ro.version.confidential
ro.vndk.version
ro.zygote
sys.boot_completed
sys.eliteprops.games
sys.eliteprops.pif
sys.usb.config
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.prop, but just be aware that more could at some point and this is how you can check them.
 
Last edited:

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
19,478
50,981
Halifax
GT-i9250
Google Nexus 4
PI Verdicts:

Notes: These are with TS and PIFork default/recommended settings. Other combinations are possible with altered TS target.txt and security_patch.txt where com.google.android.gms is <A13 PI and com.android.vending is A13+ PI, and using PIFork Advanced Settings. The PI internal CRLs and Shadowbanned/Soft-banned lists (<A13 PI and A13+ PI each have both) can also be out of sync with eachother and Google's public CRL, which then leads to varied results. TEE broken devices (teeBroken=true in tee_status in TS) may also have some differing results (generally FAIL instead of BASIC) in some cases.

Revoked Keybox + Strong Beta/Private Print Config (spoofProvider=0):
<A13 PI BASIC / A13+ PI FAIL / KA REVOKED
basic.pngfail.pngrevoked.png

AOSP Keybox + Strong Beta/Private Print Config (spoofProvider=0):
<A13 PI BASIC / A13+ PI FAIL / KA AOSP
basic.pngfail.pngaosp.png

Shadowbanned Keybox + Strong Beta/Private Print Config (spoofProvider=0):
<A13 PI DEVICE / A13+ PI DEVICE / KA HARDWARE
device.pngdevice.pngunrevoked.png

Unrevoked Keybox + Strong Beta/Private Print Config (spoofProvider=0) + ROM *.security_patch/os_patch_level >11 months old:
<A13 PI STRONG / A13+ PI DEVICE / KA HARDWARE
strong.pngdevice.pngunrevoked.png

Unrevoked Keybox + Strong Beta/Private Print Config (spoofProvider=0) + ROM *.security_patch/os_patch_level <12 months old:
<A13 PI STRONG / A13+ PI STRONG / KA HARDWARE
strong.pngstrong.pngunrevoked.png



Revoked Keybox + Device Private Print Config (spoofProvider=1):
<A13 PI DEVICE / A13+ PI FAIL / KA REVOKED
device.pngfail.pngrevoked.png

AOSP Keybox + Device Private Print Config (spoofProvider=1):
<A13 PI DEVICE / A13+ PI FAIL / KA AOSP
device.pngfail.pngaosp.png

Shadowbanned Keybox + Device Private Print Config (spoofProvider=1):
<A13 PI DEVICE / A13+ PI DEVICE / KA HARDWARE
device.pngdevice.pngunrevoked.png

Unrevoked Keybox + Device Private Print Config (spoofProvider=1) + ROM *.security_patch/os_patch_level >11 months old:
<A13 PI DEVICE / A13+ PI DEVICE / KA HARDWARE
device.pngdevice.pngunrevoked.png

Unrevoked Keybox + Device Private Print Config (spoofProvider=1) + ROM *.security_patch/os_patch_level <12 months old:
<A13 PI DEVICE / A13+ PI STRONG / KA HARDWARE
device.pngstrong.pngunrevoked.png



No Keybox or com.android.vending removed from TS target.txt:
A13+ PI BASIC
basic.png

Broken/Bad Private or Beta Print Config:
<A13 PI BASIC and/or A13+ PI BASIC (due to separate/different allowed print lists)
fail.png

Banned/Misconfigured Private or Expired Beta Print Config:
<A13 PI BASIC and/or A13+ PI BASIC (due to separate/different banned print lists)
basic.png

Sideloaded PI API Checker app (to fix, reinstall from Play Store):
<A13 PI DEVICE with BASIC FAIL and/or A13+ PI DEVICE with BASIC FAIL
pi_broken.png
 
Last edited:

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
19,478
50,981
Halifax
GT-i9250
Google Nexus 4
Important Links:

Information:

Scripts:

Tools:
 
Last edited:

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
19,478
50,981
Halifax
GT-i9250
Google Nexus 4

simplepinoi177

Forum Moderator
Staff member
Only took a couple months of developing it in secrecy! 😅:p
Thank you (!!!) for doing all of the work to create this thread!
Finally 😄
Thanks a ton!
HERE HERE!

Nice, about time we got a new thread.
And with an SRD that is more active, present, and hopefully/probably with more scrutiny on the goings on in this/his-own thread
 

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
19,478
50,981
Halifax
GT-i9250
Google Nexus 4
Excellent decision! It will be much less cluttered now 👏

Actually I stopped working on this long time ago, when you came up with Pix Beta prints :sneaky: but... if anyone feels it's still useful, I may reconsider
As shown in the working combos in the OP, the private prints still very much have their place if people are willing to put in the work, so I think anything that facilitates bulk processing and testing of them is still of use. PixelFlasher and @zgfg's linked script from that same post can certainly be the main methods though if you like; I'll mark yours as Discontinued for now. 🙂
 

flyoffacliff

Senior Member
Jun 4, 2014
242
117
Thank you, it's great to see all the information finally in one place like this.

I started building a wiki site for all the play integrity stuff last year, but I never finished it. It was taking so much time and I got discouraged thinking no one would use it.

I don't use this anymore but I still like to pop in every few months to see how things are going, and every time it seems more complicated with new tools, settings, and exceptions to the rules. This is a big step forward.

I saw the rules said no discussion of related projects and forks. I just like to see what else is out there and the pros and cons. Is there a better thread for that?
 
  • Like
Reactions: osm0sis

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
19,478
50,981
Halifax
GT-i9250
Google Nexus 4
To be clear it says no promotion of other PIF forks, not that they can't be discussed at all; this allows for "cool fix X got added to fork Y, are you considering the same?" or "fork W did feature X like Y instead of yours' Z, how come?" type open, good faith conversation. 😉
 

aorifan

Senior Member
Oct 17, 2010
388
35
Amazing test combos! Great job, man.
However, even though you've tried so many combinations, mine is not in them.

fail-png.6287912

unrevoked-png.6287909
 

Vagelis1608

Forum Moderator / Recognized Dev / Hacker Hunter
Staff member
Sep 16, 2012
4,614
6,644
Athens
LG G2 Mini
Xiaomi Redmi Note 4
It's probably your FP
Use the Action button in PIFork to pull a new one.
If that doesn't fix it, try setting spoofVendingFinger=1 as well
 

aorifan

Senior Member
Oct 17, 2010
388
35
It's probably your FP
Use the Action button in PIFork to pull a new one.
If that doesn't fix it, try setting spoofVendingFinger=1 as well
Thanks for the heads up. I think I forgot to spoof the TB/PIA Checker app in TS, so the security patch dates do not match. That explains why the apps are all working, but not the checker apps, for they are not on the list.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 28
    Here's a quick turnaround release out of necessity, after a nice 5 and a half months of stability; PIFork v17 for Android 17, which seems kinda right! I've gotta say, I love how PIFork really feels like a community effort, so thanks to all who helped investigate the Android 17 reflection changes and especially @pershoot for the amazing job quickly working out a fix!

    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!


    Play Integrity Fork v17:
    - support compacting prop area on root solutions that include it for better modification hiding
    - improve autopif4 to check both Pixel Beta OTA and Factory Image device lists and use the longer
    - fix Build field spoofing on Android 17 (thanks @pershoot)

    Happy hacking!
    21
    15
    PSA: Please note while PIFork CI #558 and above (thanks to @pershoot) fixes spoofBuild on Android 17, it also unfortunately breaks (or at least doesn't fix) spoofVendingSdk and spoofVendingFinger. I don't recommend updating PIFork to latest CI unless you're on Android 17 already and need it. Investigations ongoing. (y)

    14
    thanks for the quick fix for android 17 your a true hero of the community
    Not me! Thank our true hero @pershoot for the fix! 😍


    Reviewing to merge now.
  • 49
    Play Integrity Fork (PIFork)

    Play Integrity Fix (PIF), forked to be more futureproof and develop more methodically


    General Information:

    A Zygisk module to fix Play Integrity Android <13 verdicts, allowing custom Build fields and system props entries for advanced configuration. On Android 13+ ROMs it still helps to pass checks in Google Wallet and Google Messages RCS support.

    I'm not going to duplicate too much information here, but I will introduce a few posts as part of the OPs, documenting current known working configurations or walkthroughs for initial setup that would be too difficult to maintain in the GitHub README, and hopefully making that information always easy to find and digest!

    Please see (and read) the full Required Reading and Thread Rules sections below before posting, and if asking for help please post your full setup using PixelFlasher's PI Analysis Report feature.


    My development work on my many projects comes out of my free time, so if you enjoy this project or 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. Thank you for your support!


    Downloads:

    Releases:

    Latest CI Builds:
    (GitHub account required)
    (No account required)


    Required Reading Before Posting:

    PIF & TS FAQ:

    This and TS thread OPs:

    PIFork README:

    Tricky Store or TEESimulator README:


    Thread Rules:

    This thread will be strictly moderated and any posts not following the rules may be removed!
    - No posts asking about or duplicating anything covered in the Required Reading listed above.
    - Don't quote an entire OP contents when replying/asking questions.
    - People should always check both keybox and print before posting that one of them (or the module) has stopped working.
    - Posts about non-PI app issues once PI is working are not allowed.
    - No unnecessarily long repeat explanations when linking to a previous post will suffice, especially on technical topics/documentation.
    - No heated arguing, or rehashing of grievances, kindly take it to PM.
    - Posts promoting other Play Integrity Fix (PIF) forks are not allowed.


    Source Code and Credits:



    Archival Credit Links:

    Forked from chiteroman's Play Integrity Fix (PIF):
    (Archive.org backup since chiteroman removed it from GitHub)
    (Former thread)
    33
    PI Verdicts:

    Notes: These are with TS and PIFork default/recommended settings. Other combinations are possible with altered TS target.txt and security_patch.txt where com.google.android.gms is <A13 PI and com.android.vending is A13+ PI, and using PIFork Advanced Settings. The PI internal CRLs and Shadowbanned/Soft-banned lists (<A13 PI and A13+ PI each have both) can also be out of sync with eachother and Google's public CRL, which then leads to varied results. TEE broken devices (teeBroken=true in tee_status in TS) may also have some differing results (generally FAIL instead of BASIC) in some cases.

    Revoked Keybox + Strong Beta/Private Print Config (spoofProvider=0):
    <A13 PI BASIC / A13+ PI FAIL / KA REVOKED
    basic.pngfail.pngrevoked.png

    AOSP Keybox + Strong Beta/Private Print Config (spoofProvider=0):
    <A13 PI BASIC / A13+ PI FAIL / KA AOSP
    basic.pngfail.pngaosp.png

    Shadowbanned Keybox + Strong Beta/Private Print Config (spoofProvider=0):
    <A13 PI DEVICE / A13+ PI DEVICE / KA HARDWARE
    device.pngdevice.pngunrevoked.png

    Unrevoked Keybox + Strong Beta/Private Print Config (spoofProvider=0) + ROM *.security_patch/os_patch_level >11 months old:
    <A13 PI STRONG / A13+ PI DEVICE / KA HARDWARE
    strong.pngdevice.pngunrevoked.png

    Unrevoked Keybox + Strong Beta/Private Print Config (spoofProvider=0) + ROM *.security_patch/os_patch_level <12 months old:
    <A13 PI STRONG / A13+ PI STRONG / KA HARDWARE
    strong.pngstrong.pngunrevoked.png



    Revoked Keybox + Device Private Print Config (spoofProvider=1):
    <A13 PI DEVICE / A13+ PI FAIL / KA REVOKED
    device.pngfail.pngrevoked.png

    AOSP Keybox + Device Private Print Config (spoofProvider=1):
    <A13 PI DEVICE / A13+ PI FAIL / KA AOSP
    device.pngfail.pngaosp.png

    Shadowbanned Keybox + Device Private Print Config (spoofProvider=1):
    <A13 PI DEVICE / A13+ PI DEVICE / KA HARDWARE
    device.pngdevice.pngunrevoked.png

    Unrevoked Keybox + Device Private Print Config (spoofProvider=1) + ROM *.security_patch/os_patch_level >11 months old:
    <A13 PI DEVICE / A13+ PI DEVICE / KA HARDWARE
    device.pngdevice.pngunrevoked.png

    Unrevoked Keybox + Device Private Print Config (spoofProvider=1) + ROM *.security_patch/os_patch_level <12 months old:
    <A13 PI DEVICE / A13+ PI STRONG / KA HARDWARE
    device.pngstrong.pngunrevoked.png



    No Keybox or com.android.vending removed from TS target.txt:
    A13+ PI BASIC
    basic.png

    Broken/Bad Private or Beta Print Config:
    <A13 PI BASIC and/or A13+ PI BASIC (due to separate/different allowed print lists)
    fail.png

    Banned/Misconfigured Private or Expired Beta Print Config:
    <A13 PI BASIC and/or A13+ PI BASIC (due to separate/different banned print lists)
    basic.png

    Sideloaded PI API Checker app (to fix, reinstall from Play Store):
    <A13 PI DEVICE with BASIC FAIL and/or A13+ PI DEVICE with BASIC FAIL
    pi_broken.png
    32
    Happy holidays to all!

    Let's make this another quick one. You'll notice the autopif versioning has jumped a bit; I realized that the version should have been increasing with each change of print generation method, so autopif was the Xiaomi.eu print extractor, autopif2 was the Android Developers QPR Beta GSI page build info extractor, autopif3 should have been since I rewrote it for Android Developers QPR Pixel Beta Full OTA zip metadata extraction, and now thanks to some great investigation work by @hsmith1514 to retrieve build info and idea from @TheFreeman193 to determine the release date, I've rewritten it again as autopif4 to utilize the Android Flash Tool API for Pixel Canary build info extraction, which should be a lot more resilient to breakage from the Android Developers' seemingly manual errors when updating their pages (seen a lot recently), among other benefits!

    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!


    Play Integrity Fork v16:
    - add opt-out props/detection for latest PixelPropsUtils version
    - correct autopif2 version to autopif3 for Pixel Beta zip metadata method
    - improve autopif3 with preliminary TEESimulator security_patch.txt format support
    - add support for Magisk's file/directory whiteout implementation
    - update to autopif4 to generate prints using monthly Pixel Canary build info (thanks @hsmith1514 and @TheFreeman193)
    Hotfix v16(164000):
    - work around busybox grep bug breaking autopif4 build info parsing on ROMs with broken toybox grep
    - work around busybox wget bug breaking autopif4 release date parsing intermittently on arm/x86 (32-bit) devices
    - improve autopif4 TEESimulator support by retaining all=device_default if set
    - fix potential bad autopif4 device/model lists from manual Pixel QPR page updates
    - work around AdGuard modifying HTTP headers breaking autopif4 release date parsing
    - work around missing autopif4 security patch level when Pixel monthly stable OTA is later than monthly Canary

    PI known monitored properties list has been moved to the thread OPs:

    Happy hacking!
    30
    Important Links:

    Information:

    Scripts:

    Tools:
    30
    Let's welcome PIFork v15 as the first release in the new home of PIFork!

    One of the most notable updates has to be the change of the default config file format from json to prop. json format has been a configuration frustration/annoyance/barrier for the end user since chiteroman first implemented it, so it's time to finally undo that. json is used still internally because it's a great way to pass data around via JNI, but I don't think it ever should have been given to the end user to struggle with trailing commas, paired quotes and curly brackets and wonder why their print doesn't work. prop is dead easy. Where json is used internally I decided it would still be relatively easy to support both formats in PIFork long term; no function loss, only gain. My fork is the only one that supports both prop and json formats. Also be aware that I have built upon the normal prop format to allow trailing line comments using spaces and # so things can be 1:1 with what was possible with json.

    Another overdue course correction is that the default example.app_replace.list and custom.app_replace.list files are now renamed to app_replace_list.txt and custom.app_replace_list.txt, respectively. This was done to be more intuitive/less confusing, to properly denote them as editable txt files, and signify it is not just an example but contains active defaults. If you are perhaps the only person in the world who has customized your file, please rename it to the new naming prior to updating.

    Nearly all existing documentation I've ever made for PIF/PIFork has been updated and improved, so I'm not going to duplicate too much in the release post this time out and would just encourage everyone to have a fresh read through, especially this new thread's OPs, all the updated/new FAQs, the README, and the private print hunting guide.

    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!


    Play Integrity Fork v15:
    - improve autopif2 to support latest Pixel Beta page changes (removes -p and --preview) and allow forcing manual top level version depth (use -t or --top)
    - fix various PIF module detections (thanks simonpunk)
    - add experimental spoofVendingFinger feature (thanks @geekboy38)
    - fix print migration check on clean installs
    - improve Dobby detection fix (thanks 5ec1cff)
    - update Action and autopif2 to only force Strong setup when no config file exists (or using -s or --strong)
    - update autopif2 to always create/update Tricky Store security_patch.txt
    - add prop config format support and make it default
    - improve Action button behavior for WKSU (Wild Kernels KSU Manager fork)
    - rename example.app_replace.list to app_replace_list.txt to be more intuitive
    - add optional skipping persist prop changes to avoid meme detections if skippersistprop file exists
    - fix autopif2 potential Pixel device false positive matches
    - improve autopif2 to prefer using curl if present (thanks AbdennasserBentaleb)

    PI known monitored properties list has been moved to the thread OPs:

    Happy hacking!