Skip to content

Commit 8dc3d95

Browse files
committed
Add Photomath Plus unlock
1 parent 8cbf692 commit 8dc3d95

File tree

4 files changed

+51
-1
lines changed

4 files changed

+51
-1
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
- Unlock subscription features
5555
- Disable subscription suggestions
5656

57+
### Photomath
58+
- Unlock plus
59+
5760
## Supports
5861
[![Discord Server](https://img.shields.io/badge/Join-Discord-5865F2.svg?logo=discord)](https://discord.gg/QWUrAA2mKq)
5962
or [Create an issue](https://github.com/chsbuffer/ReVancedXposed/issues/new/choose)

app/src/main/java/io/github/chsbuffer/revancedxposed/MainHook.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import io.github.chsbuffer.revancedxposed.common.UpdateChecker
1313
import io.github.chsbuffer.revancedxposed.googlephotos.GooglePhotosHook
1414
import io.github.chsbuffer.revancedxposed.meta.MetaHook
1515
import io.github.chsbuffer.revancedxposed.music.MusicHook
16+
import io.github.chsbuffer.revancedxposed.photomath.PhotomathHook
1617
import io.github.chsbuffer.revancedxposed.reddit.RedditHook
1718
import io.github.chsbuffer.revancedxposed.spotify.SpotifyHook
1819
import io.github.chsbuffer.revancedxposed.strava.StravaHook
@@ -31,7 +32,9 @@ class MainHook : IXposedHookLoadPackage, IXposedHookZygoteInit {
3132
"com.google.android.apps.photos" to { GooglePhotosHook(lpparam) },
3233
"com.instagram.android" to { MetaHook(app, lpparam) },
3334
"com.instagram.barcelona" to { MetaHook(app, lpparam) },
34-
"com.strava" to { StravaHook(app, lpparam) })
35+
"com.strava" to { StravaHook(app, lpparam) },
36+
"com.microblink.photomath" to { PhotomathHook(app, lpparam) },
37+
)
3538

3639
fun shouldHook(packageName: String): Boolean {
3740
if (!hooksByPackage.containsKey(packageName)) return false
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package io.github.chsbuffer.revancedxposed.photomath
2+
3+
import android.app.Application
4+
import de.robv.android.xposed.XC_MethodReplacement
5+
import de.robv.android.xposed.callbacks.XC_LoadPackage
6+
import io.github.chsbuffer.revancedxposed.AccessFlags
7+
import io.github.chsbuffer.revancedxposed.BaseHook
8+
import io.github.chsbuffer.revancedxposed.fingerprint
9+
import org.luckypray.dexkit.query.enums.StringMatchType
10+
11+
class PhotomathHook(app: Application, lpparam: XC_LoadPackage.LoadPackageParam) : BaseHook(
12+
app, lpparam
13+
) {
14+
override val hooks = arrayOf(::UnlockPlus)
15+
16+
fun UnlockPlus() {
17+
dependsOn(::EnableBookpoint)
18+
getDexMethod("isPlusUnlockedFingerprint") {
19+
fingerprint {
20+
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
21+
returns("Z")
22+
strings("genius")
23+
classMatcher { className(".User", StringMatchType.EndsWith) }
24+
}
25+
}.hookMethod(XC_MethodReplacement.returnConstant(true))
26+
}
27+
28+
fun EnableBookpoint() {
29+
getDexMethod("isBookpointEnabledFingerprint") {
30+
fingerprint {
31+
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
32+
returns("Z")
33+
parameters()
34+
strings(
35+
"NoGeoData",
36+
"NoCountryInGeo",
37+
"RemoteConfig",
38+
"GeoRCMismatch"
39+
)
40+
}
41+
}.hookMethod(XC_MethodReplacement.returnConstant(true))
42+
}
43+
}

app/src/main/res/values/arrays.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
<item>com.instagram.android</item>
99
<item>com.instagram.barcelona</item>
1010
<item>com.strava</item>
11+
<item>com.microblink.photomath</item>
1112
</string-array>
1213
</resources>

0 commit comments

Comments
 (0)