yashsingh1/xdaforums huggingface dataset:
[Magisk] maxmax0:
OK thank you guys, got it now.
[Magisk] chiteroman:
Beta update: https://t.me/playintegrityfix/987

I migrated to JSON because I can modify in C++ too. So yes, not only spoofing Java fields, also properties from C++, particularly props ending in api_level and security_patch.
[Magisk] chiteroman:
I'm very interested in this, check v13.3: https://github.com/chiteroman/PlayIntegrityFix/releases/tag/v13.3
[Magisk] xSnowLeopardx:
v13 still working with GWallet and Revolut.
[Magisk] V0latyle:
I swear I'm not being lazy or obtuse...Instructions on installing security patch?
[Magisk] Vision:
Found it in the build.prop i think in the device have it of course

ro.build.version.security_patch

ro.vendor.build.security_patch

After write it there

View attachment 6035493
[Magisk] knasiotis:
where do i get api level, let's say from a 2018 device

is it this one? "ro.system.build.version.sdk"
[Magisk] chiteroman:
Ultimate commands to try devices (as root):

nano /data/adb/modules/playintegrityfix/pif.json

killall com.google.android.gms.unstable && logcat -c && logcat | grep PIF
[Magisk] chiteroman:
I have like 20 fingerprints working lmaoooo
[Magisk] Vision:
1 of 2 this is for new

ro.system.build.version.sdk=

ro.build.version.sdk=
[Magisk] iruiz2:
Anyone with strong?
[Magisk] FIERA03:
ASUS Device is probably ZenPad Z8s
[Magisk] iruiz2:
Just installed it. 2/3 pass, as before.
[Magisk] immortalwon:
Unless you want Google to blacklist those keys and make it useless, he won't say it here
[Magisk] Vision:
🤯 Now with very simple words, if anyone found a fingerprint with broken TEE and write it inside in the pif.prop can pass and 3?
[Magisk] xcl1pse:
Nothin' to see here..
[Magisk] knasiotis:
how to do nano in su mode
[Magisk] chiteroman:
@osm0sis did a module for that: https://github.com/Magisk-Modules-Repo/nano-ndk
[Magisk] chiteroman:
Good job man !
[Magisk] knasiotis:
there is no releases section with the magisk module, I'm confused.

edit: I see i had to download the souurce as zip
[Magisk] TraderJack:
Mentioned in TG. I was checking about an hour. I ended up with 2 working for A8, 1 working A9, and 1 working for A11.

All from different device manufacturers.
[Magisk] knasiotis:
logcat command is freezing in my adb shell session

sorry for the noob questions but sometimes the second command doesn't work it stays frozen
[Magisk] knasiotis:
i see in many dumps different .prop files, which one should i take?
[Magisk] zgfg:
Btw, is there a way to invoke Play Integrity API checker by CLI

I tried with its activity but it doesn't work

:/ # am start -n gr.nikolasspyr.integritycheck/.gr.nikolasspyr.integritycheck.MainActivity

Starting: Intent { cmp=gr.nikolasspyr.integritycheck/.gr.nikolasspyr.integritycheck.MainActivity }
Error type 3
Error: Activity class {gr.nikolasspyr.integritycheck/gr.nikolasspyr.integritycheck.gr.nikolasspyr.integritycheck.MainActivity} does not exist.
[Magisk] TraderJack:
You don't need to take any. Use the default one that comes with PIF, that should work for everyone for now.

Some people are discovering their own fingerprints that work as well. As of now, these aren't being openly shared but we can obliquely discuss what types we are finding.
[Magisk] knasiotis:
I am also looking for a different fingerprint
[Magisk] zgfg:
It waits

Execute Check from Play IntegrityAPI Checker

Then terminate in the Terminal Emulator by Ctrl C
[Magisk] zgfg:
If this one works, then use it

The worst would be now to publish all working fingerprints, and give a chance to G (who monitors this chat!!!) to blacklist all of them

Unless ppl who are asking for are indeed from G and they want exactly that
[Magisk] knasiotis:
and i take the fingerprint from the vendor folder? or system/system? or odm?
[Magisk] sawdoctor:
So far both the pixel fold and pixel 8 pro running qpr2 beta are failing device integrity with default settings and also the Poco M3 running pixelOS
[Magisk] zgfg:
Read last few pages, it has been discussed today and yesterday

But fingerprint from your own phone will not work. The whole point is to spoof with a fingerprint from an appropriate phone that will trick DroidGuard

And that is important to keep secret - you have one provided by the module, so use that
[Magisk] knasiotis:
I read these posts, but that part is not clear to me, in some dumps there are multiple build.prop
[Magisk] zgfg:
Open View Code

Open update.json

Three dots and View

Find zipURL

And copy/paste that URL into browser to download

Ie, this is that URL to download:

https://xdaforums.com/attachments/update-nano-terminal-editor-v7-2-signed-zip.6031024/
[Magisk] andre101010:
I have the following phones:

Samsung galaxy s2

Samsung galaxy s5

Huawei mate 10 pro

Which phone should I be able to take a fingerprint from?
[Magisk] zgfg:
@chiteroman

With v13.2 everything was ok.

Now with v13.3 I pass Device but I have already got three times Google Play Services error popping up like on the screenshot

I'll try to see does it help if I reduce pif.json to the less labels like it was in v13 2
[Magisk] Nergal di Cuthah:
Yikes they want us to supply them the ammunition to fry this project
[Magisk] iiensu:
After installing Play Integrity fix and removing SafetyNet Fix I deleted Playstore and Google Services Data and after reboot my Xperia 1iii ended up in a Bootloop, namely "Smartphone wird gestartet" (German for "Smartphone is being started").

Does anybody have a clue, what happend and how to reactivate the phone without factory reset? Flash mode is not starting any more so Newflasher is no option unfortunately.
[Magisk] Nergal di Cuthah:
Is pif props file detectable by other apps?
[Magisk] badabing2003:
No, unless you allow them root access.
[Magisk] osm0sis:
v13.2 working fine on my Pixel 8 Pro with my custom print of choice. 😉

Haven't tested SECURITY_PATCH out yet, still using my older print that doesn't need it.
[Magisk] badabing2003:
13.3 working fine on Pixel 5

No custom print.
[Magisk] osm0sis:
Well, Google Play Services can still detect it if it wants... 😬

@chiteroman, you didn't fix /data/data/com.google.android.gms/cache/pif.prop ?!

See my previous report here:

🔧 [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

Also, updating the module shouldn't overwrite a custom pif.prop, that's a big usability issue.

My suggestions for that are in my previous report here:

🔧 [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] zgfg:
As I said I had no problem with v13.2 and v13.1, only now with v13.3

So something in the new module version, not due to Google

Here are my logs, I uploaded also to TG channel - but like most TG channels they are useless. After a minute there are thirty new posts, cannot find/scroll to the one I wanted to reply and everything goes to the total noise and mess
[Magisk] Nergal di Cuthah:
I understood, just commenting on that google wants the logs and Personally identifiable information inculding (presumably) the mismatched fingerprint
[Magisk] zgfg:
It throws exception only once (when there is no copy of the PIF file there)

Upon it copies the PIF file, no more exceptions
[Magisk] Vision:
@chiteroman One question, if pif.prop or json inside fingerprint you add, can Google see it and block it all of those?
[Magisk] dcarvil:
It looks like version 13.3 is not compatible with Magisk stable 25.2. With 13.3, I get error "Zygisk not loaded due to incompatibility". I do not get that error with 13.1, and did not try 13.2.

I have not upgraded Magisk to 26.x because there have been problems reported with all the 26.x versions, and I have not had any Magisk related problems that needed fixing before this one. I'll probably have to upgrade Magisk soon.

Phone is a Pixel 2 XL running LineageOS 20.
[Magisk] Vision:
I hope if this exist @chiteroman make it compatibility with Magisk Delta 24 and after (i have Magisk Delta v25.2 (25210 Canary) work perfectly and i not want update in v26.x because of these problems say by users

You can try the module ZygiskNext and see if work
[Magisk] TraderJack:
Amen. I don't understand TG especially with having to see the bots reply to everyone (except just the user who calls them). Thought I was the only one who found them infuriating. At least the search usually does seem to work pretty well in channels, but it is a horrible way to actually carry on any type of continuous convo!
[Magisk] dcarvil:
ZygiskNext will not install - "Magisk version is too old"
[Magisk] Vision:
Oh understand, maybe a old version of ZygiskNext
[Magisk] zgfg:
Google for sure monitors what is discussed here.

They can download the source, and theyprobably experiment themselves with the module

Hence they 'see' everything, it's just a matter of time when they will blacklist this bullhead as now in the module (last time they blacklisted the previous device/hack after about ten days of presence in the module)

So it's unbelievable that some ppl ask here for more fingerprints that still work to be published here. For whom they work?
[Magisk] dcarvil:
Nope. I went back to v4-0.6.0, which appears to be the first version to add Magisk 25208+ support. Still "Magisk version too old".
[Magisk] Paz9:
How do we edit the pif file? Do we edit the zip before flashing or the file in data/ADB/modules?
[Magisk] zgfg:
Same was asked and answered in details less than 24 hours ago

Unfortunately, it's probably buried already 6-7 pages behind 😁

Edit: Actually, ten pages behind
[Magisk] Paz9:
Thanks I'll have a browse.

I did go back a few pages but didn't see it :(
[Magisk] zgfg:
I know that eg I answered in two or three posts. But new pages were coming today like crazy.

Every hour or two there were two new pages...

Edit:

Sorry it was yesterday. Page 125 or so
[Magisk] sawdoctor:
Perhaps adding it to the OP or even creating a new thread with a guide for using pif file would be a good idea. Got to be honest i remember the post but a pia to find it again
[Magisk] osm0sis:
That's not the problem, the problem is that it's there at all. Play Integrity can find it there. We're giving them a big red flag to look for until it's fixed.

See my previous post again:

🔧 [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] osm0sis:
You can do either, but no point in wasting time on the zip repeatedly when you can just edit it in /data/adb/modules
[Magisk] szwab:
It's pretty trivial to extract the zip and edit the pif.prop file, but where can I find the values from an old device of mine?
[Magisk] chiteroman:
v13.3 released as stable build: https://github.com/chiteroman/PlayIntegrityFix/releases/tag/v13.3

Now everything can be spoofed.
[Magisk] badabing2003:
Are we back from pip.json to pip.prop?
[Magisk] TraderJack:
I can confirm that when I did a PIF logcat a few hours ago when testing I saw a lot of noise like this. However I just tried it again and let it run for a few minutes with no apps open and it doesn't appear to be logging anything unless I go open the store and do another integrity check.

I can't say for sure I was testing with the same fingerprint now as I was last time, but I definitely was getting lots of logcat messages from PIF before...so many that I wasn't even sure that it was the right PIF being grepped and went back up to the logs to verify it was.

I know @chiteroman rewrote some things in C, so not sure if this could be related, but again doing a logcat now and it is pretty silent.
[Magisk] pndwal:
Well reason is that you can create a backup plan or 'plan B', and your can move to plan B immediately too.

Privately set props are much less likely to get noticed/blocked by G, and even when current default PIF set (eg bullhead derived Edit: default print/device is already charged) are blocked yours will hopefully continue to work...

Also, you can experiment with working combinations and keep records for a quick personal fix in the event that your private settings get blocked/fail... You may also be able to help others (eg privately) in the event that the default props fail...

If you're only concerned about passing now (until it doesn't), I doubt there's much real benefit, however seems @chiteroman is also learning/improving underlying code despite some (expected) regressions...

Theres also the "If it ain't broke" argument... Some will want to let others do the fiddling/experimenting and even stay on old trusted versions for as long as possible; and that's also what the working default settings in current customisable builds are for... Others will be happy to join the "wild ride" and sit in front seats...

😛 PW
[Magisk] badabing2003:
Probably because you were using a debug build.

@chiteroman

Any plans on preserving custom pif.prop on updates?
[Magisk] Paz9:
Thank you kind sir.
[Magisk] pndwal:
Why do you think fingerprint from your own phone cannot work?

As I've said, when fingerprint based enforcement was introduced many users were able to use own device props for the mismatch; many on A11 just used A10 prints (with matched Security patch level date of course)...

AFAIK, same device print props will only not work if Google specifically blacklists those prints for BASIC-only evaluationType verdict use. 😬 PW
[Magisk] TraderJack:
Barring the most recent changes to adding the security patch and API levels, what is PIF fundamentally doing different than the USNF was doing? Is it just that all USNF's fingerprints were blocked? Meaning that if we updated USNF to the bullhead FP (or any others we found working) would it continue to function? Figured you would know the answer to this quick w/out me actually digging through GH trying to figure out the code.
[Magisk] pndwal:
Fundamentally yes, I believe so, although @chiteroman has also changed code, hooks etc for better trace hiding from banks etc... he'd clearly be in the best position to say if anything other than print prop was fatally broken in USNF however.

While not 100% sure, I believe that would work... Of course editing the targeted prop code is not as straightforward as those globally set in service.sh etc...

😆 PW
[Magisk] :
Hi, sorry if this is repetitive but I have read the thread and I don't understand if we can now achieve Strong Integrity and how ? Anyway thank you for your hard work @chiteroman
[Magisk] V0latyle:
So how exactly do we configure a security patch in 13.3? Does someone have a written guide somewhere?
[Magisk] V0latyle:
Just assume the answer is "no" - STRONG will only pass on locked bootloader with factory firmware. No exceptions.
[Magisk] FIERA03:
Executing the nano command on termux(rooted) & returns an error "Path '/data/adb/modules/playintegrityfix' : Permission denied".

All possible Permissions are allowed, including access rights to all files. Is there any way to fix this?
[Magisk] TraderJack:
That's possible/probably I tried one @chiteroman posted on TG asking for feedback from Pixel users. Right now on the latest 13.3 from GH what I get leaving logcat on for about 30 minutes:

Spoiler content hidden.
[Magisk] osm0sis:
@chiteroman V13.3 works on my Pixel 8 Pro, but I had to add API_LEVEL=29 to my previously working custom pif.prop to get it to pass. I'm guessing when not supplied you have it falling back to the system value instead of to 29? Might be better to have it fall back to our known working 29. Request withdrawn. 😘

Also, please address my other 2 previous issue reports: https://xdaforums.com/t/module-play-integrity-fix-safetynet-fix.4607985/page-134#post-89175721
[Magisk] pndwal:
I tried to answer that here:

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

and here:

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

To sum up: If fingerprint you spoof is dated after March 16 2018 (find the fingerprint's date from the ROM/firmware/factory image it originated from) and change the SECURITY_PATCH field to this date to be CTS/VTS compliant). If fingerprint date earlier, you can use current device set SECURITY_PATCH date... (Matched dates aren't required for older prints.)

Note this valuable tip quoted from @Didgeridoohan:

@Didgeridoohan's MHPC notes are the only proper/best written guides I'm aware of...

👀 PW
[Magisk] tdog0101:
Well, a bit of good news -- PIF v. 13.2 worked for me today (after I cleared all the module caches). Two of my three bank cards (both credit-type cards) were re-accepted back into my G wallet and I used them successfully at stores this afternoon (they were also accepted by our subway system's eChip-readers). The third card is a debit card, but I suspect the issues there are more due to the bank in question, and not to PIF itself. Thanks so much to everyone for their ongoing hard work in fixing these challenging issues!
[Magisk] mac796:
I checked mine and it's 29 on my pixel 8 pro. Without messing with anything
[Magisk] osm0sis:
I'm using a previous custom pif.prop. The included one has 29. I'm talking about what happens when you remove that line from an old one that should pass.
[Magisk] pndwal:
I noticed 29 is default setting too... You're not using Pixel 7 or newer device are you?.. if so module may actually be working properly and setting 33 (system/device first API level) which of course fails... You'll need to set it for A13+ LV devices, and any level of 32 or lower should be fine... PW
[Magisk] osm0sis:
Exactly, P8Pro, which is why I think the hardcoded fallback should still be 29 when not otherwise specified in the pif.prop, though I suppose setting it to something more recent could also be interesting.
[Magisk] pndwal:
No... We need a way to set props to system values easily (incl Security Patch level), and leaving blank is doing that... It will also work for all devices other than LV A13+ devices, and is better than keeping default 29... For LV A13+ you simply must add the field/apply the change, and this was always known... USNF set it to 32 for 33+ devices always... Now you have a choice to go lower!

IMHO it's very good as it is. 😉 PW
[Magisk] osm0sis:
My thought was API_LEVEL could be the exception to that, but fair enough! I'll add API_LEVEL to my pif.prop generating script then, but should it pull it from the build.prop? I'm thinking yes, then if 33+ set it to 32.
[Magisk] pndwal:
It was always device value unless 33+... If 33+, yes, set to 32 as Google enforces HARDWARE _BACKED verdicts on all devices launched with A13+...

Any lower settings are just for experimentation... 👍 PW
[Magisk] awarexda:
So for us that aren't so much distilled in coding and modding, let me please express that personally I have no idea where the pif.prop is located, how to locate and modify the security patch, how on earth I will find a fingerprint and where I will add it... I just feel being a heart surgeon with no knowledge on the field...
[Magisk] osm0sis:
You can always just enjoy the default one from the module.
[Magisk] chiteroman:
API_LEVEL refers to all props that end with that, including ro.product.first_api_level, if this prop is > 32 or doesn't exist it will force a hardware attestation.

But with few fingerprints, if you set it to high numbers it will force a hardware attestation and with lower numbers it will force a basic, passing CTS profile but not Device verdict.

In modern devices like Pixel 8 Pro if I'm not wrong there are more props with the same value as first_api_level, others same as security_patch, because they have boot and vendor props.

You can check the hook in code and see how it works 🙃
[Magisk] sawdoctor:
On the pixel fold running latest beta qpr2 .13.1 and 13.2 failed device integrity but 13 passes device. Could this be the reason why?
[Magisk] lehoang96:
For my Xiaomi 13 (running EU stable rom), API_LEVEL must be set to 32 to get volte work. My question is does your module work with the whole system or just google droidguard? And if it work with whole system, can you add whitelist for volte service?
[Magisk] osm0sis:
Oh wait, so I shouldn't add it to my pif.prop generator script, since it should be for the current device not from the fingerprint device. Maybe I'll just add it empty or test the live device and set it accordingly. 🤔

Ah, yes just noticed this as well. All API 26+ devices seem to have HARDWARE_BACKED in SN, and setting it to 25 forces BASIC there and passes CTS, but then for PI you still cant pass DEVICE_INTEGRITY.
[Magisk] zgfg:
Ok, I see. He copies first to Cache, then reads from there

But (interestingly), if you edit pif.prop in the module's folder and

killall com.google.android.gms.unstable

(so, without restarting)

and then test PI, it will take your new values

---

Btw, I have tested with v13.2 and I can only remove MANUFACTURER from pif.prop - if I remove any single other, Device Integrity will fail for me

---

In v13.3 we have now Realme. So those who cried for reserve pif.prop and for whom Bullhead in v13.2 worked fine, can keep those prints and have as a backup - in case that Realme would be blacklisted

---

Those who installed Beta v13.3 yesterday can upgrade (without manually downloading) to Stable v13.3 (having again pif.prop, not pif.json but with additional SECURITY_PATCH and API_LEVEL labels)

- go to

/data/adb/modules/playintegrityfix

- open module.prop and downgrade versionCode from 133 to 132

- reopen Modules tab in Magisk app and it will offer you to upgrade to the new Table v13.3
[Magisk] emontes:
13.3 fixed it for me on a Pixel 7 Pro

Amazing job , @chiteroman !
[Magisk] OPO13R:
This "fix" did not fix my status, but break it completely instead.

Running Android 14 on my Google Pixel 7.

The the original fixer (that has been mentioned as "outdated " correctly) let me access Google apps at least.

I followed the instructions (cleaning caches and data from (Play Store and Services).

I did not and will not edit custom values inside system files. I don't feel skilled enough.

View attachment 6035717
[Magisk] sawdoctor:
The latest 13.3 now passes device on the pixel fold running QPR 2 beta 1.1. So it's either something you changed between 13.3 test and 13.3 official or something Google changed in QPR 2 beta 1.1 over beta 1.

Either way thank you for your hard work and I'm sending a donation now that will get you a 6 pack of your favourite beer
[Magisk] zgfg:
First of all, v13.3 Beta (as well as official v13.1 and v13.2) spoofed to Nexus 5X and v13.3 now changed and spoofs to Realme RMX1931EEA

You can see that (and edit yourself) in the corresponding pif.prop (Beta had pif.json), unzip and see the file there

I don't think Google changed anything since yesterday
[Magisk] sawdoctor:
13.1 ,13.2 and 13.3 beta all failed device integrity on the pixel fold and pixel 8 pro running qpr2 beta. Tbh i was just looking for the common denominator as 13.1 and 13.2 were working for some users on the pixel 8pro. The only ones that passed device were 13 and the new official 13.3 on QPR2

Hopefully that makes sense
[Magisk] zgfg:
Yes but you see that v13.3 now spoofs your phone as Realmi, no more as Nexus as thise previous versions of module did, hence it causes differences for your phone regarding Device Integrity

Btw, for my Xiaomi A13, all versions work fine (Device and Basic)

Mileage may vary
[Magisk] sawdoctor:
Yes I get that and understand it. I just don't know why 13.1 and 13.2 worked on official pixel 8 pro but failed device integrity on QPR2. My concern was Google had done something in the latest beta that was going to break/mess with PIF and then get pushed to official. I'm not the most technically minded on here, just wanted to troubleshoot
[Magisk] Vision:
Yeah understand, if anyone need know, must send private message and not post here
[Magisk] Vision:
Oh, that's bad