-
-
Notifications
You must be signed in to change notification settings - Fork 426
fix(Spotify): Fix login by replacing Spoof signature
patch with new Spoof package info
patch
#4794
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… `Spoof package info` patch
I do not have login issue since beginning. Is this issue based region or their account choosen as an A/B tester? |
Regional and account based A/B. |
patches/src/main/kotlin/app/revanced/patches/spotify/misc/fix/Fingerprints.kt
Outdated
Show resolved
Hide resolved
patches/src/main/kotlin/app/revanced/patches/spotify/misc/fix/SpoofPackageInfoPatch.kt
Outdated
Show resolved
Hide resolved
…SpoofPackageInfoPatch.kt Co-authored-by: LisoUseInAIKyrios <[email protected]>
This fails with the legacy app target |
![]() @LisoUseInAIKyrios This is much simpler |
But that doesn't replace the installer package and the legacy app probably has the same issue as the latest app target. |
However IS_SPOTIFY_LEGACY_APP_TARGET may still not be enough. Later versions might still not have the installer name check. I am still not really conviced of the version checking practice we currently have in youtube or spotify. Its difficult to scale |
The old versions dont have an installer name field in the requests they make. In fact the patch is redundant for old versions of Spotify: Neither the signature nor the installer name are present. |
IS_SPOTIFY_LEGACY_APP_TARGET works by checking for the main activity name, which will be stable unless Spotify changes the main activity again. There's always 1 main activity so there cannot be both old and new names present. It would be really handy if apktool extracted the app version, but it doesn't so it requires clunky stuff like this. |
If it's not sending the package name, then yes I think it can be simplified. |
Yes but the installer name might have been added after even if the new activity exists. You are assuming the installer name has been added to the request at the same time the activity has been renamed. |
I'll force push my commit. We can revert if somethings missing there. |
faafc6c
to
89f4d83
Compare
For the legacy target, the installer does appear to be sent here. But I'm not sure if this code is reachable
|
Is it possible to mark this patch as not needed for version < 9? And mandatory for >= 9? 4f87180 is much cleaner imo |
Apparently its missing in the clienttoken request, this also is the case for the unpatched app. I don't think we need to consider anything further than that. |
It can early return, but do we know if the installer name was really added exactly when 9 was introduced? |
Slightly older versions of 9.0 are not important. The only versions that matter is the latest, and the single old legacy target. |
patches/src/main/kotlin/app/revanced/patches/spotify/misc/fix/SpoofPackageInfoPatch.kt
Outdated
Show resolved
Hide resolved
The patch does not break with checking the string on versions that "do not matter" and neither on the ones that matter. However with checking the activity, it'll break with the ones that "do not matter". |
Can use two fingerprints (latest and legacy). They're small fingerprints and a little copy paste keeps it simple |
# [5.20.0-dev.7](v5.20.0-dev.6...v5.20.0-dev.7) (2025-04-15) ### Bug Fixes * **Spotify:** Fix login by replacing `Spoof signature` patch with new `Spoof package info` patch ([#4794](#4794)) ([d639151](d639151))
# [5.20.0](v5.19.1...v5.20.0) (2025-04-15) ### Bug Fixes * **Duolingo - Hide ads:** Support lastest app release ([#4790](#4790)) ([215fccb](215fccb)) * **Spotify - Unlock Spotify Premium:** Remove premium restriction for 'Spotify Connect' ([#4782](#4782)) ([50f5b1a](50f5b1a)) * **Spotify:** Fix login by replacing `Spoof signature` patch with new `Spoof package info` patch ([#4794](#4794)) ([d639151](d639151)) * **YouTube - Remove background playback restrictions:** Restore PiP button functionality after screen is unlocked ([6837348](6837348)) ### Features * Add `Set target SDK version 34` patch (Disable edge-to-edge display) ([#4780](#4780)) ([dcf6178](dcf6178)) * **Spotify - Custom theme:** Add option to use unmodified player background gradient ([#4741](#4741)) ([0ee3693](0ee3693)) * **YouTube - Swipe controls:** Add option to change volume swipe sensitivity (step size) ([#4557](#4557)) ([8957325](8957325))
Spoofing the installer's name may or may not work. Currently testing. So far pretty much everyone reports it's working.