-
-
Notifications
You must be signed in to change notification settings - Fork 426
feat: Add Disable pairip license check
patch
#4927
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
base: dev
Are you sure you want to change the base?
Conversation
Disable license check
patchDisable license check
patch
patches/src/main/kotlin/app/revanced/patches/angulus/misc/license/DisableLicenseCheckPatch.kt
Outdated
Show resolved
Hide resolved
patches/src/main/kotlin/app/revanced/patches/angulus/misc/license/Fingerprints.kt
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would also take a look at changing the daily limit patch to returnEarly(0) as the method returns an int, and calling returnEarly without a value seems kinda weird
patches/src/main/kotlin/app/revanced/patches/angulus/misc/license/DisableLicenseCheckPatch.kt
Outdated
Show resolved
Hide resolved
I find |
patches/src/main/kotlin/app/revanced/patches/angulus/misc/license/Fingerprints.kt
Outdated
Show resolved
Hide resolved
@oSumAtrIX We currently don't have a helper method for |
What's a daily limit patch? Regarding the utility function, i guess the simplest is to pass the return operand as a string 👍 |
The daily limit patch is the existing ads patch. App checks to see how many measurements the user has taken today, and then blocks functionality until an ad is watched.
The constant size is hardcoded to a 4-bit |
Can add an overloaded function
That calls into: So the usage for boolean return methods is a bit more explicit |
Why not replace the instruction with regular |
That's definitely a possibility. Although I don't think that would work for a string literal (where you'd use |
Currently Instead of just boolean and string overloads, the utils method could be overloaded with all primitive types plus String, as that gives better type safety since the parameter type would need to match the method being patched. Then for the implementation just modify the existing private util method and have all the overloadeds call onto it. |
Disable license check
patchDisable pairip license check
patch and add returnEarly
/returnLate
overloads
Pushed new commits that move pairip patch to shared location, and added I didn't do an overload for |
@Suppress("unused") | ||
val disableLicenseCheckPatch = bytecodePatch( | ||
name = "Disable license check", | ||
description = "Disable Play Integrity Protect (pairip) client-side license check." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Description should be improved in my opinion. Basically every pairip version is based on libpairipcore.so
, and that cannot be disabled (not by this patch, at least). May be worth noting it in the patch description, this patch is only bypassing the smali license check, but if the app has native checks, it won't open anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll change it to whatever language someone suggests :P
.../src/main/kotlin/app/revanced/patches/shared/misc/pairip/license/DisableLicenseCheckPatch.kt
Show resolved
Hide resolved
Disable pairip license check
patch and add returnEarly
/returnLate
overloadsDisable pairip license check
patch
Just a simple, little patch to bypass the client-side validation of the Google Play Licensing response. This should work for any app that only does the client validation (if we want to move the code to a shared location.)
Fixes #4776