yashsingh1/xdaforums huggingface dataset:
[Magisk] shoey63:
Agree 💯 percent
[Magisk] zgfg:
I don't really agree. Probably less than 5% of users will be able to handle that

Btw, I think, Google will probably sooner or later come with a generic solution, by banning all those fingerprints, published by the module or not
[Magisk] zgfg:
General comment, not particularly to you

When you qoute a particular post on the XF, it will be saved by default with unfurl="true"

So it wil look like above - perhaps discouraging to open, since previewing the OP post #1, not the text of the quoted post #N.

One could think, ooops, I cannot go now through all 200 pages and 4000 posts to find, why do you give me that link if not for the particular post with the details

However, if you Post the quote, then click on three dots and Edit, you can manually change it to unfurl="false" and Save, then it will look like in this post:

https://xdaforums.com/t/module-play-integrity-fix-safetynet-fix.4607985/post-89189572

Now, no page is previewed (hence not the missleading post #1) and one can select the link in text, copy and paste to the browser if he wants

This, ofc takes an extra step when posting :)

Up to a poster is it worth or not
[Magisk] keropiko:
Hi all,

First of all many thanks to chiteroman and osm0sis for their work for this problem with play integrity.

I would like to know if what i have done is correct.

I have a rooted redmi note 10 pro with lineageos. What i did, i used a root explorer and coppied the vendor and system build.props from the device to the download folder. I downloaded then the osm0sis script created the custom json, then installed the chiteroman 13.9 module to magisk and coppied the custon json from the script in the play integrity module folder.

Now the integrity pass works, but is it wokring with the custom json i created or with the moduled and will be again blocked by google?

Thank you all.
[Magisk] immortalwon:
I think you missed the point? The point is people take individual responsibility and use their own fingerprints instead of a published one where 100000 people will use.
[Magisk] BrimoFan123:
Unfortunately this could be true about those 5% of users but reality is that using the same fingerprint delivered via every new PIF version will cause for sure G will ban it when they will see huge traffic coming with this fingerprint.

So whats the point to keep @chiteroman "producing" new PIF version with new "clear" fingerprint? This cat and mouse game is going to be lost when there would be no more "clear" fingerprints available.

It is needed a clear, user friendly instruction how to prepare custom pif.json file that even not skilled user could follow.
[Magisk] digger16309:
Can this be from any "old" non-rooted device? How old?

I have a Samsung A54 5G running A13 rarely used. Could I use those props to spoof my P6P also running A13?

Or does it have to go back much farther in time?
[Magisk] xcl1pse:
So make pif module like a template module like MMT Extended and create your own module? Interesting 👀
[Magisk] BrimoFan123:
I have no idea and my understanding from what I have already read is that there is no guarantee particular fingerprint from "old" phone will work. It have to be checked.

In my case I have a fingerprint from Android 9 and lucky me it works.
[Magisk] Stillhard:
You can read this wonderful 'noob friendly' guide here
[Magisk] Bobb_o:
What's the best way for me to stay up to date on new versions?
[Magisk] shoey63:
Don't underestimate people who unlock their bootloaders and root their devices. It's not a simple process, what with installing drivers, adb and fastboot, udev rules for Linux, patching with Magisk and booting images etc.

Modifying a single file shouldn't be beyond them.

The tools to do so are already emerging as per @badabing2003 and @osm0sis

Google may well screw us all in the end, but we shouldn't make it easy for them by publicly revealing prints that they quickly revoke.
[Magisk] zgfg:
No, Im not missing that point, I well understand all that.

I still stay with what and how I expressed
[Magisk] zgfg:
I would like to see a percentage of participants in this thread who had already successfully mined for a single custom pif.json that worked

Then we can talk about underestimating or overestimating
[Magisk] badabing2003:
It's not one bit difficult if people read and follow the guide written.

If someone is into modding, then they should invest into learning how to survive and operate with their mods and I agree 100% with @shoey63, don't underestimate people, if they can manage to root with Magisk, extract boot , patch, get into bootloader, flash ... they can manage editing a file in a module.

Of course there are always some who want it on a platter, but maybe those are the 5%.

What is the alternative, what is your solution? in the absence of a better solution, what is proposed is the best way to prolong this fight.
[Magisk] bakaekze:
You are supposed to use this instead https://github.com/chiteroman/PlayIntegrityFix/releases/tag/PROPS
[Magisk] keropiko:
Thank you a lot!
[Magisk] V0latyle:
I'll admit I'm one of the few who would rather just flash the module and be done with it, but push comes to shove, I'll learn how to do my own prints
[Magisk] badabing2003:
Push has come to shove :)

This thread is overwhelming, but thanks to the excellent guide by @osm0sis people should find their way easily, only if his post could be referenced in OP, it would help.
[Magisk] TotallyAnxious:
This brought back CTS match on my 7 Pro. Haven't tested wallet yet. Was using official 13.9 before this.
[Magisk] V0latyle:
I'm still passing with one of the latest releases, so it hasn't quite come to shove for me. But, glad to know you've been on top of streamlining everything for us with PF.
[Magisk] Dark Warlock:
Help me to create pif.json for Xiaomi 13. Something wrong

I generated file with script, but have no luck https://xdaforums.com/t/tools-zips-...ices-platforms.2239421/page-172#post-89173470

And i don't understand, file name must be custom.pif.json or pif.json in /data/adb/modules/playintegrityfix/ directory
[Magisk] SnOOpeRa:
I have to say thank you all for the useful info and tips in this thread, I used pif props ver 2.1 with my custom fingerprint props from 1 forgotten in the drawer old device ( rooted , but that's not a problem at all , as it's not meaningful for the props ) - pass device integrity , wallet working , play store certified , netflix listed in the store , all wokring correctly

p.s: even backup another 2 props that work too in a fast search , in case need them at some point , there are plenty of sources online that you can get and test your own pif.json props , not a hard process , all that you need is already written and explained multiple times in the thread
[Magisk] Shubhuuuuu:
Can anyone help me

My play services have stopped working yesterday.

I updated this module after that but it didn't help.

Can anyone plz guide me on how to fix it btw I have done all that nonsense clear cache, storage, force stop play services and play store and reboot, but it didn't help

And yes all the apps which use play services like telegram and instagram have also stopped working so I can't really seek help on the integrity telegram channel🥲
[Magisk] HippoMan:
I wrote a python program which runs on the desktop machine. It takes as input a PlayIntegrityFix zip installation file and the output of an adb shell getprop run that has been generated earlier, and it generates an appropriate pif.json file. It then continues and produces a new zip installation file which is a copy of the original, but with this new pif.json file inserted. Then, this new zip installation file can be manually installed via Magisk. Assuming I have the 'getprop' output, this procedure takes me less than 5 minutes.

Alternatively, that same python script also will accept an already built pif.json file as input instead of the 'getprop' output.

So, to generate an alternative PlayIntegrityFix zip file using the build props from another device, the procedure would be ...

* Plug the device in to the desktop machine via USB

* Run adb shell getprop >getprop.output (or whatever output file name you prefer)

* Run the script with the original zip file, a new zip file name, and getprop.output on the command line.

* Assuming there are no errors, a new zip file will be created with the new zip name, and which contains a new generated pif.prop. Just install the new zip file manually via Magisk.

This script works for me, but it's not ready for prime time, and I don't have much time to work on it any more right now. I mention it here simply because it is something that is not difficult to create, in case anyone else wants to do so.

If you want to investigate the script, I can send it to you via private message. I don't want to offer it publicly yet, because I don't have any time these days to do any kind of meaningful support on it.
[Magisk] zgfg:
Ok, so let's see you guys, the proponents of everything is easy who will have nerves to guide this or other similar questions with alike

"MODEL": "fuxi_xiaomieu_global",

Do not underestimate (your own words), to install custom Xiaomi.eu ROM one needed to install Fastboot with Xiaomi drivers to the PC, unlock BL, to use Fastboot to flash Xiaomi.eu hybrid ROM, to root, to install this module and technically to understand what are the fields in pif.json and to put the dile to the right folder and to use the right Beta module version, to find this thread...- BUT he missed the point where from to mine for the prints
[Magisk] Dark Warlock:
I tried Xiaomi 13, fuxi:13
[Magisk] Vision:
Yeah exactly, best idea, this we say in posts above, and we can use another fingerprint if Google block it this we have
[Magisk] zgfg:
I see all that, lets see those easy riders help you and learn on your example (how easy it will really be for the real users)😁
[Magisk] digger16309:
As a half-a***d modder who can do the basics, I could probably follow the guide and try to get to this spot if it's a one time *fix it and forget it* scenario. What I can't do, is futz around with my daily driver to the point that it becomes unusable or needs a factory reset, etc... if I screw it up. I don't use Google Wallet and have no plans to do so, but I do use other apps that, if they don't already verify PI, they will soon.
[Magisk] niko26:
@osm0sis / @zgfg - you both seem to be very knowledgeable - do you have any answers to that question?
[Magisk] badabing2003:
Yes this has been already stated.

The owners of those devices pay the price and don't pass PI either, unless Google starts checking other props that we're not spoofing to separate the spoofed ones from the real ones.
[Magisk] fbirraque:
Totally agree!
[Magisk] sawdoctor:
Would this module work on all devices? I know myself and pixel 8 pro users have been having issues and only your modded safetynet is working for us ATM. I agree that we need to do something to make it more difficult for Google but hopefully you'll still help people that your module doesn't work for or who are struggling to find working fingerprints.

Either way a massive thank you for all your hard work, really appreciated 👍👍👍
[Magisk] UberNorse:
Thanks to your work on the custom spoof and @osm0sis' guide on the pif.json, I finally have a passing device. It took some of last night and a few hours this morning searching but I found one that works and will use it for my wife and I only. Thank you guys both so much. I totally agree that this is the way it has to be from here forward.

EDIT - Maybe to help save someone time or from searching further here is how I implemented the custom pif.json to the existing non-modified custom prop module. I read this somewhere but not sure where but wanted to share.

If you have the non-modded custom prop module installed, once you have your fingerprint data entered into the pif.json then use a file explorer and copy pif.json into -

/system/data/adb/modules/playintegrityfix

- and choose to overwrite the existing pif.json then reboot and see your results. If not successful then rinse/repeat until you are. Good luck.
[Magisk] UberNorse:
Slight difference but I am on P7P and got this to work for what its worth.
[Magisk] sawdoctor:
Are you on stable or beta? I have pixel fold on QPR 2 beta and several pixel 8 pro users most on QPR 2 have only been able to pass with the modded safetynet fix. Chiitoman was aware of the issue but had no Idea why
[Magisk] rodken:
There are way too many Q&A's regarding your issue.
[Magisk] UberNorse:
Yeah I can't comment on the beta then as I'm on stable 14.
[Magisk] Gersp52366:
I tried the play integrity fix props-v2.1 module but it doesn’t work with either the built-in fingerprint or mine

I have a Oneplus 9 phone and an android 13
[Magisk] mGforCe:
Can someone point to a tool for Windows 10 to extract/convert "system.new.dat"? Tried a few tools

sdat2img.py

SystemExtractor
[Magisk] xSnowLeopardx:
V13.8 broke on me.

V13.9 is working. (happy)
[Magisk] badabing2003:
sdat2img.py works, see the usage, you need Python, and you also need the list file in addition to the dat file.
[Magisk] chiteroman:
Source code has been updated: https://github.com/chiteroman/PlayIntegrityFix

I merged custom branch into main and removed it.

I changed few things in code, like pif.json path, now is "/data/adb/pif.json". I think this is necessary because when you install the module, all the files in folder will be removed, so in that path the file is safe 👌 (When you update the module, it checks first if the file exists, so it won't be overwritten).

Btw, as @osm0sis requested, I removed all FIRST_API_LEVEL bad logic, when the value of this key is empty, null or the key doesn't exist, the value will always be 23 (Android 6.0).

Also, all the other props spoofed in native code are removed because they aren't necessary.

And... I reverted back to Dobby and CMake to support x86 devices like few TV Boxes and other devices, hope it doesn't cause issues 👀 (This change reduced final libs size!)

So, here are the beta builds! (Resetprop includes custom binary from @huskydg , may be unstable in some devices).

Happy hacking Google 😈
[Magisk] DanGLES3:
You'll have to hunt down a fingerprint from an older device
[Magisk] TraderJack:
Question: If the pif.json isn't in the module folder anymore, is there any way to still include it in the .zip file and have it placed in the appropriate /data/adb folder?

If not, this just creates extra steps on a new device build when installing the .zip, as one must then manually place the file in that appropriate location.

Can/does the file also check in the module's unique directory and copy/move the file to the new location?
[Magisk] chiteroman:
PlayIntegrityFix/module/customize.sh at f68caea986e429d16ed384cddef016b069578b4e · chiteroman/PlayIntegrityFix

Fix Play Integrity (and SafetyNet) verdicts. Contribute to chiteroman/PlayIntegrityFix development by creating an account on GitHub.

github.com

If the file doesn't exit, the module will move it.
[Magisk] TraderJack:
Awesome. One other thing - I think it was asked before by @zgfg and I'm not sure anyone ever responded.

Has anyone found a way through command line means (adb, etc) to validate the results of PI Check?

IOW is the only way to validate a pass through the UI of a program that does the check? A way to check this under the hood through a logcat or similar would really be beneficial for testing prints.
[Magisk] dmenezes:
And it's been over 24h and my Lisa+LOS **still** passes Device Integrity.

Perhaps Google is getting tired of it too?

🤣
[Magisk] badabing2003:
See this post.
[Magisk] Gersp52366:
for 14 versions my imprint worked
[Magisk] badabing2003:
Probably because the device that was chosen :) to spoof in the latest version would leave larger collateral damage on legitimate devices being impacted.

Just a guess of course.
[Magisk] spida_singh:
Using my fingerprint in the JSON file. My Pixel 6 failed device integrity with V14B

Starling doesn't trip.

lineageOS

Kernelsu

ZygiskNext
[Magisk] Vision:
Is the same like before? We write fingerprint in pif.json and put it again inside in the module zip and flash it (this i do) and the difference is the pif.json now go to data/adb after flash and not data/adb/module name right?
[Magisk] rseiler:
Wasn't it just a day or two ago that the name was custom.pif.json? Is there a reason it's more commonly referred to as pif.json now? Or maybe either is fine?
[Magisk] Vision:
I think is @osm0sis modification this version
[Magisk] badabing2003:
Please don't delete past versions even if you believe that what you just posted is a superior version.

We've seen time and again that it might fix for some but break for others.

There was nothing wrong with props 2.0 and 2.1 for many devices, and yet you chose to delete it, it effectively broke all the people who wanted to use the PF integration to get a working print.

There is nothing wrong with keeping older versions.
[Magisk] Dj Telo:
Thanks so much for your detailed explanation. I did try to do my research in the thread but I did not succeed across the bid sea of comments that pile up every day, so I appreciate your guidance.

Last time I checked, over a year and a half ago, I had my phone working well for months without external changes impacting Google Wallet. I thought maybe this was still possible today. I've learnt that it's not.

Have a nice day!
[Magisk] marcopit-92:
Yesterday I went paying my local market and seems google find a way to block the module. As soon as I noticed I opened magisk updated it and used it on the go. The POS for a fraction of second made the error beep but the transaction went through and suddenly the gpay integrity lock went away.. I don't know if it is a case but I didn't need to wait, it just worked.. thanks to dev
[Magisk] PikeNote:
Would an implementation of storing (i.e. in a general directory) and quick swapping between fingerprints via a CLI be possible? Could prove useful as well to keep ready to go configurations to use. I know Pixel Flasher had it where it killed the GMS process on a change of the pif.json to apply it but I am unsure if that would cause any other issues alongside it.
[Magisk] xcl1pse:
Lmao 🙃

Seems working fine with resetprop version
[Magisk] xcl1pse:
Just testing resetprop version which is zaincash cannot open in previous version
[Magisk] rom-g:
Can't get this rebus...
[Magisk] V0latyle:
For those of us who can't read Arabic, maybe explain what's going on in the screenshots
[Magisk] xcl1pse:
It just prompt to login. From previous version, zaincash just immediately crash from opening which is detecting resetprop utility
[Magisk] Nergal di Cuthah:
Should also note, not just in screenshot, that you're running "Magisk Alpha"
[Magisk] xcl1pse:
Doesn't matter. Even just installing magisk, no module no zygisk, zaincash just crash. So I blame OneUI for that.. I'm using magisk alpha since Wu still breaking fd on latest official magisk
[Magisk] V0latyle:
@chiteroman Maybe it's time for a PSA in the OP, something to the effect that this is just a cat and mouse game, fingerprint spoofing only works as long as it takes for Google to figure it out and blacklist that print, so the only thing we can really do is experiment to find prints that work and DO NOT TELL ANYONE ELSE so as to make it that much harder for Google to figure out which ones to blacklist....?
[Magisk] matrix200200:
I have located a few firmware files I would like to test for myself and I had a question about the fingerprint.

Does it matter whether the fingerprint is dev-keys or release?

In other words, does it change my chances of successfully using a fingerprint?

Also, should I generally choose a fingerprint from a device that may not even have NFC on it?
[Magisk] awarexda:
Let's say we want to experiment wit pif.json - where we can get fingerprints?
[Magisk] Homeboy76:
404
[Magisk] arda99:
@chiteroman Please add support for custom.pif.json. This makes sense so you can keep updating the "stock" pif.json for everyone while those with own props can keep their own, or in the future, you can release with a non-working pif.json or even without it.

Current pif.json handling is buggy....not an issue atm, but for future release pif.json wouldn't get updated.

PlayIntegrityFix/module/customize.sh at main · chiteroman/PlayIntegrityFix

Fix Play Integrity (and SafetyNet) verdicts. Contribute to chiteroman/PlayIntegrityFix development by creating an account on GitHub.

github.com

Please consider @osm0sis implementation.

PlayIntegrityFork/module/customize.sh at 502dae9c4549accd77cfecaa3223e78022bb2f6d · osm0sis/PlayIntegrityFork

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

github.com
[Magisk] arda99:
most likely should be release as the fingerprint has to be google certified.

NFC or not doesn't matter.
[Magisk] badabing2003:
What is the issue?

It creates one (from the current modules) in /data/adb if it does not exist, and it does not touch it if one exists.

The module uses the one from /data/adb

I don't see an issue with that, other than the current pif.json in the module will soon get banned and stop working, but people are supposed to edit / update the one in /data/adb
[Magisk] Ellipsis_:
I don't really understand how this module works so apologies if this is a silly question. I updated to 13.9 today (had to do at the supermarket checkout when GPay failed checks!) but now in the Play Store, Netflix and my electricity company's apps are both refusing to update stating "This app is no longer compatible with your device".

I see all this talk of spoofing fingerprints, which sounds like we're pretending to be a device we're not, is that what's broken these apps?

edit: apologies, I cleared the storage for Google Play Store, rebooted and Netflix etc are updating now.
[Magisk] V0latyle:
Any firmware file, you get the prints from build.prop

@osm0sis explained how to do this, and it's linked in the first post

Correct, the print has to be that of a device that's passed CTS

yep, GPay/Wallet aren't checking prints themselves, and they can ask system directly whether NFC is available and turned on. We are spoofing prints to fool Play Integrity; the apps themselves don't care about device fingeprint, they only care about Play Integrity labels

Check PI status, make sure you have BASIC and DEVICE. If you do, check Play Protect status, if it does not say device is certified, follow instructions here to reset

Probably not, if Play Store is refusing to update, it's because your Play certification is broken; this may be due to PI failing DEVICE but you need to check everything to see what your actual situation is

The way this works, and I might be a little fuzzy on the details, we are trying to fool Play Integrity into thinking it is on a device that is not capable of hardware attestation, therefore falls back to basic attestation which we've previously broken under SafetyNet

It's a bit more complicated than that because we now have to spoof prints of devices launched before Android 9, but minimum API 26
[Magisk] arda99:
not an issue atm as it's the initial release so nobody has the /data/adb/pif.json.

But for future release, pif.json wouldn't get updated regardless it's stock from PIF or user's own.
[Magisk] matrix200200:
Hmm.

What I downloaded (not from official website, but still) is claiming to be a security patch firmware update of one of the big vendors.

How could it possibly be signed with dev keys?

Is the file fake, or is it possible that some security patch was signed with dev keys instead of release ones?
[Magisk] badabing2003:
The expectation is that moving forward the bundled pif.json will never be updated to avoid bans, and it would be the user's responsibility to update the one in /data/adb to a good print they scavenge.

And they only need to update it, when it breaks (hopefully never :) )
[Magisk] osm0sis:
Yeah, I'm very frustrated there wasn't a release containing my fixes before chiteroman effectively undid them all. 😠

arda is correct, it only backs up a pif.json, it doesn't restore it, which is exactly the problem I was fixing but chiteroman couldn't leave be.
[Magisk] TKruzze:
It seems very clear he doesn't want any input from other developers. He almost seems to go out of his way to avoid your advice and input.