yashsingh1/xdaforums huggingface dataset:
[Magisk] intel_core_i7:
Yeah play store is not there by default. You can easily enable it though, there's a toggle in settings to turn on basic gms and enable play store within xiaomi's own "getapps" app store. No sideload needed
[Magisk] pndwal:
Ah. Thanks for clarification... Still, must be 'uaer added' so not bundled/optimised as system app it seems... GApps (complete GMS suites) w/custom ROMs will install in system (although updates run in user memory)...

Do you know if Play Store is available via GetApps in mainland China?; I understood there were mechanisms to prevent Google Mobile Services (ie. the collection of Google applications and APIs that help support device functionality as a whole), or at least Play Store, from operating there (although users of China region devices outside China, eg travellers, can clearly use GMS incl. Play Store). 👍 PW
[Magisk] sethieplayz:
So PIF is still unreliable on newest A14 release? Just bought a pixel 6 pro and rooted on A13 to avoid payment issues, but would like to update
[Magisk] pndwal:
I believe all current PIF builds, both @chiteroman fork from USNF and @osm0sis fork from PIF, now use dobby (not shadow hook) so should be fine... Also, Magisk issue/regression with latest Android 14 due to need for 'new methods for signatures and arguments' was fixed in 26403... 👍 PW

Edit: @osm0sis fork is still using shadow hook, but issue with that only exists for A14 late beta build...
[Magisk] intel_core_i7:
Yeah play store is not there by default. You can easily enable it though, there's a toggle in settings to turn on basic gms and enable play store within xiaomi's own "getapps" app store. No sideload needed

No idea. But I think GMS although not enabled by default and stripped down to an extended level is still a system process. If not then you will probably have a broken mess like what microg is (gms on those phones might be less involved than microg on an aosp device, but things work way better), and play store wouldn't be able to install apps.

Most limitations can be overcome by manually disabling battery optimization for those apps.

Only thing I know is that many people in my country don't need those more advanced gms stuff (google pay, android auto, etc) so they are pretty happy with those mainland Chinese xiaomi devices, not much of a compromise.

For more advanced stuff you should probably ask those guys at xiaomi.eu project, they may know a thing or two.
[Magisk] osm0sis:
Incorrect. Mine is still ShadowHook. See my Known Issues in the v5 release post, or just look at the code on GitHub.

That said, 14 QPR2 isn't due for stable until March, so there's lots of time for ShadowHook to update and for me to look into the options.

I also can set the record straight (again?) that PIF is not an actual fork of USNF. USNF was in Kotlin, PIF was in only C++ at first and now C++ and Java. Forking isn't about ideas it's about direct code lineage.
[Magisk] pndwal:
Duplicated...

Of course it is!... As I thought and you confirmed, it's included! (Implementation as a system app is a given)...

Play Store specificly, along with other Google proprietary user apps, are not to be included in China region ROMs according to all doc's I've seen...

Quite...

Good tip...

Mmm... You've confirmed what I understood so no need....

I'd said:

To which you'd said:

so I wondered if you meant GMS (ie. the collection of Google applications and APIs that help support device functionality as a whole) including Play Store now came bundled in China region ROMs generally... Clearly they don't, and we both already understood that core Play Services/Framework does however...

Pretty sure that's included only to support Play Store etc outside of Mainland China, which benefits Chinese going abroad as well as users like yourself, so happy days! 🤠 PW
[Magisk] sawdoctor:
All versions work on android 14 it's android 14 beta (qpr2) that has issues with osmosis fork. As long as you stay away from Beta firmware all versions of PIF should work
[Magisk] pndwal:
Ah... I mis-remembered... Sorry! 😆... Will edit...

Great... I'd also assumed non beta ROMs w/ 'new method signatures and arguments' were already available since a number of users seem to be having issues... If not, thats a good thing...

Well @chiteroman GitHub PIF definitely originally had "forked from Safetynet-fix' header, but from @Displax fork... Of course all that's changed, commit history as well as credits are gone, but second post here confirms this as same info was in original OP:

... Myself and others helped @chiteroman (then @swer45) understand some functions of his own fork before he properly understood it's behaviour precisely because it was a USNF fork initially with minimal changes...

Also, @Displax fork is 58% C++ and only 27% kotin (@kdrag0n USNF is similar), and @chiteroman has clearly re-written much code since... Guess he just did it his way...

I, for one, would be happy to see fork acknowledgement along with credits for @kdrag0n's and @Displax's work properly restored...

@kdrag0n especially did groundbreaking work with fallback to basic attestation trigger especially (replace Keystore became current inject fake Keystore registration to cause exception and fallback)...

We're simply manipulating props here for userspace spoofing to fool Google servers, which is a continuation of @Displax's work. 😶 PW
[Magisk] osm0sis:
You're right, there is also C++ for the Zygisk side in USNF: https://github.com/Displax/safetynet-fix/tree/dev/zygisk/module/jni

(I missed it from the completely different code organization between the USNF and PIF repos).

But as soon as it was completely rewritten from scratch the code lineage is gone and it's not a fork anymore, so he was right to reopen his repo without the GitHub fork heading. He could acknowledge where the ideas originally came from, but the code itself is not a fork.

I specifically make a point on my repo to credit the things that were directly taken from USNF, which specifically are the module scripts, because it's the right thing to do: https://github.com/osm0sis/PlayIntegrityFork?tab=readme-ov-file#credits
[Magisk] intel_core_i7:
Got it, it was quite confusing to read at first
[Magisk] pndwal:
Just to be clear, @osm0sis PIF fork was definitely tested with QPR2 B2 and Magisk 26403+?... I didn't see a report but guess you did... 👍 PW
[Magisk] pndwal:
Oh, ok... But can you say if basic fallback method changed?... I think it's been the same in USNF since Riru based.... Maybe he recoded to change injection method, but if base function is the same it still seems that the principle is forked, unless it's ok for developers to nick methods and simply redress the code... 🤔

Guess if it's no longer a fork he was actually right to expunge commit history then?... How else would he make it an original work?...

I certainly agree that credit should be given simply because it's the right thing to do... I'd include using a working principle that was evolved over months/years...

It's still a fork (not an original work) AFAIC. PW
[Magisk] blue whale:
So with the official android 6 ROM by Samsung for my S5, I want to build my custom PIF.JSON following this template

https://raw.githubusercontent.com/osm0sis/PlayIntegrityFork/main/module/example.pif.json

but in build.prop I can't find the field "DEVICE_INITIAL_SDK_INT": "",

the only field with 'SDK' in it, is called ro.build.version.sdk=23

so what do I put in the JSON ?
[Magisk] PatrickJK:
APatch has reached a state where ZygiskNext is working, and I'm glad to report that Play Integrity Fork v5 is working as expected.
[Magisk] osm0sis:
Sorry, you're wrong. Fork is a technical term and it has a specific meaning. Ideas and principles aren't what's forked, code is, and this code isn't forked, it was rewritten from scratch.

As I said, it's proper etiquette to provide acknowledgement for where a borrowed idea comes from, but it's not necessary and it's not what fork means.
[Magisk] osm0sis:
If you follow the Build.java link in the example comments you'll see it's the correct name for the field with the same value as ro.product.first_api_level:

core/java/android/os/Build.java - platform/frameworks/base - Git at Google
[Magisk] Vision:
This APatch how install ? any guide ?
[Magisk] thf1973:
Maybe ask in the Telegram Group (link can be found on the GitHub page):

GitHub - bmax121/APatch: The patching of Android kernel and Android system

The patching of Android kernel and Android system. Contribute to bmax121/APatch development by creating an account on GitHub.

github.com
[Magisk] awarexda:
May I wish you all a Happy Prosperous New Year and a Custom FP!!!
[Magisk] PatrickJK:
It's pretty new and may not work for everything, zygisk support only got finished this morning, but if you go to their github actions and view the most recent successful build, you can download an artifact called "APatch" which will be a zip with the apk inside. You'll need your rom's boot.img and you patch that using the APatch app. It will ask for a super key which can be anything, just make sure you remember it. Once boot.img is patched flash it to your boot partition, reboot, and launch the APatch app. Hit the button at the bottom right to enter the super key and enter the one you set when you patched boot.img. You should see an install option under the AndroidPatch, tap that and you should be good to go. Regular magisk/kernelsu modules can be installed in the APModule tab which is the one all the way on the right. You'll need to install the ZygiskNext from the link in my last post as official ZygiskNext doesn't have APatch support yet.

Unless you know what you're doing though or enjoy tinkering around, I wouldn't recommend using this yet. There's still lots of bugs being worked out so things may not work properly or crash. In terms of passing play integrity though, things seem to be working as intended.

I'm not a dev so can't really answer many questions about APatch, just someone with too much time on their hands who is interested in a kernel level root solution that works on more kernels than what KernelSU supports. The telegram group linked on their github will be able to provide much more help.
[Magisk] Dragon Kumera:
hahaha I think its official lineage os 20 for my pixel xl gen 1. But I barely turn it on so it is just sitting there.
[Magisk] BunnyPig1:
I have no knowledge with APatch but trying to understand what it can do.

Chiteroman mentioned that it might be the future for root, what are your thoughts about this?

What will APatch be able to do that Magisk or KernelSU can't in terms of Play Intergrity and hiding root?
[Magisk] PatrickJK:
Unlike Magisk, both KernelSU and APatch modify the kernel directly which can allow for more advanced changes. The main difference between KernelSU and APatch is that KernelSU only works with kernels version 5.10 and above (without having to compile the kernel manually), whereas APatch can work on kernels from 3.18 - 6.1 according to the github.

I'm on a device with the 4.19 kernel, so KernelSU isn't an option for me.
[Magisk] HippoMan:
I'm definitely interested in investigating APatch.

How do we query our system's kernel version?
[Magisk] PatrickJK:
Should be in android settings > about phone > android version. could also use termux and run "uname -r"
[Magisk] HippoMan:
Oh, I forgot that I can click on Android Version and get more info. Yes, I see my kernel version.

Thank you.
[Magisk] EuK_V:
Happy new year to all!

Been away from this tread for a while, just wanted to ask if xiaomi eu prints are getting banned this days? Spent quite a lot of time to find working prints for myself and now a bit worry if xiaomi eu prints will continue to burn..
[Magisk] majorfigjam:
Happy new year!

There are literally thousands of devices with usable prints, if people take the time to look. Even if xiaomi.eu burn one a day, that gives you until 2026 before all your prints will be wasted, unless you were unfortunate enough to pick the same brand to start with.

Of course, if Google change the validation rules, then all that may change. So far so good though.
[Magisk] sawdoctor:
Kernel patch will Only work on arm64 devices so some older devices are out of the window. Reading the telegram group it seems it's better at hiding itself ATM though
[Magisk] Javiolini:
Damn i was ready to give up on this whole dumpster diving for prints stuff but using @TheFreeman193 pickaprint script and @osm0sis PIF i got a working print first try! was i lucky or are there really that many working ones? in any case thank you guys so much!
[Magisk] HippoMan:
There are lots of working FP's ... thousands. Of course, there are lots more FP's which are non-working, which is why the dumpster-diving approach can be so frustrating.

Yes, the Freeman193 and osm0sis packages are things which rightly deserve our gratitude.
[Magisk] xSnowLeopardx:
Still passing 2/3 - 28 days later :D
[Magisk] vMAC:
You got lucky.... Or I'm doing something wrong. I have done 145 prints none work.
[Magisk] HippoMan:
I suggest you re-read the post by @Javiolini that you quoted in its entirety. You will then see that he used the Freeman193 package to gain relatively quick success.
[Magisk] badabing2003:
New Release:

Dec 30, 2023 change log:

Pif Manager option to Force First API to 25 (some prints like Xiaomi.eu are missing the value and that would cause newer devices to fail Device Integrity).

Pif Manager options are now saved so that each time you open Pif Manager, the last settings are loaded.

Bug Fix: Enable checkboxes in Magisk Modules.

In Magisk Modules, add VersionCode column.

Better positioning of Pif Manager with respect to the parent window.
[Magisk] simplepinoi177:
This does make me curious and wonder about something...

I know most of the members here have found their own custom fp and/or used thefreeman's to get passing 2/3,

but for any using PINext....

Since it's drawing on the xiaomi.eu prints, how many times have you had to "open the app and then check for Play Integrity Attestation. The module will download the new PIF.json." (source)?

I'm curious at the rate Google bans from xiaomi.eu & PINext users vs./compared-to PIF...
[Magisk] xSnowLeopardx:
Love these updates so much. Really great things being added.
[Magisk] EuK_V:
I'm also curious about that.. Personally haven't used daboynb's solution, using pif with my own prints.
[Magisk] badabing2003:
I added the feature to PixelFlasher on Dec 23, it hasn't gotten banned since.
[Magisk] wfred:
Wasn't expecting you to 😂

Thought I'd throw it out there as something to check for anyone who claimed v5 wasn't working for them.
[Magisk] Nergal di Cuthah:
Maybe the "pig" got the holiday off
[Magisk] simplepinoi177:
I kinda was just thinking that....since 15.1 was released and it hadn't been banned yet...and it being non-business day Saturday (in US PST), i'm betting it will pass for those using it til Tue (holiday on Mon.)...

Then it's time for PIG (Play Integrity Guy) to clock back in that time card and fulfill his "salary" (burn fingerprints)...
[Magisk] badabing2003:
Hopefully that and not working on better spoof detection solution.
[Magisk] HippoMan:
... or I guess it could also be possible that the Googlefrinchians have made a New Year's resolution to deal with our spoofing in a more generous, open-hearted manner.

However, giving the "pig" a holiday indeed seems like a more likely scenario.
[Magisk] vMAC:
I did read his post. I am also using TheFreeman script, as I've stated in previous posts. I'm near 200 without one working.
[Magisk] Nergal di Cuthah:
What other modules do you have (magisk and lsposed)
[Magisk] Nergal di Cuthah:
I'm still not sure the pig is carbon based but maybe it needs a skin-pig to set it loose.
[Magisk] simplepinoi177:
how are you testing the pif.json's from the script? Manually, or....?
[Magisk] majorfigjam:
Read your PMs
[Magisk] shoey63:
Later pixels need to use pifs from a different directory

See Here and Here to hardcode the fix
[Magisk] vMAC:
I've manually at first then because I didn't think it was working I switched to Play Integrity API Checker.
[Magisk] badabing2003:
Take a pause, something is not right. 200 prints without success is unlikely.

What module / version are you using?

What other modules do you have? how about LSPosed modules?

Try the Xiaomi.eu print, see if that works, if it does not, you're doing something wrong, and testing more TheFreeman prints won't lead to any different result.

Get it working with xiaomi.eu print first, which today is known to be operational, that will guarantee that your setup is good, then move on to a random print from @TheFreeman193
[Magisk] vMAC:
Thank you will try it now.
[Magisk] sawdoctor:
Think the Google PIF guy is on his Christmas holidays ATM so nothing is getting banned until next week. Thursdays and Mondays tend to be his days
[Magisk] jabennett:
"Good programmers write good code. Great programmers steal good code." 😁
[Magisk] badabing2003:
Latest Release:

Dec 30, 2023 v6.5.3.0 change log:

Added Smart Paste Up to simplify getting operational for beginners.

It automatically sets the First API to 25 if it is not set, otherwise keeps the value.

It automatically reprocesses the output window content, to meet module / version requirements.

It automatically pastes the processed data into Active Pif window

If Auto Update pif.json is checked.

Updates the correct pif.json on the device.

Kills the unstable GMS.

Runs Play Integrity Check if Auto Check Play Integrity is selected.

Updated screenshot for the guide.

If you are already setup, here's a quick and easy way to get operational.

Click on Get Xiaomi Pif: First we want to get Xiaomi.pif because we expect their latest to be functional, hence we will use it to validate our setup.

Click on Smart Paste Up button, this will:

Automatically sets the First API to 25 if it is not set, otherwise keeps the value.

Automatically reprocesses the output window content, to meet module / version requirements.

Automatically pastes the processed data into Active Pif window.

If Auto Update pif.json is checked:

Updates the correct pif.json on the device.

Kills the unstable GMS.

Runs Play Integrity Check if Auto Check Play Integrity is selected.

Click on Update pif.json button if automatic options are not selected in the previous step.

Select the test method and click on Play Integrity Check button to run the test (you can do this on the device if you want to skip doing it in PixelFlasher)

If the test passes, click on Favorite button (the heart) to save the print in your favorites.

If the test passed, you're ready to proceed on finding a random print from @TheFreeman193 collection.

Click on Get TheFreeman193 Random Pif button

Repeat steps 2 to 5

Rinse and repeat if the print fails, about 8-10% of TheFreeman193 prints should pass.

Guides here and here are also updated.
[Magisk] HippoMan:
Oh, I see. I'm sorry for misunderstanding.
[Magisk] HippoMan:
We R Kang!
[Magisk] linuxares:
Works like a charm. Not that much changed on my fingerprint I tested on x3 @badabing2003
[Magisk] osm0sis:
In other news, uhhh, check out how the PINEXT "developer" has had GitHub's Actions CI making an empty commit to his autojson repo every 5 minutes since Dec 20th... 😵‍💫🤡

Commits · daboynb/autojson

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

github.com
[Magisk] Umgak:
Keep in mind also that PIFS only has about 5% of fingerprints processed according to @TheFreeman193, all from publicly available firmware dumps. There are many phones which have few or no dumps online, and most dumps only have one or two ROM versions - meaning if you're willing to dig, PIFS is only the tip of the iceberg.

Empty-Commit

It looks like he's bewilderingly set it up so that the empty commit itself is what causes the Action to run, and he's set up a server to automatically just commit nothing (probably cron job) every 5 minutes. At that point, why not just run the pif.sh using cron on that server and modify it to compare and commit all from that one server, so that it's not spamming garbage into the git history?
[Magisk] vMAC:
Thank you @majorfigjam for the help.

@osm0sis i tried the same fp with your fork and it didn't work. Went back to chiteroman's and it fired right up.

Might there be something with your fork and P8P devices?
[Magisk] Umgak:
Are you using the QPR2 beta? Fork uses Shadowhook, which is broken on QPR2. 15.1 uses Dobby, which is not broken.
[Magisk] simplepinoi177:
If that's the case, it makes a promising case of what @shoey63 had pointed out; which i've quoted below (about the newer Pixel devices and thefreeman's script).

chiteroman has an embedded fingerprint, so when that inevitably gets banned and you're forced to attempt to implement your own custom fingerprint once again, you're gonna be confronted with the issue again (it seems you may not be implementing it correctly since the confirmed working xiaomi.eu fingerprint also didn't work).
[Magisk] osm0sis:
My phone is a Pixel 8 Pro. 😛

You are either on 14 QPR2 Beta or forgot to migrate the print json correctly. 😉
[Magisk] vMAC:
No not on Beta just December OTA release (Stock ROM)

I followed this thread on my phone to get TheFreeman's script on my phone and was trying to use it to find scripts as I mentioned previously. I followed this directly:

Not on Beta. This is what I did with the print I received.

1) I change the name to custom.pif.json

2) Using Root Explorer i dropped it in /data/adb/modules/playintegrityfix/

3) From Termux I ran: killall com.google.android.gms.unstable

4) Tested with Play Integrity API Check (Failed)

5) I then went to the folder /data/adb/modules/playintegrityfix/ and ran sh migrate.sh, after doing this I saw the same info from the json in the output of the script

6) I ran killall com.google.android.gms.unstable

7) Tested with Play Integrity API Check (Failed)

8) I downloaded Chiteroman and installed with Magisk

9) Rebooted

10) Copied the json file from Downloads to /data/adb/

11) From Termux I ran: killall com.google.android.gms.unstable

12) Tested with Play Integrity API Check (Passed)

Profit!!

Would love to know what I might have been doing wrong. If there is in fact an issue with what I have done and it will regress soon please let me know. I would like to figure out what I am doing wrong and how I can get onto a custom fp.
[Magisk] Umgak:
Sounds like you did everything right to me. I'd be interested (and I'm sure @osm0sis would be too) to see the output of adb shell "logcat | grep PIF" from your PC, or su -c "logcat | grep PIF" in termux, while performing a PI test.

Make sure to redact your print. May need to turn the logging level up too, osm0sis would know better on that.
[Magisk] ptewee:
I recently moved from @chiteroman 's module to @osm0sis 's v5 fork, and I noticed that @TheFreeman193 's script did not consider the migrate.sh script in @osm0sis 's v5 fork, so I forked the @TheFreeman193 's repo and put in some additional stuff that fits what I'm trying to do.

Prints that worked in @chiteroman 's module and did not work in @osm0sis 's was likely because of not running the migrate.sh script. After running migrate.sh script I could get them working as usual.

Feel free to comment.

https://github.com/ptewee/PIFS/tree/fork-100
[Magisk] simplepinoi177:
From the limited I know about chiteroman's newest version (since he implemented the ability to have 2 pif.json's [one is the embedded, one is a custom if you'd want]), but from what I see in your numbered steps, you might simply be implementing the embedded fingerprint (the 14.6 one that works for the time being) and that's why it's working for you -- it would work in any case whether the "migrating" is correctly done or not.

But, again, I could easily be wrong, and any expert member experienced with the newer versions can correct me and/or explain why i'm wrong...
[Magisk] simplepinoi177:
Your script really looks impressive & promising; a good supplemental fork of TheFreeman193's script...
[Magisk] novicecoder0:
I had flashed a zip to remove bootloader unlocked message at start, could it be related to that? Apart from that already tried everything. Will see of the problem persist after a factory reset, if not will install a clean LineageOS, I guess