yashsingh1/xdaforums huggingface dataset:
[Magisk] badabing2003:
Yes if you want to have higher chances of hits,

My goto executable path is usually /data/local/tmp

Just make sure you clean up afterwards in case any detection mechanism decides to check files in there.
[Magisk] shoey63:
Yep run it first, then ./pickaprint.sh
[Magisk] badabing2003:
@shoey63

The forum software doesn't like you :)

You ninja-ed me, yet the board put my response ahead of yours. :ROFLMAO:

View attachment 6056104
[Magisk] osm0sis:
I don't feel bad at all, he killed our commit history and authorship. 🤷‍♂️

And still has his insane script making empty commits to his autojson repo every 5 minutes since December 20th. 🤯😵

Just bad.

People should only use the Xiaomi.eu print to test that their root setup otherwise works, then find a random print, either using my autopif.sh and TheFreeman193's pickaprint.sh, or the corresponding features in badabing2003's Pixel Flasher (*not* only for Pixel devices). 🙌

You could also have just waited 24 hours and *not* cleared Google Play Services data to keep all your cards, but glad you got it working! (y)
[Magisk] niko26:
Has anyone been successful with PIFS on a Pixel 7 device? It seems like I am failing.

How are the chances of using @osm0sis 's script? Would it make a difference?
[Magisk] Itroublve:
Good while 15.1 fingerprint lasted, I figured I wasn't using my custom fingerprint after failing. Passing again like normal, very simple things.
[Magisk] gj4560:
Yes, on my 7 Pro I got a working print after the first try using PIFS and using the "export FORCEABI" command (I used that command first before running pickaprint)
[Magisk] Bladius:
Meets_device_integrity fails today. Redmi Note 10
[Magisk] Keiuran:
So I made a custom fingerprint using my old Pixel 2XL (which was running a version of Android 9) and inserted the file into the osmosis play integrity fork v5 with the name custom.pif.json. It was made with their .sh script and pulling the files (build.prop and vendor-build.prop) directly from my old device (it's rooted).

After flashing in magisk I passed basic integrity but I'm not passing device integrity on my Pixel 8 Pro now. Not sure what my next step is. Anyone have any thoughts about what's going on?
[Magisk] niko26:
Thx for the confirmation. Are you using Osmosis' module or the other one?
[Magisk] gj4560:
Using Play Integrity Fork now but I did have success with earlier PIF versions in the past (older than 15.1) too.
[Magisk] niko26:
PIF != Play Integrity Fork?
[Magisk] mingaldrichgan:
I think a bunch of Pixel 2* fingerprints were previously bundled with PIF and have since been banned. If you try all of them (by downloading the factory images from Google) you might get lucky and find a working one...
[Magisk] Keiuran:
Well that's annoying, thanks for the info.
[Magisk] niko26:
@osm0sis - that was a serious question ;-) Sorry, all the acronyms are making me crazy.

So PIF was chit's module, and Play Integrity Fork is yours?
[Magisk] osm0sis:
Oh, sorry thought you were joking. Yes, as you said. 🙂
[Magisk] V0latyle:
Make sure you set FIRST_API_LEVEL to 25
[Magisk] Keiuran:
That's not taken care of by the .sh made by osm0sis?
[Magisk] V0latyle:
I honestly don't remember. Maybe? Doesn't hurt to check
[Magisk] niko26:
Wow. Maybe I was lucky - using your module it took three attempts to get a working fingerprint. Thank you very much!
[Magisk] Keiuran:
Which line in the fingerprint needs to be changed? There are two that are set at 26 currently
[Magisk] badabing2003:
By default, it shouldn't, because some prints pass without forcing first api to 25

"DEVICE_INITIAL_SDK_INT": "25",
"*api_level": "25",
[Magisk] V0latyle:
Let's keep the PIF discussion here, the other thread is intended to be a FAQ on Play Integrity itself

The Raven print I'm using has DEVICE_INITIAL_SDK=32, *api_level=25, and FIRST_API_LEVEL=25

@osmosis is there an override in here? Like does *api_level override everything else?
[Magisk] osm0sis:
You should be making those match most likely, since they're supposed to come from the same place. All at 25 I'd suggest.

However, fields are fields, and properties are properties.

Build fields only get globally populated once when the device first boots, so then we spoof the fields to different values specifically for DroidGuard using reflection when its process starts.

System properties can be changed at any time, and are checked at each DroidGuard attestation, which we spoof to different values specifically for DroidGuard using libc hooks. For known checked properties that each wildcarded property entry in my defaults corresponds to please see my example.pif.json: https://github.com/osm0sis/PlayIntegrityFork/blob/main/module/example.pif.json

Note I intentionally left build id and security patch also wildcarded in case Google ever expands the checks to the other matching product/vendor properties.
[Magisk] ew:
I am curious, I am on the original module by chiteroman, have my own fingerprint and am passing.

Are there any functional differences between this "original" module and the osm0sis fork? I have been monitoring this thread for quite a while, and have had this question, but have not really seen any summary of functional differences that may exist between the two.

Thank you in advance for pointing me to any information in this area.
[Magisk] V0latyle:
What's the difference, for people like me who don't understand code?

Functionally...PIFork has the ability to spoof more values so it's "future proofed" in that regard; @osm0sis does a much cleaner job of coding and has pointed out that chiteroman's style is likely to introduce regressions - new code breaking stuff that was working before.
[Magisk] osm0sis:
I explained the difference in the last post. Whether you know all the technical terms there or not it doesn't get much clearer.
[Magisk] osm0sis:
Can some people with Realme and Xiaomi devices try my latest CI build and tell me if your fingerprint reader still works as expected?

Reorganize slightly and add missing props · osm0sis/PlayIntegrityFork@a963090

Fix Play Integrity (and SafetyNet) verdicts, allowing custom fields and props - Reorganize slightly and add missing props · osm0sis/PlayIntegrityFork@a963090

github.com

I added the missing lock props that those OEMs use, but since I don't have one of them I'm not 100% sure on whether they should be late like OnePlus/Oppo or not.

Build is here: https://github.com/osm0sis/PlayIntegrityFork/actions/runs/7536604876

Edit

: Someone on Xiaomi.eu or EliteRoms please also check to make sure my customizable injector app directory replacement is also working. Same build link above.

More consistent replace file naming, retain custom through an update · osm0sis/PlayIntegrityFork@21a309d

Fix Play Integrity (and SafetyNet) verdicts, allowing custom fields and props - More consistent replace file naming, retain custom through an update · osm0sis/PlayIntegrityFork@21a309d

github.com

Thanks!
[Magisk] V0latyle:
oops sorry, mind is all over the place today
[Magisk] _mysiak_:
Xiaomi Mi 10T lite, stock ROM - fingerprint reader and device spoofing works just fine with this build. If there is any specific log which you would like to see, just let me know what to provide. 🙂
[Magisk] osm0sis:
That's great! Thanks.

Now I just need someone with Realme, since as a BBK OEM like OnePlus and Oppo they'll definitely be finickier. 🤞
[Magisk] Lord Sithek:
I have realme GT Neo 2 with custom AOSP ROM. Fingerprint reader works, but spoofing Droidguard fails for DEVICE, BASIC passing. Using my personally mined fingerprint
[Magisk] osm0sis:
That's interesting, what PIF module were you using before? Did you migrate correctly to v5+ custom.pif.json format? PM me if you've got a few minutes to troubleshoot.
[Magisk] du.port:
I had my own fingerprint and everything worked fine until today. wallet won't let me pay. However, it passed the safety verification. What I can do?
[Magisk] osm0sis:
Answered a couple pages back, second set of quotes:

🔧 [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] WhoIsJohnGalt1979:
I have been using v3 and then v5 for the longest time possible on P8P and A14 stable stock rom. For some odd reason, the same fingerprint doesn't work on A14 QPR2 B3. I flash 15.1 and use pixel flasher to update the pif.json in adb-data and the same fingerprint works. Am not sure whats going on.
[Magisk] V0latyle:
Why are you checking SafetyNet?

You need to check Play Integrity.
[Magisk] simplepinoi177:
Yeah...that may be, but that's also because you are only testing/passing SafetyNet "status" -- which SafetyNet has now depreciated (full "turndown" happening next January) and passing that is no longer enough. You should be checking with a Play Integrity checker -- there's a built-in one in Google Play Store (you'll have to enable developer options within the Play Store app to access the check) or 3rd party checkers (Play Integrity API Checker, SPIC, TB Checker)...

If you do not pass/achieve MEETS_DEVICE_INTEGRITY, Google Wallet and other services will not work.
[Magisk] Umgak:
v5 doesn't work with QPR2 because Shadowhook is broken.

Try using this one: https://github.com/osm0sis/PlayIntegrityFork/actions/runs/7536604876

You'll need a GitHub account to download it (just click on the PlayIntegrityFork-CI_#108 file). It uses Dobby so it should work for you.
[Magisk] Wolfcity:
Xiaomi Mi 9t (Redmi K20), running xiaomi.eu 12.5.2 (Android 11). After installation device integrity failed with my working fingerprint.

Back to v5 everything is fine again.

I overinstalled the test module, maybe a clean install is needed?

Can check that when I'm at home.
[Magisk] osm0sis:
QPR2 Beta support is listed as a known issue in the v5 release post in my Odds thread. Feel free to try CI #108 linked above.
[Magisk] simplepinoi177:
Did you use the migration script for PIFork? Also, there was a bug mentioned before about A14 QPR betas getting in the way of passing...although I'll have to search where the reference is....

EDIT

nm....ninja'd (quoted below)
[Magisk] Umgak:
shadowhook_hook_sym_name of __system_property_read_callback broken on Android 14 QPR2 Betas · Issue #53 · bytedance/android-inline-hook

ShadowHook Version 1.0.8 Android OS Version 14.0 QPR2 Android ABIs armeabi-v7a, arm64-v8a Device Manufacturers and Models Google Pixel Fold, and others Describe the Bug The following code is workin...

github.com

Shadowhook is borked and bytedance doesn't seem to be maintaining the project any more, hence why the latest CI builds have switched to Dobby.
[Magisk] CZ.Kostra:
Everything fine on Poco F5 pro with Xiaomi.eu ROM (MIUI 14.0.28.0 Android 13).
[Magisk] WhoIsJohnGalt1979:
Hahaha, while you gents were replying I had already read @osm0sis post mentioning the 108 update and was already downloading to flash it. Lo behold! the world is back in order and the fingerprint passes just fine :) Thank you! Phew
[Magisk] osm0sis:
Sounds similar to @Lord Sithek's issue, which we figured out and I've fixed for CI #114. Give that a try and PM if it doesn't resolve it for you so we can track it down. 🙌
[Magisk] osm0sis:
Did the custom ROM injector app path replacement stuff look it worked correctly? Same idea as @zgfg's original example script that was adapted into chit's per app, but now fully customizable with a separate file to list the target app paths. 🤞
[Magisk] du.port:
Clean data for these apps. Don't work.
[Magisk] osm0sis:
Oh, well you're only meeting BASIC based on your last screenshot, so you need to find a working print. Read the guides linked in my fork's README, and/or check out the links I put in the first part of that post I linked you. (y)
[Magisk] blu.italia:
Sorry but I don't understand what I have to do with the new magisk module of osm0sis. I have done these steps

Follow these steps:

Flash the module in Magisk/KernelSU

Clear Google Wallet cache (if you have it)

Clear Google Play Store cache and data

Clear Google Play Services (com.google.android.gms) cache and data (Optionally skip clearing data and wait some time, ~24h, for it to resolve on its own)

Reboot

But doesn't get back device integrity 😕
[Magisk] osm0sis:
If you don't have your own print you need to get your own print, see my previous post.
[Magisk] simplepinoi177:
Yup....that's exactly what I meant....you were only passing SafetyNet and that's no longer enough...you'll need to be passing MEETS_DEVICE_INTEGRITY (only passing MEETS_BASIC_INTEGRITY is akin to passing SafetyNet)...that's why you needed to update your checker...

Play Integrity Fix and Play Integrity Fork no longer works "out of the box" because it no longer has a working embedded "fingerprint" that allows you to pass MEETS_DEVICE_INTEGRITY (that will get all the services to work) -- v15.1 was working for a while, but that was because Google had taken a break banning these "fingerprints"; but they began banning it yesterday and @chiteroman will not update with an embedded "fingerprint" in future versions. You, and everyone else, now has to do some extra work to get either of these modules to pass or other methods to get help implement working fingerprints...
[Magisk] osm0sis:
Just want to say thank you for being on top of things! It's so very appreciated when other knowledgeable people like yourself help out! :love:
[Magisk] V0latyle:
well, he had said this before...

Still, the best course of action is for everyone to find their own print. I recommend PIFS because it's random, so it reduces the liklihood that you'd be sharing a print with anyone else.

Most of us who have found our own prints are still using them
[Magisk] sawdoctor:
QPR2 is causing issues on PIF using shadowhook but works with Dobby hence @osm0sis new test build a page back. That works with QPR2 beta 3

Edit feel free to delete this has already been answered
[Magisk] osm0sis:
@Wolfcity @CZ.Kostra just waiting on follow-up from you two, and hopefully we're all good now. :cowboy:
[Magisk] Umgak:
No problem!

I've been considering writing a guide for extracting props from various update package formats, but I've fallen down several other rabbit holes and not gotten back around to it.
[Magisk] CZ.Kostra:
I tried updating eu.xiaomi.module.inject v1 to the current version. This version of PIFork still works fine. When I turn off PIFork, the XEUinjector works. There was a collision earlier. Perfect work. 👍
[Magisk] osm0sis:
Also, of interest from a recent log I looked at, it seems that Google's well onto some of the custom ROM shenanigans by looking at the following properties, but isn't enforcing any of the checks yet:

01-16 19:26:43.611 21747 21747 D PIF/Native: [ro.superior.device]: bitra (unchanged)
01-16 19:26:43.611 21747 21747 D PIF/Native: [persist.sys.pixelprops.games]: 1 (unchanged)

I wonder how many other custom ROM props they know about and are looking at. 🤔😯
[Magisk] linuxares:
Do you have a Jedi trick?

"This is not the rom you're looking for" kind of trick?
[Magisk] simplepinoi177:
OH DIP!!!!

Excuse me if I'm late to the game....but i just found out the biggest main repo for ROM dumps on the web is down!!!

Jokingly but half-serious, I can't help but come to mind that it's a Google conspiracy...!!!!

But it seems that it's just the site master hasn't kept up with its credentials/certificates.....

@TheFreeman193 , will this affect your PIFS that pulls from it?
[Magisk] V0latyle:
Which one?
[Magisk] simplepinoi177:
the gitlab one...android dumps
[Magisk] osm0sis:
No, because they've all previously been harvested. It's not doing it on-the-fly.
[Magisk] V0latyle:
Tadiphone? It's still up
[Magisk] WhoIsJohnGalt1979:
Doesn't open for me across multiple browsers

View attachment 6056263

View attachment 6056270

I have reached out him on TG. Lets see if he replies back and updates the certificate which expired on the 14th. lol
[Magisk] simplepinoi177:
That's what I thought...but just confirming...

not for me on chrome and firefox....:eek:

View attachment 6056264

View attachment 6056266
[Magisk] Nergal di Cuthah:
not for me. i get "edge cant open"

View attachment 6056267
[Magisk] dosbuddy:
Site is not down, only the certificate was expired on 14/1/2024
[Magisk] V0latyle:
Just means there's a certificate problem.

Using Chrome, click anywhere in the window, and type thisisunsafe

You can also go to chrome://net-internals#hsts and enter the domain in the Delete domain security policies box
[Magisk] dosbuddy:
Call Chrome with option --ignore-certificate-errors and it will work on that site.
[Magisk] sawdoctor:
I have a collection of at least 100 build props that "have a chance of working" downloaded from that site. Most haven't been tested but if you need them i can share the folder
[Magisk] zgfg:
https://www.toptip.ca/2023/03/how-to-stop-google-chrome-from.html

Seems that Clear site data is necessary but that would sign you out from the logged-in sites
[Magisk] simplepinoi177:
Thank you for the offer...but I was just answering V0latyle in a vague way, not that I need anything from that site currently/necessarily...

I'm impressed you got 100 though! Good for you!

Even if I used Firefox InPrivate mode when I never use Firefox would this be necessary? I understand maybe Chrome (even though I'm Incognito mode on it, but I get that's not perfect), but in other browsers as well?
[Magisk] Umgak:
I don't think that will work on tadiphone as they're configured to HSTS on their end as well, your link appears to allow you to not enforce client side but nothing you can do server side.

Better dust off your time machines!
[Magisk] V0latyle:
The bypass I posted works - typing "thisisunsafe" in the window where you see the warning, then click Reload. It seems to be persistent, too, like it remembers the bypass for that site.
[Magisk] purgy:
Is there a similar trick for Firefox?
[Magisk] pershoot:
Something I noted, latest occurrence (few weeks ago) for me has drastically reduced the refresh time; I believe it took about ~6-8 hours or so as oppose to double+ that, previously and a bit more then that, the time before that.
[Magisk] tom1807:
I just tested my FP, all 13 are still working, incl. 2 from Nexus and 4 from Pixel devices.

Still rocking with my original FP for over 4 weeks.

Cheers

Tom
[Magisk] simplepinoi177:
Geezuz Chryse i'm so dumb....

first I typed it in the url box, it just brought me search results for "thisisunsafe"....😮‍💨🤦‍♂️ (don't come at me, I thought it was a "chrome://flags" type of situation!)

then I typed it in the url box and clicked reload -- predictably just reloaded the warning/error window.........😮‍💨🤦‍♂️🤦‍♂️

only when I clicked on a search result (because i tried again in the url box and accidentally clicked Enter once again....!) does it actually say type it "anywhere in

the window

"....Geez Chryse, i can be so dumb sometimes......😮‍💨🤦‍♂️🤦‍♂️🤦‍♂️

but in the end, it did it automatically and didn't need to click "Reload"...but thanks for the tip V0latyle!
[Magisk] simplepinoi177:
nice....did you get them through PIFS or just manually from a dump (or even extracting from ROMs?!?!🤯)?
[Magisk] Keiuran:
Must be nice. It's unfortunate that the one I had easy access to is one that the community decided to pick up at some point and got mine banned and now I have to do a bunch of work to try and find one that works and won't be broken shortly after.
[Magisk] tom1807:
A few are from Dumps of some unknown brands never heard before and some I extracted from ROMs like the Nexus/Pixel devices.

Cheers

Tom
[Magisk] simplepinoi177:
Thanks for the reply and answer!

Fascinating, it seems that even though PIFS potentially takes from those same dumps, it seems that for whatever reason those that are manually taken and sifted through the repo's/dumps aren't failing at the same rate as PIFS' script pulling from them (even if it's the same)...
[Magisk] majorfigjam:
Chances are that the automated script is not entirely random, and many devices end up with the same print, and so are easy for Google's algorithm to spot.
[Magisk] V0latyle:
There are literally thousands of working prints out there.

If you have concerns about this, you should ask @TheFreeman193 instead of making assertions when you aren't sure. He's a very smart dude, I don't think this is the case.
[Magisk] shoey63:
It's random enough.

Besides, it only utilises about 5% of the total database, which can be rotated with each release.
[Magisk] Jonog:
Dayum you google.
[Magisk] deechte:
I've been following this thread for at least 2 months, but have been too overwhelmed to start looking for my own working print. And of course it all kept working thanks to chiteroman. Until yesterday, now only basic integrity passes.

I've downloaded the pif.json repository from thefreeman from github. And have started to manually place random pif.json files from it in /data/adb/pif.json. After trying 30 or so prints I started wondering if chiteroman's 15.1 PIF module was maybe the wrong way, because of the built-in print.

So I replaced chiteroman's module with osmosis PIFork v5. But then I don't even pass basic integrity anymore, no matter if I place a /data/adb/modules/playintegrityfix/custom.pif.json file or not.

I'm only using one other module in Magisk (Systemless hosts). I'm not on GPR2.

What am I doing wrong? Any help is much appreciated!
[Magisk] pershoot:
Latest iteration (more recent then that 'few weeks ago'): ~12-13h refresh.
[Magisk] MrSteelX:
GitHub - TheFreeman193/PIFS: A collection of build properties for the PIF module

A collection of build properties for the PIF module - TheFreeman193/PIFS

github.com

The script will basically do everything you need to get new fp and install it. You just need to test.
[Magisk] Homeboy76:
:oops: TermOne Plus App - Google Pixel 8 Pro ???

TermOne Plus - Terminal Emulator for Android OS

TermOne Plus

Terminal Emulator for Android OS

Terminal emulator is an Android application that turns your Android device into an computer terminal.

It is useful for accessing the command line shell (built into every Android phone) or use custom one (installed separately). This allows you to run various command line utilities.

"TermOne Plus" is an open source project licensed under "Apache License 2.0". It is successor of Jack Palevich's "Terminal Emulator for Android". Application development of is maintained publicly - source code repository, issue tracing and etc...
[Magisk] niko26:
The information is probably burried somewhere in this thread (we really need a TOC for this thread and probably a FAQ - hello chat GPT :) ) - but can you outline the steps to copy the fingerprint from an existing device to a new one? Can we just copy it over? I have a Pixel 1, 4 and 6 unrooted flying around which I could get the FP from.
[Magisk] V0latyle:
Yes you can just copy the custom.pif.json over.

That being said, you don't have to get the print from a physical device. You can use @badabing2003's PixelFlasher to process build.prop from any device firmware dump. The Tadiphone dump seems to be the most comprehensive by far and easiest to use since you don't have to download and extract large firmware files.

As far as finding working prints...I can safely say that most fingerprints from older Pixels work :)

I HIGHLY recommend that you use Play Integrity Fork, and always use the migrate.sh script when trying a new print.
[Magisk] blu.italia:
Thanks for all the work!

Thanks to osm0sis, chiteroman and TheFreeman193!

The modules and scripts are awesome!

I've passed basic and device integrity.

Two questions:

1. My device isn't certified, is this a problem?

2. Magisk DenyList is reseted for play store and play services after each reboot, is that right and a problem?

Thanks for all
[Magisk] V0latyle:
As in Play Store?

Just force close, clear cache, restart. If you are passing 2/3 Play Store should show "Certified". Are you by chance on a custom ROM?

No. If you enforce DenyList on Play Services you'll break the fix. I don't have DenyList configured on any Google apps and everything works fine for me.