yashsingh1/xdaforums huggingface dataset:
[Magisk] V0latyle:
[MODULE] [DATA] Custom PIF.JSON files collection for Play Integrity Fix

A collection of pif.json profiles for the Play Integrity Fix module by @chiteroman or the fork by @osm0sis. TheFreeman193/PIFS on GitHub Detailed instructions are on the repository homepage but you can either copy a file manually or run the...

xdaforums.com

🔧 [MODULE] Play Integrity Fix (SafetyNet fix)

PLAY INTEGRITY FIX This module tries to fix Play Integrity and SafetyNet verdicts to get a valid attestation. BEFORE YOU START: - Your ROM must be signed with a private key from maintainer, you can check with this command: unzip -l...

xdaforums.com
[Magisk] SteweEliteModder:
An android app to use directly from mobile i was meaning... or might could be integrated the custom PIF downloader that i've used directly into the play integrity fix to use through terminal emulator
[Magisk] V0latyle:
You could write one...

I wouldn't be surprised if someone ends up developing something of the sort but at this point a lot of stuff is already being handed to you.

@osm0sis wrote this guide on how to find props and use his script to build a custom print:

🔧 [MODULE] Play Integrity Fix (SafetyNet fix)

PLAY INTEGRITY FIX This module tries to fix Play Integrity and SafetyNet verdicts to get a valid attestation. BEFORE YOU START: - Your ROM must be signed with a private key from maintainer, you can check with this command: unzip -l...

xdaforums.com

@simplepinoi177 wrote a somewhat more noob friendly guide:

How to search & find your own fingerprints [noob friendly]: A Comprehensive Guide w/ tips & Discussion for Complete Noobs (from one)

It seems Google has banned more than 95% of custom fingerprints, so this thread/guide has kind been laid to the wayside. But it's still a great resource to understanding the foundations of fingerprints and all that... This is for any/all utterly...

xdaforums.com

@TheFreeman193 made his collection of prints available and even wrote a script that will automatically pick one for you, which is what I linked above

[MODULE] [DATA] Custom PIF.JSON files collection for Play Integrity Fix

A collection of pif.json profiles for the Play Integrity Fix module by @chiteroman or the fork by @osm0sis. TheFreeman193/PIFS on GitHub Detailed instructions are on the repository homepage but you can either copy a file manually or run the...

xdaforums.com

@badabing2003 integrated both of these into Pixel Flasher so not only can it process build.props to generate a PIF, it'll pick one from the PIFS collection

🔧 [MODULE] Play Integrity Fix (SafetyNet fix)

PLAY INTEGRITY FIX This module tries to fix Play Integrity and SafetyNet verdicts to get a valid attestation. BEFORE YOU START: - Your ROM must be signed with a private key from maintainer, you can check with this command: unzip -l...

xdaforums.com

Edit: and the developer of Play Integrity Next created an app that will download a print from PIFS:

PlayIntegrityNEXT/PIFS downloader at main · daboynb/PlayIntegrityNEXT

Contribute to daboynb/PlayIntegrityNEXT development by creating an account on GitHub.

github.com

So while I understand wanting something that's more convenient, you're already getting a lot of other people's time and effort for free, and it's not particularly good form to ask for more.
[Magisk] matfcb:
I passed both basic and device on 15.2. Probably the fingerprint downloaded on Play Integrity Next still works. Or does PIF 15.2 download fingerprints?
[Magisk] simplepinoi177:
Play Integrity Next pulls from working fingerprint from xiaomi.eu custom ROM -- the way PIF did from like 14.2-14.6 before chiteroman decided to stop (since there were many multiple methods already existing and/or so it wouldn't be necessary to update the module each and every time it gets banned -- on top of simply just how much better it is for you and all the community to not be using the same fingerprint)....

So this isn't surprising....

and no, 15.2 doesn't download fingerprints....in the github release page it states "fingerprint is not included"
[Magisk] matfcb:
Does this Gms.apk from Play Integrity Next works if I have Play Integrity Fix? Will it download fingerprint for me in the future or I must have installed Play Integrity Next?
[Magisk] zgfg:
There was another PIF fork (PIF Next?) that used the same prints as Xiaomi.eu (custom ROM). Hence whenever G banned those prints from Xiaomi.eu, Xiaomi.eu updated their spoofed prints and pushed to their users

That module (its backend part on the GitHub) grabbed the new prints from Xiaomi.eu server and pushed the notification for the new prints to the module's users

----

But generally - be aware that if there was an too easy method to update the prints (json file), then more users will use the same prints and the turnover from G to ban them will come faster. That was the reason to remove prints from the original PIF module and to let users to diversify, to let everybody find and use his/her own

I have hundreds of them that I mined a month ago, here and there I switch from one to another.and all of them still work with no problem

Btw, some of them are not even from the phones or tablets but the other kind of Android devices. Hence I'm pretty sure that those prints are not widely used here and they should last until G would generally fix the broken parts in PI architecture, thus making it further impossible to spoof the prints and to avoid the proper Strong attestation

So don't be lazy, start mining (it's never too late, the late is only never to start) for your own prints. Don't start from Asus or ZTE ROMs but from somewhere in the middle
[Magisk] V0latyle:
PI Next includes a fingerprint downloader

View attachment 6057486

I don't know what the gms.apk is for

The GMS app downloads a new print if you're failing Play Integrity, but I think it only works with PlFix or PINext because it downloads the print to /data/adb/pif.json, whereas PIFork uses /data/adb/modules/playintegrityfix/custom.pif.json; however, PIFork upon installation will migrate the print to the proper location when installed

I would actually recommend using the pifs downloader as it downloads a random PIF from @TheFreeman193's repo (@SteweEliteModder is this what you wanted?)

Using a random print is ALWAYS going to be better than sharing one

@osm0sis what happens if you already have PIFork installed and a new print gets downloaded to /data/adb/pif.json? will the module migrate it on reboot? or would the user need to manually copy to /data/adb/modules/playintegrityfix/custom.pif.json?
[Magisk] _Johnito_:
Thank you so, so much. Been able to build (and even generate) several working fingerprints after reading this. I feel more capable to handle myself now, and that is the way.
[Magisk] zgfg:
PI Fork reads from its own path/name, not from the PI Fix (supposedly also PI Next) path. You'll have to move from one path to another and to apply the migration script to adapt to the Fork's differences in the json format
[Magisk] SteweEliteModder:
Exactly what i was searching for 👍 i'll test it soon 🤓
[Magisk] xSnowLeopardx:
Dec 2 FP still working well with v14.4.
[Magisk] ArzZenic:
Same here, 5th Dec with osm0sis's PIFork v3
[Magisk] miho171:
One month ago I made a little search with TheFreeman193 system to randomly pick and try the fp, ending to collect 12 of it that meet device int (as of now all still good). A simple terminal command can replace the old -no more valid- fp with another one stored in a specific folder (tested and saved before), then su -c killall -v com.google.android.gms.unstable to apply it immediately.
[Magisk] xcl1pse:
2 months and still counting 😀
[Magisk] simplepinoi177:
Mine was found on Dec 8. -- I can tell because I extracted mine from a ROM firmware image; so the creation date is still there.
[Magisk] Bad Bimr:
For us NOOBS that don't understand 100% how all this works. Is there a guide or how to get this working again. I know I must search and find a finger print but I have no idea what I am looking for and what to do with it. If one cannot post here please PM me some help.

Thanks in advance.
[Magisk] osm0sis:
Did you read anything before posting this? All the resources are on this very page of posts. The very first post on this page. 🫤🤦‍♂️
[Magisk] Flr Power:
Since updating to PIF 15.2, my basic and device integrity can pass and fail within seconds between testing with TB checker. I noticed something was different when wallet stopped working this morning. I have reverted back to 15.1 and it's all good. Happening with my Xiaomi vayu.
[Magisk] V0latyle:
Maybe time to switch to osm0sis fork...
[Magisk] Flr Power:
Yeah I came close to do it but I stayed with the original developer until...😔🤣
[Magisk] shoey63:
From https://github.com/TheFreeman193/PIFS

Run it everytime you want to change to another working print in your /data/adb/pifs/confirmed/ collection.
[Magisk] chaoscreater:
This is happening to me as well, except I didn't update, it just broke all of a sudden today. I was on 15.1 and my McDonalds app worked fine last week. Now, I can't get it to work, it keeps detecting root on my phone.

I've tried a couple of things, such as using the latest PlayIntegrity Next and got what I think is a working PIF.json. The problem is that I get "Meet_Device_Integrity" only sometimes, not all the time. I've tried multiple PIFs already, same issue. My Play Protect certification shows Device is certified, so it should be working correctly. But McDonalds app still thinks device is rooted. I've also tried using chiteroman's PlayIntegrityFix latest module, same issue. Also tried osm0sis's fork v6 and same thing. The tests keeps fluctuating between failing and passing device integrity.

I'm on Kitsune Mask canary build 26404. Not using shamiko.

Have cleared Google Play, Google Play Services and Google Services Framework already as well, multiple times.

Any ideas what I'm doing wrong? Any help would be much appreciated.
[Magisk] tom1807:
Didn't provide a new FP? The FP of v15.1 is banned and v15.2 doesn't include one.

Cheers

Tom
[Magisk] chaoscreater:
I did provide a new FP, I've mentioned that in my post. I've actually tried multiple FPs using the interactive script. If the PIF is invalid, then my Play Protect certification will fail. It's showing valid and it shows that it meets device integrity, but the issue is that it's not consistent. It goes from passing to failing.
[Magisk] osm0sis:
...I think there's a new regression from the latest full rewrite in 15.2 which my fork doesn't have... 🤔
[Magisk] V0latyle:
I was going to say, it sounds like there's some issues with Play Integrity Fix and Play Integrity Next that cause intermittent failures. People experiencing these problems should migrate to Play Integrity Fork. Normally I'd be averse to promoting someone else's work in a thread but bad code is bad code, and we all want our phones to work, right?
[Magisk] Flr Power:
But chaoscreator just said he has the same problem using osmosis v6 fork.
[Magisk] osm0sis:
Where did he say that? 🤔

Edit: Nevermind, I see it now.

@chaoscreater @Flr Power try my latest CI (#120)?

Workflow runs · osm0sis/PlayIntegrityFork

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

github.com

And if that doesn't work try #111 and see if it helps.

What ROMs are you both on?

A full su -c "logcat | grep 'PIF/' " directly after boot up using #120 and "VERBOSE_LOGS": "100" added to your migrated custom.pif.json should help figure it out if you want to PM it to me.
[Magisk] chiteroman:
This is the problem: https://github.com/chiteroman/PlayI...oman/playintegrityfix/CustomProvider.java#L18

I'm thinking in a new way to correctly spoof the props.
[Magisk] chaoscreater:
Got it working.

Turns out that it's really something to do with the xiaomi.eu ROM itself. Even though I disabled the xiaomi.eu injection module (as it conflicts with PlayIntegrity Fix modules), there's still something going on in the background it seems. When you flash the PlayIntegrity modules, they actually have a .replace file for the xiaomi.eu injection module and perhaps it's not working correctly.

Anyway, I found that there's actually a dedicated thread for the xiaomi.eu injection module:

XiaomiEU Module app

Dedicated thread for tracking our XiaomiEU Module app updates for passing DEVICE_INTEGRITY (Google Pay)

xiaomi.eu

I've uninstalled the PlayIntegrity module and enabled my xiaomi.eu injection module and updated it. After that, device integrity passes every time and McDonalds app work.

When I was using the PlayInjection modules, device integrity would pass only every 2nd or 3rd try. Play Store would show device is certified, but McDonalds app wouldn't work because device integrity wasn't passing 100% consistently.
[Magisk] osm0sis:
That's fixed in my #120 if you then follow the instructions in the installer to uninstall the leftover user app after. @CZ.Kostra verified it.

@Flr Power you in the Xiaomi.eu boat as well? Definitely try #120.
[Magisk] osm0sis:
Yep. Your previous type equals "KeyStore" worked better from what I've seen. Which is why I kept it. 👍
[Magisk] Flr Power:
I'm on ROM Derpfest 14. Since I reverted to 15.1, no more intermittent failure. Waiting for 15.3 🥺
[Magisk] osm0sis:
Yeah it must have a framework-level spoof feature, so 15.1 or Fork v6 should both be good. ROMs without that feature actually only ever need to have things spoofed just the once when the DroidGuard process starts, but for ROMs with it we need to change it back after theirs kicks in.

Actually it would be great if you could still try Fork CI #120 like I suggested, since it'll verify the theory that the KeyStore check was better like I was just telling chit.
[Magisk] zgfg:
My Xiaomi.eu injector is disabled for a month and I never experience any problem with the module (using Fork v4, but version shouldn't matter)
[Magisk] adsgard:
Guys! What I researched yet may be It could be useful in our battle. I use the second space app "Island" and when I try to use new pif and check in both profiles. I found that the second space bypass integrity check with fingerprints while the main space fails all the time
[Magisk] osm0sis:
Yeah, if you did the pm command that works for sure, but if they hadn't done that people were still having problems even with some of the app folders replaced. I found another app folder to replace and found the leftover user app was still active so the user needed to uninstall it after we replaced the system copies, but it should all be good in #120 now as well.
[Magisk] Ahmeda9a:
Im having a similar problem after doing the steps correctly, will do the logs and PM if you dont mind
[Magisk] Flr Power:
Since I am using chitoroman style pif.json format, do you know of an easy way to convert to your custom.pif.json format?
[Magisk] adsgard:
more of that you can implement lsposed modules into it from the main space.
[Magisk] chiteroman:
Yep... But I think we should search for a better solution...
[Magisk] Ahmeda9a:
#120 installed and play integrity fails once or twice after passing once

.eu inject isnt fully removed despite uninstalling updates as the installer said. Tested by native test and an affected app.

.eu v14.0.25
[Magisk] pulpf:
Hi, I thought I could pay again with v15.2, but first I have to solve the fingerprint problem, right?

Do you have a tutorial for that?

Thanks in advance.
[Magisk] osm0sis:
Just flash my module after renaming your json to custom.pif.json and putting it in the module directory, it'll migrate the old format to mine. Only thing to make sure of is that all the values are in quotes first, and that you have FIRST_API_LEVEL filled in on your old print.
[Magisk] cloudpeople:
Xiaomieu pif method is stupid idea i think, leaving device with modified prop in miui mod can trigger any powerful app with secure environment, they only focused too fix meet device or gpay.
[Magisk] osm0sis:
Agreed, it's clearly a timing/race issue currently. Too bad we can't just lock the reflected fields from further changes, since we seem to be the first to get to them. 🤔
[Magisk] osm0sis:
I had a user test, and with #120 you flash and it disables things with .replace, then you go uninstall the user app copies after reboot and the user reported no interference anymore after rebooting again. 🫤

I'll definitely troubleshoot more with you via PM. 👍

Edit: We figured it out, it was a KernelSU support thing, where it behaves differently than Magisk for directory replacement!
[Magisk] Flr Power:
I just tried. Unfortunately it doesn't migrate my current pif.json (data/adb/) to custom.pif.json ((data/adb/modules/playintegrityfix/)... after I removed chiteroman module, reboot, install yours, reboot again... Reboot again 🤣 I just don't understand why it doesn't work.
[Magisk] osm0sis:
You need to copy the file in, sorry. 😅

With chit's installed rename it to custom.pif.json and put it in the module folder. Then flash mine.

Edited my previous instructions. 👍
[Magisk] zgfg:
Actually, I didn't use pm command to disable injector..IngBrzy suggested beg. of Dec. on Xiaomi.eu forum, to fully uninstall the injector by deleting the folder

[ICODE/product/app/XiaomiEUInject[/ICODE]

However, System is read-only, hence that can be achieved only systemlessly, so I put the (empty) .replace file into your module's folder, to:

/data/adb/modules/playintegrityfix/system/product/app/XiaomiEUInject

Btw, I commented you all about in the PM, like ten days ago

As on the screenshots:
[Magisk] osm0sis:
Yep I've been asking for your feedback on v6 in that time as well, haven't seen an update from you but would be pleased to improve things further with your input if you want to check our PMs.
[Magisk] osm0sis:
Did you just revert to type.equals("KeyStore"), no .equals check at all, or did you figure out how to implement a SecurityManager to block field.setAccessible after the module does its changes? :)
[Magisk] chiteroman:
KeyStore.equals

I think I will move field spoofing to C++ code so I can use it with hooks.
[Magisk] osm0sis:
I'd be curious to see if direct hooking through Zygisk instead of Dobby or ShadowHook would be possible too, to remove the finicky dependencies.
[Magisk] simplepinoi177:
Yes, you'll "have to solve the fingerprint problem" first...

As for tutorials, on top of what's shown in various methods' githubs, there's either a concise one (2nd All-time most liked post of this thread [can be found on the right if you scroll up]), or one that can't be concise because it's explained in a non-Android-technical way...

How to search & find your own fingerprints [noob friendly]: A Comprehensive Guide w/ tips & Discussion for Complete Noobs (from one)

It seems Google has banned more than 95% of custom fingerprints, so this thread/guide has kind been laid to the wayside. But it's still a great resource to understanding the foundations of fingerprints and all that... This is for any/all utterly...

xdaforums.com
[Magisk] ykjae:
This may be a little off topic here but didn't want to create a new thread.

The app "Doordash" is not working and I am trying to configure it correctly to work but not sure where to start.

I'm using latest osmosis fork and pass both verdicts with kitsune magisk latest, I have tried bootloader spoofer latest version to spoof strong just to see if that was the cause

I have the app in the hide list, no shamiko

I have hide my applist setup hiding everything

I've tried no accessibility services and I am not a developer module as well.

Still not working and I've cleared data after switching these services on and off

Any ideas?
[Magisk] baptx:
Hello, is it possible to pass SafetyNet / Play Integrity for Android apps on a computer (for example with Waydroid, Anbox or Android-x86 on VirtualBox)?

After trying https://github.com/kdrag0n/safetynet-fix and https://github.com/Displax/safetynet-fix without luck, I tried the Magisk module https://github.com/chiteroman/PlayIntegrityFix on Waydroid with different /data/adb/pif.json files from https://github.com/TheFreeman193/PIFS but it did not work when testing with the app Play Integrity API Checker.

Are the values from pif.json normally displayed when executing the getprop command? It kept displaying the default Waydroid values but I can see there are testkeys loaded when enabling the Magisk module because the app RootBeerFresh passes the testkeys check.
[Magisk] majorfigjam:
Definitely off topic, but if you can cope with Shamiko being closed source, use that with TJW Magisk Canary 26404, and forget about hide my app list.

I can download and open both Doordash Driver and Customer apps with that set up.
[Magisk] xcl1pse:
When It starts not working?
[Magisk] ykjae:
It's been awhile now so I just use doordash on my pc. I also just changed to kitsune and wanted to get it working properly. I have been using magisk alpha for awhile and at one point it worked with alpha then it didn't again. So don't use hma at all and that should do it with shamiko?
[Magisk] Umgak:
In what way is it "not working"? I just ordered lunch earlier today with no issue. LineageOS, Magisk 26404, this module, Shamiko, on my OnePlus 9 Pro. Not bothered with denylist, HMA, or any other spoofing.
[Magisk] majorfigjam:
It should, all else being equal.

It works for me with Osm0sis fork, TJW canary 26404 and latest Shamiko (apps in denylist, denylist not enforced) on a Pixel.
[Magisk] ykjae:
I took the app off hide list on hma and off denylist, cleared app data, rebooted but still got the error message "something went wrong"

I uninstalled the app and reinstalled and I'm in now. Strange.
[Magisk] Nergal di Cuthah:
I LITERALLY (as per the word's definition) use doordash nightly with a rooted pixel and have no issue.

What makes you think it's a root issue? Do you have mock gps of somesort I'd look to that first.
[Magisk] simplepinoi177:
i was kinda wondering the same thing....I use DD constantly, and have never heard of any root detecting issues with it (and I believe I've used it rooted both passing & failing everything)....even less so something to do with Play Integrity, PIF, fingerprints, spoofing, or anything....
[Magisk] ashish1989:
Pif module for magisk or ksu not found, when I uninstalled playintegrity fork. I am getting this problem. I am using extract xiaomieu.pif app
[Magisk] chaoscreater:
No idea what you're talking about.

If you want to use the Xiaomi.eu injection module, then uninstall any PlayIntegrityFix modules from any of the GIthub projects. Do not use them, as they will conflict and in fact, they will disable the Xiaomi.eu injection module as per the output logs after you flash them.

After you have confirmed no PlayIntegrityFix modules are installed, go to Xiaomi.eu (the link I provided in my previous message) and install the latest Xiaomi.eu injection module. Once installed, reboot phone and you might need to clear cache or data for Play Services, Play Store and Google Services Framework. There won't be any PIF.JSON file found under /data/adb but PlayIntegrity should pass device integrity check all the time and McDonalds app will work. Using McDonalds app is the best way to check if everything works fine or not.

Those are the steps I took and it's working on my Redmi K60 running MIUI 14 Android 13. I'm using Xiaomi EU ROM.
[Magisk] sameersharmap1:
anyone using HDFC or Icici bank apps from india can you check and tell what steps do you use for those bank apps to work because

these 3 apps didnt work even with ice box and play integrity

tata neu , hdfc bank , mcdonalds app
[Magisk] borisSweden:
So I have a spare Oneplus 3T that was replaced by a 7T. Last official update was Pie so how can I use its stock fingerprint for my liking even if I don't use any Google app packages? I can't test when I dont have the Play Store installed! Also my issues started with the November security update that was bundled with LOS. I just want to make RCS work every time.
[Magisk] jimithing83:
Thanks to @osm0sis, @chiteroman, @TheFreeman193 and all other contributors for making this fun AND easy :)

Only thing missing atm is a script running 3-4 times a day checking and notifying when fp is f***** over :P