yashsingh1/xdaforums huggingface dataset:
[Magisk] :
I'm about to start my learning curve.

Firstly, thank you to @Alpha_Geek1 for asking that very important starter question, i.e. what IS a fingerprint, what does it do and why might you need it. Perhaps a paragraph might be added to this noob friendly guide to that effect? In my case, I know at a basic level what its intention is (something like, to identify the device to Google) but tbh I knew next to nothing more than that. At first, I even confused it with the literal fingerprint one uses to secure a device!

As I understand it, I can pretty much use the fingerprint of ANY device to spoof, Google simply checks that it passes muster. So I'm assuming I could actually use the fingerprint of my own device (an Xiaomi Rednote 10s) I have the stock ROM for the phone (I keep everything, just so I can go back if I want/need) and I'm assuming I can find the files I need from there. That will enable me to at least check that I can provide a custom fp - whether it passes or not is a separate issue.

Would that be broadly speaking in the right direction?

(Btw, I tend to be long winded too! ;) )
[Magisk] Nergal di Cuthah:
The device needs to be old enough to trigger basic test instead of hardware. Meaning i can't use my p6p fingerprint because it will trigger hardware check. You need to use a device that supported oreo at somepoint.
[Magisk] :
Thanks for that. I have another candidate that might meet that criteria.
[Magisk] trevtdogg:
I'm not sure why so many people have this idea to start with a fingerprint from a device that they can physically access.

start with build.prop files you find online. it's trial and error, you will probably have to try many prints before you find one that works. I only had success on my 5th try.
[Magisk] Nergal di Cuthah:
Slightly less chance soneone has it (if it's a less popular phone) or not scraped at all yet by dump sites. I found one on xda that wasn't in the dumps i found
[Magisk] trevtdogg:
yes I agree, but look for one of those as a bonus once you find a working one online first. they way you get up and running faster.
[Magisk] simplepinoi177:
@Hybrid Divide, I hope you come back and let me/us know if changing the "30" to "25" helped matters.... It would be good for theoretical purposes...

I'll consider putting my response to him (hopefully you got to mine) somewhere in the OP -- if you and more people really think it'd be very helpful...

This is correct, you can technically use & test ANY device; it's just that the newer devices are exponentially less likely to pass than ones from Android 10 or older -- sweet spot being Android 6-8; as the newer the device, the less likely.

So, as it's been sort-of explained in the OP and elsewhere, the api_level/"DEVICE_INITIAL_SDK_INT" (these are the newest terms for "FIRST_API_LEVEL" and are both the same) above 33 trigger a hardware backed attestation check (which is something the new devices fail), so lowering this value seemingly further away from 34 often helps a custom fingerprint pass.

I say all of this because I suggest for your Rednote 10s to at least lower the API Level (I'm betting it'll be above 33 as it was already released in '21); I feel a really good number is "25".

This is true, and that's the point of manually lowering the first_api level; to not trigger the hardware attestation check. But it still means theoretically, any devices after 2016 have/do support Oreo (backwards compatibility), it's just that most likely those after Android 10 is super highly unlikely and a lost cause (especially if you're gonna go about it natively without changing the first_api level); so @pancakenow 's Rednote 10s is an option, just unlikely (especially if first_api level isn't lowered; but even then...).

I know what you mean! I was recently reading the PIF thread back to when custom fingerprints were first required or a discussion with a couple of other members at the time (can't remember which discussion), and it was mentioned how some poor misguided users were actually buying (or thinking of buying) actual old 2016-2019 devices just to get access to their fingerprints!!!

But, as it's been mentioned before, it costs nothing and if it's accessible and just laying around (and rooted), then it's worth a try. i mean, that's all testing from repos and such is -- picking whatever one (sometimes randomly) seems worth a try and giving it one.
[Magisk] Hybrid Divide:
It didn't seem to work for me, unfortunately. I got up and running by hitting that button in PixelFlasher to pull a random fingerprint from the database. I know it's not likely to last as long, but it at least gets me up and running for the moment. Passing both Basic and Device checks.

I have also been given a friend's old Samsung Galaxy S7 Active to try. I just haven't had time to root it yet to get the full build.prop file. (A lot of effort to just get the file! lol) But it did get Oreo, so it's worth a shot. I just wish it was a less popular model, but at least up until I root it, it's never been rooted before, so that's something!

This process really needs a more visual tutorial, with screenshots and such. It really took awhile to wade through the ton of text. And there's STILL a lot that I don't understand! lol
[Magisk] badabing2003:
Why do you need root to get the props?
[Magisk] Hybrid Divide:
From what I've read, without root, using ADB won't display all the props.

But also, the file explorer I use can't retrieve the build.prop file from system without root. It can SEE it, but not read it. So by that logic, I'd be needing root!

Seriously great job on PixelFlasher, though! That's a great program that is going to stay on my PC for a good long time!
[Magisk] Hybrid Divide:
How did I miss that?! LOL 😅

To be fair, when I retrieved the first build.prop file, I had already downloaded the file to my PC.

But thank you for pointing that out! I'll have a look when I get home!
[Magisk] simplepinoi177:
That's good @badabing2003 you included that! I was just going off of osm0sis' guidelines post and it says

And I think I mistook that as ALL props....my bad. I think I've been directing members wrongly....🤦‍♂️

very glad to hear you got up and running! And it will last a lot longer than PIF or PINext -- although both of those seem to be going since before NYE....
[Magisk] badabing2003:
The statement "but some props may not be visible unless rooted" is accurate, however for our use cases, I have yet to see a prop that we need to spoof not being available unless rooted.
[Magisk] trevtdogg:
just another note on this; fingerprints are ROM specific - meaning every individual device that is running the same ROM, has the same fingerprint.

i know you have already figured out the misunderstanding about root being required to access the build.prop, but just also letting you know that just because an individual device has never been rooted doesn't make it's fingerprint more valuable. if someone else with the same device and the same ROM has dumped it online, then everyone can access it.

a fingerprint is more valuable only if a) it actually works to pass device, and b) the build.prop is rare - meaning the build.prop or ROM has never been uploaded to the internet, or is not easily found online.
[Magisk] simplepinoi177:
One other thing of note -- in relation & on-top-of what's been said in the quoted post -- is what I've recently added in to the OP (bottom part of Section 2; quoted below) where there can be numerous/many fingerprints per device & ROM since it should also be considered the ROM version of said device as well....
[Magisk] :
In my case, it's not the device itself but the ROM. I make sure I have copies of the stock ROM before flashing a custom one to my device, in case I want/need to go back.
[Magisk] simplepinoi177:
@uschipower , I go through what you are inquiring on with some OEMs (Vivo, Samsung, & Asus) ROM firmware files in Section 1.1.2 within the spoiler "Spoiler: How-To & Basics for extracting" -- and I also added a .zip file that holds the tools. If those are the manufacturers of ROMs you were downloading, you might find what I wrote and the tools I ended up using useful....

If you have any questions, please feel free to ask here or to me directly...
[Magisk] :
More on the 'why' of having the ROM/device already....

I tend to scim guides/instructions to begin with to gain a sense of what is is that I need to do. Then I go back and read more closely (if needed, a basic toaster for instance doesn't require me to do that!) Thinking of it as building or layering. Once a layer of knowledge is gained then I move on to the next step.

If one doesn't know what one is doing then it's a bit daunting, at least at first. You have to wait for the knowledge to build and solidify before feeling confident - it's the learning process. Step at a time. Having a ROM already takes one step out of the process (searching for one). Then you can focus on the meat of the issue, i.e getting the info you need. If that info works and passes the test then cool. If not, then you can start searching for it with a little bit more knowledge of what it is you're looking for.

I had a quick look at my Xiaomi stock ROM yesterday, and I learnt something (which I know most of the folk here will know already) There isn't a single system.img - there are several differently named images. I'm presuming a system image gets built when flashing, and I saw there was a flash list, and batch program or a script that does the flashing. This doing (I simplify) a list of image flashes. Then I recalled mention in this guide of lists, so I'm figuring (and probably wrongly!) that I'd either need to build the system image 'manually' locally OR sift and parse through each image searching for the info I needed.

As it happens, I've fortunately been headed off at the pass and need to do neither! The ROM is Android 11 and no good. BUT had it have been, then I would been doing a detailed and closer read of the guide to understand the steps I needed.

As a further 'as it happens', I have 2 other candidates that fall into the Android 6 - 8 sweet spot, 2 for which I have the stock ROMs. That gives me 3 different manufacturer/device to play with. I'm optimistic.
[Magisk] simplepinoi177:
Yeah...I've hardly heard of many getting Android 10 or 9 to pass, no more/less than 11 or above...but it's always worth lowering the first_api in giving it a shot/try....

Too bad you said you tried and it still didn't pass -- that's just how this hunt for fingerprints goes sometimes...
[Magisk] :
Fret not ! To be clear, I didn't try. I merely looked at the ROM to familiarise myself and then quickly realised that I needed to read/understand some more.
[Magisk] simplepinoi177:
Oops, i got you confused with Hybrid Divide.......sorry

but yeah, even at Android 11, it's usually worth lowering the first_api (because that number would be higher than the 33); you never know if you get a rare one where that's all that's needed to get that particular fingerprint to work...!

But yeah, it's always a good idea for one to take their time to read and understand as much/most as possible -- so I commend you for doing that. If you have any further questions or in need of any clarification, please don't hesitate to ask here or me directly....
[Magisk] chuppito:
Hello, I just lost my fingerprint. Google had to deactivate it. I'm going to start my long search again
[Magisk] simplepinoi177:
Sorry to hear that....! Yeah....I guess they went on a banning spree just today after a long break from before New Years Eve -- since they notoriously banned PIF's current one (from 14.6) today as well....

Were you using a smartphone fingerprint or an Android device fp?
[Magisk] :
Tbh, I'm not sure I can be bothered with the pfaff of looking for an fp (though I do like a challenge!) I'm debating returning my phone to stock or just not using wallet/banking apps,.probably the latter because I can get by without in truth.
[Magisk] chuppito:
Thanks to you, I created the fp in magisk with a fingerprint found on the dumps. I hope that the next update of the module will arrive soon apparently it corrects this from what I understood he does not put it yet to avoid the banning of the future version by Google

I just injected a second FP which worked instead, I regained almost all the integrity of the phone￼
[Magisk] simplepinoi177:
What a lot of others are saying/thinking/planning is to purchase a smartwatch that does NFC Tap to Pay -- you can keep the watch on a locked bootloader (thereby passing DEVICE and even STRONG) and still have your phone as it is now....

I'm glad you got it. I truly urge & suggest osm0sis' PIFork because i see firsthand from him how he works meticulously to "future-proof" his module -- IMHO more than chiteroman's PIF main branch...! But, of course, osm0sis requires a custom fingerprint. And AFAIK, PIF and chiteroman has announced/stated that he's no longer embedding any fingerprints in his future releases -- the only reason he did here was because he learned that the fingerprint he used in v14.6 was banned only temporarily and was no harm or work re-using it (for the time being until Google would ban it; which was today).

Sorry as I can't recall (and kinda too lazy to do a proper search) if you were using PIF or PINext... What I just stated applies to PIF; I can't speak to PINext as I've never used it, don't keep up with it, and couldn't tell if that's what you were referring to ("not putting it yet to avoid the banning of the future version by Google"; which kinda wouldn't apply & make sense as I understand that PINext will update the fingerprint inside the module/apk and doesn't need to release a new version to input the new working fingerprint)
[Magisk] chuppito:
I just tried PIfork, it only passes basic integrity. I switch back to playintegrity
[Magisk] simplepinoi177:
I see...thanks for coming back to answer/confirm...

I haven't used osm0sis' latest PIFork version, but I'm of the belief/impression that you're supposed to use the migration script on your original pif.json's from PIF to get it working with PIFork....

Just so you know if you ever choose to go that route. I imagine you'll stick with what works until it doesn't.....
[Magisk] :
I did the same and found the same (i.e. only a basic pass) so I switched back to pif... and I still only have a basic pass! I'm going backwards!! ;) I'm going to try an older version of pif, I don't think the latest version works without your own fp.
[Magisk] :
Exactly.
[Magisk] chuppito:
I did a lot of testing today and only had failures with PIFork. I went back to a custom pif.json everything works fine again
[Magisk] simplepinoi177:
Yeah....the embedded fp (that was used in v14.6 that Google unbanned [temporarily; because seemingly of extended holiday vacation]) was banned once (and probably in finality) again yesterday.

You could try older versions of PIF -- as that's how chiteroman found that the 14.6 fp was no longer banned -- but it is highly unlikely that will do it for you.

The only reason why @chuppito got his working going back to PIF is because he was using his own found custom fp and new versions of PIF now support custom FPs....
[Magisk] :
Thanks, I'll try 14.6

Just got an error with 14.9 (couldn't get Google token, 10k tests per day) so maybe 14.6 won't work either until tomorrow.
[Magisk] simplepinoi177:
yeah...like i said -- not for you specifically @chuppito , but for any readers reading and/or those wanting to fully understand the issue -- most likely you missed using the migrate.sh script that "migrates" the custom pif.jsons that work on the main branch Play Integrity Fix module to work with Play Integrity Fork (osm0sis updated his module so it's more future-proof, but also meant updating the fields and values and code as well).
[Magisk] simplepinoi177:
@LucasBS1 , if you have the build.prop, then you can run the script shown in the first post under "required reading" (the url above "CLICK TO SHOW CONTENT"); but I've quoted it below (I'll put an amendment in the OP for those who doesn't have a computer; thanks for giving me the idea). Hopefully you have root and can run a script in your TV box. Otherwise, you'll have to export that build.prop out from your TV box and into an android phone where you can run this script and/or a computer if & when you can get access to one...

Just go to the link below, and download the gen_pif.custom.sh attached to the post.
[Magisk] Wolfcity:
I still work with this "old-fashioned" way (with PIF fork):

1) Looking for a firmware dump

2) Download build.prop and vendor-build.prop

3) Put them in a folder together with gen_pif_custom.sh in Mixplorer (or any other file explorer that can run scripts).

4) Run gen_pif_custom.sh

5) Copy the created custom.pif.json to

/data/adb/modules/playintegrityfix

6) Force stop play services

7) Check with Playstore or TB Checker.

8) If only basic integrity passes lower

DEVICE_INITIAL_SDK_INT and api_level to something around 25.

Begin again with 6).

And as written above several times: If you change to PIF fork you only have to migrate your prints once.

Btw, I'm still on my fingerprint from the beginning of December.

Thanks to @osm0sis for, module,script and a helping hand!
[Magisk] simplepinoi177:
Great concise step-by-step!

What made the situation you quoted upon uniquely interesting is that he wanted to pull from an Android TV box! Making your steps 3-to-5 challenging to do. I mean, if we're all going about under the assumption of fingerprints that Google will least likely to ban, and Android TV box is promising to that -- although I'm of the personal belief that if you get too obscure, it's just as less likely to work/pass; on top of I'm thinking it still flags for Google when a fingerprint for a device that doesn't have tap to pay or Wallet or stuff like that is asking for Play Integrity API check....

Just so you know, with his newest version (I believe it was implemented in v5, but for sure in v6 and future versions), the migrate happens when you install the module over the existing pif.json -- no need to run the migrate script, as it's done for you now.

Me too! That's what I'm saying and why I try to push & advise for mining your own fp. More often than not, once you get a custom found one, it holds and passes -- I especially push this for those who say they don't want to keep updating and/or are worried about having it suddenly not work because of the constant banning.
[Magisk] Wolfcity:
Agree, this method may not be perfect for TV boxes. But it may help other users to find an easy way to get their own print, maybe because no PC is available (so no pixelflasher which is awesome to use if you're able to!).

And yes, I forgot to mention that from PIF fork v5 on the migrate function changes your actual print into the correct form by itself.

I used the migrate script manually to adjust my replacement fingerprints, even if I didn't need them by now.😉
[Magisk] :
Wahay! I've finally managed to get my own fingerprint! The process wasn't actually that difficult just time consuming in finding a working fp. Pixel Flasher does make life easier, so big thanks for that particular tool.

My thanks to all (@badabing2003, @simplepinoi177, @osm0sis and many others) for your instruction, not to say patience ;)
[Magisk] rdmnacC:
Finally found a proper FP and patched it in with pixel flasher too. I just want to thank everyone involved in the process of creating, maintaining Magisk, Play Integrity Fix, and Pixel Flasher, as well as the simple guide by "simplepinoi177". (Won't "@" anyone to not spam busy people.) I've needed my wallet for an emergency these last couple of days, so yeah. Thank you ALL!!
[Moto G Power Questions & Answers] Chamik1:
My phone is g8 power. I was playing with bootloader and TWRP recovery mode. Then i switched from slot A to slot B and rebooted the phone but i didn't installed any software on slot B and now it is in edl mode. I made the phone communicate with my pc by qualcomm drivers. I tried installing software by qfill but didn't find any files for my moto files on the internet. I have same phone that is not in edl mode if that could somehow help. Please tell me how can i solve this problem. (sorry for my english)

edit: THANK YOU VERY MUCH
[Moto G Power Questions & Answers] Renate:
Switching slots without fastboot or TWRP is a bit tricky.

You certainly have to relabel everything in the GPT and maybe (?) modify the misc partition.

Your Motorola Firehose loader is definitely restricted so you can only read/write a subset of partitions.

You might be able to copy over the fastboot critical partitions from A to B and get to fastboot that way.

You are really sure that you were on A (good) before you switched to B (bad)?

Can you get a listing of partitions and does your software read the GPT GUIDs?

Can you post the Firehose loader you are using?
[Moto G Power Questions & Answers] Chamik1:
About slots i am sure. I only have custom recovery others partitions i didn't touch and i don't know how list these in edl mode. I didn't change firehouse loader.
[Moto G Power Questions & Answers] Chamik1:
I didn't flash to slot B anything
[Moto G Power Questions & Answers] Renate:
That may be, but I still don't know which loader you are using.

If you want to continue with my EDL client:

Go to the EDL page in my sig.

Read the instructions.

Download edl.exe

Install the Zadig driver for WinUsb

C:\>edl /lfirehose.bin
C:\>edl /g

And post the Firehose loader.
[Moto G Power Questions & Answers] Chamik1:
I installed edl.exe and Zadig drivers for WinUsb. Try these commands in PowerShell and it shown this.

PS C:\> ./edl.exe /lfirehose.bin
Found EDL 9008, handshaking... nope, resetting...
Could not write device
PS C:\>edl.exe /g
Found EDL 9008, configuring...
Could not write device
[Moto G Power Questions & Answers] Renate:
Yes, it has to start fresh.

Leave the USB cable plugged in all the time.

Hold the power button until it resets.

Don't bother with subsequent commands if the previous commands clearly failed.

(And use [code] instead of [icode].)
[Moto G Power Questions & Answers] Chamik1:
It worked better and there is code.

PS C:\> ./edl.exe /lfirehose.bin
Found EDL 9008, handshaking... version 2.1
Serial: aec11c5d
HWID: 0010a0e102e80000, JTAG: 0010a0e1, OEM: 02e8, Model: 0000
Hash: 974359c4290cac7f-9f0dc9a802815b5e-2b376b7a7c1be92c-1e816b5287f18610-5830f3b5c0e4be30-8cf48802ae4c8447 (x3)
Could not open firehose.bin
PS C:\> ./edl.exe /g
Found EDL 9008, configuring... bad XML
[Moto G Power Questions & Answers] Renate:
The message was pretty clear. I said "firehose.bin" because I don't know what your Firehose loader is called. Use the filename of your Firehose loader.

(I also asked you to post it.)
[Moto G Power Questions & Answers] Chamik1:
Here is the firehose loader and can you tell me what is it for?

Firehose loader i found on github.

GitHub - bkerler/Loaders: EDL Loaders

EDL Loaders. Contribute to bkerler/Loaders development by creating an account on GitHub.

github.com

PS C:\> ./edl.exe /lfirehose.bin
Found EDL 9008, handshaking... nope, resetting... version 2.1
Serial: aec11c5d
HWID: 0010a0e102e80000, JTAG: 0010a0e1, OEM: 02e8, Model: 0000
Hash: 974359c4290cac7f-9f0dc9a802815b5e-2b376b7a7c1be92c-1e816b5287f18610-5830f3b5c0e4be30-8cf48802ae4c8447 (x3)
Sending firehose.bin 100% ok, starting... ok, waiting for Firehose... ok
[Moto G Power Questions & Answers] Renate:
Ok, that ran successfully. Where's the edl /g?

This is what I wanted the loader for:

C:\>qcomview /r firehose.bin
Addr LUN Start Count
------ --- -------- --------
007dd0 0 0 256
007de8 0 256 78336
007e00 0 1609948 512
007e18 0 1610496 512
007e30 1 1 1