Closed shadoxxhd closed 4 months ago
Show a picture how it looks like
I've manually patched apps that do this, it's usually pretty simple.
I could give it a try. Where can I find documentation on ReVanced's patch format? I.e. what directory structure is expected, what goes in the fingerprints
/patch
directories, what @Annotations
are available, etc? Been searching for this stuff but I haven't been able to find anything.
@ubergeek77 https://github.com/revanced/revanced-patches/tree/docs/docs here you go.
Google services may be required for the app for various reasons, give it a shot.
It's not just google services - those are installed. When I temporarily enable the Play Store app, ChatGPT works, and when I disable Play Store, it stops working again.
I can understand the app requiring google play services, but not the play store itself.
The more difficult problem is the app just segfaults if it's been recompiled/resigned, even if there were no changes. I'm pretty sure I'm combining and resigning it correctly, but it's only available as a split APK making it annoying to work with.
Here is the segfault:
08-02 14:29:45.908 22919 22919 F libc : Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xb400007a6d0de070 in tid 22919 (.openai.chatgpt), pid 22919 (.openai.chatgpt)
But the only native library in the app is libpairipcore.so
, and the copy in the app I'm trying to install is hash-identical to the ones in the original app (in base
and in split_config.arm64_v8a
). Genuinely no clue why it's segfaulting.
The Play Store check at least seems straightforward? There is a single function that kicks off the check and the following "fatal" errors that show this dialog. I was going to stub it out and see if that worked, but I can't even get a recompiled app to launch.
For reference, I think stubbing this out will at least let you get past this dialog. No word on if it will fail further along, but I think this is the starting point:
Would change to:
Unfortunately I can't go much further than this because I can't even get the app recompiled due to the segfault :/
But the only native library in the app is
libpairipcore.so
, and the copy in the app I'm trying to install is hash-identical to the ones in the original app (inbase
and insplit_config.arm64_v8a
). Genuinely no clue why it's segfaulting.
libpairipcore.so is a drm.
Oh. Fun.
Welp, good luck folks.
libpairipcore.so is part of the Google Play Integrity API Using the Trusted Execution Environment (TEE) in Android, a mini OS responsible for security-relevant tasks. This also include a remote check for the phones integrity.
Google designed it mostly for banking apps. A total overkill for an app like ChatGPT.
If this trend goes on custom android roms will be useless.
Really sad to see that there is no legislation against this kind of behavior. If setting default browsers on first install is considered anticompetitive, forcing certain store/OS combinations should be much worse...
Over time, a lot of feature requests have been made, which is why I am closing some according to the contribution guidelines:
Requests can be accepted or rejected at the discretion of maintainers of ReVanced Patches
This feature request has been closed for one or more of the following reasons:
Regardless, anyone who comes across this feature request can PR it. Thanks for the feature request!
Application
chatGPT (the official android application by OpenAI)
Issue
The application can't start if play store is disabled (or otherwise not installed).
Patch
The application should never check what other apps I have installed, and start whether or not play store is enabled.
Motivation
Store-specific lock in is extremely user-hostile behavior, and prevents anyone who is either security-conscious (reading play store ToS is not fun), on a Huawei device, or simply on an older android, from using the app at all.
Acknowledgements