yashsingh1/xdaforums huggingface dataset:
[Magisk] majorfigjam:
So Google keep a DB of 40k+ approved devices, with fingerprint and supporting data. There must be literally hundreds of usable devices to supply props.

You check in with print, which includes device and name; Google checks what is the highest legitimate API, maybe also the lowest if that was a requirement when device was first sold. If the details are within bounds, then it returns the level of integrity assessed, ie none, basic or device. They also may check other stuff, as some devices just don't work, even from the same manufacturer. I guess they also look at where and how often a specific fingerprint is being checked.

Chiteroman adds some props which are not needed to validate, Osm0sis lets you customise your props. If you don't have them in Chiteroman it defaults, which may also break the validation.

So the answer is find an uncommon print and stick to it, and don't complain if you use the off the shelf version and it breaks.

And as to helping people, like others no doubt, I've shared prints with "desperate" individuals on this forum, who even then can't be bothered to RTFM and install them.
[Magisk] nero10:
if i uninstall magisk (unroot) and copy unrooted fp then root again and can i use that fp with custom pif.json?
[Magisk] simplepinoi177:
You guys are rather considerate/"generous"....there was a post here somewhere back that claimed there were users "selling" their found working fingerprints to the same "desperate" individuals....!!! 😱
[Magisk] wfred:
If you're rooted try MiXplorer
[Magisk] ArzZenic:
That's, selfish and those people are honestly those getting "ASUS" :D

This is a community forum, not fuc*ing eBay :) With nobody and everybody eligible for questions & answer :)

CONTRIBUTE TO THE DEVS! PAYPAL WORKS
[Magisk] majorfigjam:
I believe the modern term is "paying it forward", but as the print I'm using has been good since Osm0sis released the fork, I don't see any need keep the others totally secret.

And besides, it will soon be Christmas.
[Magisk] Emmes:
why is the new fp, provided by PIF 14.5 and xiaomi.eu, even working? it's a device that never got updated and stayed on Android 6.0?
[Magisk] Iridule:
I'm curious...I've shared prints in pm with @Nightshadow931 @sga999 @Maledict @Claus…. @bleh815 @Clasimodo @Nicknoxx @mossywell @CaptainKnots @switchem are your prints still working?
[Magisk] intel_core_i7:
It’s weird living in a timeline that iOS modding is somewhat more liberating than Android modding, depends on what you’re doing

Mr.G seems to break the fp banning schedule they’ve been exercising last 2 weeks, bummer for you guys.
[Magisk] Umgak:
No, unless your own device already doesn't support STRONG anyway. Based on your older posts it looks like you have a Xiaomi Mi 10T, which should be too new of a print to work.
[Magisk] zgfg:
What do you mean by "copy unrooted fp"?!

You mean, you want to use your original, from your phone?

Uninstall the module and you will have your original FP

But without the module, you don't pass Device Integrity (?), so why do you think that by 'spoofing' your own FP over your same own FP would help you then to pass Device Integrity?

Only if lowering FIRST_API_LEVEL to 25 could help you to pass.

You don't need to 'unroot' - just learn in this thread and on GitHub how to read PIF logcat and you will see your original PRODUCT, MODEL, FINGERPRINT, etc in the logcat.

So put them to custom JSON with the lower FIRST_API_LEVEL and test

But before bothering with that, simply test with the old YASNAC (YES - the old YASNAC) does it show CTS Hardware attestation type or Software - PIF module must be uninstalled or disabled and phone rebooted before that test

If it would show you Hardware - then your FP is not good for 'spoofing' - it forces Hardware type/ attestation on TEE, and you will never spoof TEE to think that your Bootloader is not unlocked and that you didn't mod your phone

That's the first point in mining - prints must correspond to the phone/ROM that didn't force SN/PI attestation on TEE (Hardware type)
[Magisk] sga999:
I'm "saving it", now using 14.5 without pif.json. But I did test yours this morning... I was curious also! And it works.
[Magisk] ArzZenic:
Enjoy your 1-144hrs
[Magisk] zgfg:
So far G bans only those prints that are massively used in spoofing.

The other go under the radar

Hence if you didn't share the same prints that were in recent versions of the module or in recent versions of Xiaomi.eu injector, that have been banned by G, then your prints should still work to you and to the others you shared

Ie, if they still work for you, then they were not banned and they must work for them, too. Unless (but that doesn't mean that prints are 'bad' or banned) if a particular user has some other reason on his phone (improperly configured Zygisk, DenyList, some module forcing Permissive SELinux mode, or so) preventing him to pass PI
[Magisk] majorfigjam:
Another case of someone who cries for help, but then decides to stay with off the shelf.

Why would anyone go to the extent of uninstalling the custom print when it's working? That's just plain masochism.
[Magisk] ArzZenic:
That's ecactly what we are talking about the whole time. But in here we are alking about pure PIF/forked PIF by osm0sis.

1srt ban from Google is ban for the FP for everyone (except temporary change of API_LEVEL).
[Magisk] Clasimodo:
It is still working. Thanks again.
[Magisk] ArzZenic:
Nobody is asking you to go away, like (not only me) a lot of people are ready to share their FPs right now. Just not publicly.

When you find out, seek out, we are not here to thrash talk people, but to help, just not publicly.

(I'm a newbie, but I know how to get FP)

I would never take credit for the things DEVs made, it is magic for me.
[Magisk] majorfigjam:
If that's aimed at me, I've been sharing for a while by PM. I got my working print(s) around the time Osm0sis released the fork.

But when we share those working prints, and someone says "thanks, but I can't be bothered to use it right now because off the shelf is easier", or can't be bothered to RTFM to use it, then it's easy to wonder why we bothered.
[Magisk] disleyxc:
Hey all. Been using the module for a little while now since I rooted my 6a. I tried using the DEV fork from chiteroman and placed the pif.json file in the data/adb/pif.json directory as instructed in the guides. It seems however that there might be something wrong with the file or the formatting of it because every time I edit and reboot on device, I check the integrity and it comes back with a profile mismatch. Is there anyone that can help me debug my file? I would be happy to PM since I dont want to expose and burn the FP that I am trying to use. Additionally, is there any way to tell that the module is actually using the FP I provided in the .json file? Thanks again for all your help!
[Magisk] majorfigjam:
Logcat will show you what is sent.

Use Osm0sis fork, Chiteroman adds in some default values that may get in the way.
[Magisk] ArzZenic:
BTH Nobody is targeted by my posts until you are quoted :)

Nothing is aimed at you guys, sincerely I think the sharing through the PMs (Community) is completely fine, I've also done that with my FP.

All I am saying is, that FP's liveability is completely dependant on your trust & if any of your "friend" fu*ks is through Telegram or any other social media. Share it as you want, hundreds are invisible to the thousands of thousands via Checkers.
[Magisk] trevtdogg:
can you please not use the ableist r word in a derogatory way in future?

I know you probably don't have bad intentions using it, but that's twice I've seen you post it in this thread.

you can instead say that's silly, that's ridiculous, etc. there are lots of non-ableist terms to use.
[Magisk] majorfigjam:
Well if one of them shares a print, then I move on to another one.

Hasn't happened so far, but some haven't even cared to try to use what I shared.

How do I know? Because I check in and ask them in case they are having issues.
[Magisk] ArzZenic:
Sharing via PMs is (by me) completely fine :)) I also do it.
[Magisk] disleyxc:
Hey thanks for the reply. Logcat via termux? Any specific command to check? what is sent? And alright switching over now. Chiteromans latest is still working for me so does Osm0sis pass by default for now?
[Magisk] ArzZenic:
Even Osm0sis is seen in the log, just try.
[Magisk] simplepinoi177:
No...osm0sis' only works with a custom .json. chiteroman's doesn't; he includes a working (until Google burns it in days/hours) default in every version -- but leaves an option/method to use custom if one wanted to with his release...
[Magisk] ArzZenic:
Sorry if I offended you. I do not see it as an importance to the post that I've done. I do no mean no harm by using it, actually I have some personality disorders by myself. I think It's to the point which I am trying to get into and I will not apologize for my wording. You can PM me if you want to :)

I'm here just to help people (Whose I probably even and shoudn't care about)

So please, if you have some kind of problem, go via PM, not discussion if you don't have a guide or insight.
[Magisk] ArzZenic:
That's exactly how it shoud be! Kudos :)
[Magisk] majorfigjam:
RTFM
[Magisk] ArzZenic:
adb shell "logcat | grep 'PIF'

will get you all, that you need for debug :)

//

osm0sis works via custom PIF, you can't go through DEVICE_INTEGRITY via anything, if you don't have good friends or ordeal of trying custom FPs :)
[Magisk] disleyxc:
Very very much appreciated! I think some people say they're trying to help and move the progress forward by not having people rely on the custom prints the module provides, but when I ask a question such as the one you just gave me the answer to, they tell me to RTFM. I've done my fair share of reading on all the solutions and while I'm not incredibly technically adept in the manner, I try to understand the feelings people have towards self reliance on an individual user level. Some of the replies and discussions are not conducive to that goal though but I appreciate your helpful reply.
[Magisk] ArzZenic:
I'm glad to help :) I am a noob by myself, I'll try to develop the signature to help. And if we get a conclusion next to our beloved developers, I'll write a guide.

GitHub - badabing2005/PixelFlasher: Pixel™ phone flashing GUI utility with features.

Pixel™ phone flashing GUI utility with features. Contribute to badabing2005/PixelFlasher development by creating an account on GitHub.

github.com

Until then, this works for checking. Keep it going and get Pixel Flasher, works greatly.
[Magisk] nero10:
what do you mean "old yasnac"? i have installed it but didn't find "cts hardware attestation type" .there is only "evalution type" and says BASİC

also i have xperia z5 if it helps
[Magisk] apophis9283:
Please, everyone. Before you post, reread your post and think to yourself a few things. Did I need to say this? Did I need to say this in this particular way? Could what I say/post possibly offend or come off a little pushy? If you need to freshen up on XDA rules, they can be found here.

📚 XDA Developers Forum Rules 📚

XDA-Developers FORUM RULES List of Forum Moderators, click HERE Delete Your XDA Account HERE 1. Search before posting. Use one of our search functions before posting or creating a new thread. Whether you have a question or just something new...

xdaforums.com
[Magisk] CaptainKnots:
Mine was the last time I checked but I've factory reset the device I was using it on because I'm returning it to the store and getting a different tablet.
[Magisk] Iridule:
Interesting

Well isn't that interesting I shared the first print on the 9th... With 10 people...I have you all with the same print. And it's still working... ... 🤔 😀...I wanted to see how many users it takes to ban a print. It's not 10. If it gets banned and I've shared a print with you let me know I'll send you another. I've got about 70 now.
[Magisk] Fishawy:
People are furious and almost freaking out at the rate of losses/bans, but that's not an excuse for saying things that shouldn't be said.

If we lose prints, we shouldn't at least lose courtesy.

I can only join the many people here and wish the dev listens to the voice of reason and just stop contributing to the already-rapid sinking process. Xiaomi is doing enough damage already.
[Magisk] Iridule:
If in fact it is automated and there is a limit at the very least if the module is going to include a print we should figure that limit out and a warning should be displayed letting the user know the limit is nearly reached and the print is about to change, that way it doesn't get banned maybe it can change before it does? So then it would go back into the pool of available prints. Maybe somebody can make a test repo with an embedded print and only allow 50 users. If the print is still working in a week allow 100 users and so on until a print gets banned then try to systematically lower the number of users and see how long the print last...
[Magisk] osm0sis:
It would be interesting to distribute like 10 different print versions of the module and see if they all get banned. We could see which were downloaded more and how many. It might also show whether Google is directly monitoring the GitHub repo or not if they all remain fairly low and they still get banned. 🤔

If things are going to get banned anyway we might as well experiment methodically and see if we can figure out how/why. 😉
[Magisk] GabbyWC:
Xiaomi is a Chinese electronics company that does not develop custom ROMs. The people responsible for the MIUI-based and HyperOS-based custom ROMs at the Xiaomi.eu online community are who you must have been referring to.
[Magisk] Fishawy:
Yes, Xiaomi for short. I guess everyone on here know by now that it's the Xiaomi.eu community.
[Magisk] pndwal:
Just a little history for newcomers (and an effort give proper credit)

Don't forget folks, that the original Dev was @kdrag0n... He did the hard yards, developing SNF for his Proton ROMs before making it (with various mechanisms tried for bypassing hardware backed attestation, initially only device side fallback to BASIC-only attestation and long before the current injection of code for fake keystore for this trigger) a 'universal'/'portable' solution as Universal SafetyNet Fix (USNF) Magisk module, and that was long before his Riru and Zygisk iterations which really revolutionised the fix. Nb.before this special builds were needed for Samsung OneUI, some MIUI and other 'heavily skinned' OS's as those devices use modded keystore and the standard 'fix' used straight AOSP keystore... 'Shim Keystore instead of replacing it' fix addressed that issue, but later this whole approach was abandoned for the current (much simpler):'inject code to register a fake keystore' solution...

Thanks to his open source @Displax was able to supply a fork updated to fix Play Integrity DEVICE_INTEGRITY before @kdrag0n got around to this wilh his new dynamic (runtime only) spoofing solution (ie. v2.4.0)... Since then @Displax again picked up the slack, but of course keeping this thing Play Integrity compatible has really been a relatively simple matter of discovering props Google adds for identifying devices for which they wish to enforce HARDWARE_BACKED evaluationType enforcement (at server end) and coming up with props sets that pass CTS/VTS profile matching while not matching expected values for your device to spoof... The mismatches (ie. with props used for identifying these devices) are what allow HARDWARE_BACKED evaluationType enforcement to be bypassed...

While @chiteroman (was @swer45) has recently re-written much other USNF code (eg implemented different injection/hooking methods), his efforts to keep up with Google changes have been much the same, ie. mainly to accommodate the need for new prop adjustments for bypassing server end HARDWARE_BACKED evaluationType enforcement... PIF is still a USNF fork with the primary function being the USNF on-device trigger for fallback to BASIC-only attestations, and when @chiteroman began producing working builds (initially to make First API level spoof target Droidguard as @Displax' global setting caused issues for some) he clearly did not fully understand how some functions operated; it seems he didn't loose much time becoming familiar with the base code however...

Further, PIF is certainly more appropriate nomenclature now that S/N is deprecated and PI is the new API for Google's device integrity attestations (and others of us proposed a name change too, eg Please make 'Universal deviceIntegrity Fix for PI API' #204 by pndwal), however this is still another USNF fork... @kdrag0n is/was the original Dev and USNF was his (Danny's) baby even if it's name's now been changed in a fork by a deed poll!...

👀 PW
[Magisk] simplepinoi177:
@Iridule , I forgot to follow up to request a direct answer....how do you know it "breaks the print's integrity"? Does all 3 fail (because usually at least BASIC passes)?
[Magisk] Iridule:
I'm sorry I should have clarified it breaks the integrity for what we need it for... usually device integrity. I'm interested in how certain prints show no integrity but I can get every single one of them to pass basic integrity just by changing any value of the fingerprint string...

@pndwal seems to know a lot of the technical knowledge maybe they would help me understand why that is and perhaps even answer the question of the possibility of using Android studio to create working prints from virtual devices. (As I said before, I know you can use Android studio to create a virtual device and get the widevine encryption keybox from that virtual device to generate l1 DRM keys to decrypt videos)

I just wonder if something is going on when I was messing with changing the fingerprint values from release-keys to test-keys or dev-keys if you change those values prints that would normally show up as no integrity will always pass basic integrity... I'm far from knowledgeable on the subject, I didn't even know what a fingerprint was last month.
[Magisk] bleh815:
Still passing✌️kudos to the generous donor
[Magisk] bleh815:
In my opinion the comon reasoning about how FPs get banned is way to complicated and overlooks the most obvious. FPs get banned when they are used in a public accessible manner. So there might not be any counters or any fancy AI or anything involved.
[Magisk] Iridule:
This might be useful to some here with reverse engineering knowledge...seems like this may be important...

"New in November 2023: Play Integrity API now offers a Play Protect verdict which you can turn on in your Google Play Console. Standard API requests, which are low latency and can be made on demand, are now out of beta. The latest library also offers an optional Play remediation dialog that you can trigger when the user is unlicensed for your app."

...

"

You can make standard requests, classic requests, or a combination of the two depending on your app's security and anti-abuse needs. Standard requests are suitable for all apps and games and can be used to check that any action or server call is genuine, while delegating some protection against replayability and exfiltration to Google Play. Classic requests are more expensive to make and you are responsible for correctly implementing them to protect against exfiltration and certain types of attacks. Classic requests should be made less frequently than standard requests, for example as an occasional one-off to check if a highly valuable or sensitive action is genuine.

The following table highlights the key differences between the two types of requests: *see table in link below 👇🏻*

..."Don't make classic requests every time the app goes to the foreground nor every few minutes in the background, and avoid calling from a large number of devices at the same time. An app making too many classic requests calls may be throttled to protect users from incorrect implementations."

Make a classic API request | Google Play | Android Developers

developer.android.com
[Magisk] simplepinoi177:
Earlier on when it was first starting to get banned within hours, we all (probably still) suppose there's literally a PIG (Play Integrity "Guy") that just pops in here, Github, or Telegram and just pops into their system and bans whatever device/model is showing up there/here....

At the very least, there's a URL link floating around here that literally links to the line that shows the fingerprint being used/spoofed....

So far, other than one instance, all personally found fingerprints (therefore, not public) haven't been burned.

Also, I don't know about counters exactly, but all they have to see (like, just glancing and sizing it up by roughly estimating) is what compare what fingerprints are being tested for Play Integrity API and see how there are regular numbers for all other devices and exponentially huge on a single one (with the thousands that are employing PIF).
[Magisk] zgfg:
Fork has no built-in prints and Google cannot ban specifically for Fork

If you or someone has custom JSON that worked with PI Fix and does not with PI Fox - then it's user's fault

It's been discussed here about the differences in handling empty or missing fields between the two nodules.

Make sure that JSON is on proper (different between the module's). path and explicitly set FIRST_API_LEVEL to 25 if it was empty or not present in the JSON

And don't use new fields unless you (user) knows their proper values

And check the logcat to see if properly reading JSON (if needed). PI Fix may survive with the last field a ding with comma, PI Fork maybe not (by JSON syntax, last field must not end with comma). So there are small things that need to be understood and taken care of

I had 200+ (some basically duplicates under diff names or so, since mined from diff sources) JSONs mined with PI Fix and I simply adapted them for PI Fork where needed, retested and they.continue to work now with Fork
[Magisk] Iridule:
Well after reading over some of the developer material this quote below seems relevant to us, doesn't look like we'll be running out of fingerprints anytime soon... It said this at the top of a developer page about play integrity.

"With the ability to publish rapidly to over 2 billion active Android devices, Google Play helps you grow a global audience for your apps and games and earn revenue."
[Magisk] zgfg:
Yes, that is. Basic means eval by software, not by Hardware/TEE
[Magisk] majorfigjam:
Yes, there are over 40k listed devices that work with playstore, if even 2% are suitable, that's 800 devices with potentially multiple prints each.

Which is why one print can burn each day or week or whatever, and still leave lots left over. Those who can't or won't get a custom print will be affected frequently - the rest of us, not so much.

However, once Google crack down on the PI process rather than the specific prints that are widely used, then we'll all need to find a new game to play.

Which incidentally is why spending time to amass 100 or more working prints is an interesting intellectual exercise, but ultimately futile as chances are that 99% of them will never be needed.
[Magisk] simplepinoi177:
Also, if one includes some of the reports here that simply changing the FIRST_API_LEVEL (or whatever it's called) by any level under 33 got them to pass....plus that 800, almost infinite possibilities!!!! /s
[Magisk] Nightshadow931:
Yup, mine still works ;)
[Magisk] majorfigjam:
There are certainly thousands.

I suspect that the API change is irrelevant as it probably coincides with a gap in Google's DB. The API is not in the fingerprint, so not a "key" field for checking. If there's no first API level in the table, anything will do so long as it's not more than 29 or whenever hardware attestation became mandatory for a device.

If the fingerprint goes, so do all the date variants.
[Magisk] Essentrix:
Hi mate,

Where can I find this fix?
[Magisk] majorfigjam:
Github
[Magisk] Essentrix:
Could you supply a link: The page I go to shows no releases.
[Magisk] GabbyWC:
Releases · chiteroman/PlayIntegrityFix

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

github.com