this post was submitted on 12 Sep 2024
133 points (97.2% liked)

Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ

53779 readers
362 users here now

⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.

Rules • Full Version

1. Posts must be related to the discussion of digital piracy

2. Don't request invites, trade, sell, or self-promote

3. Don't request or link to specific pirated titles, including DMs

4. Don't submit low-quality posts, be entitled, or harass others



Loot, Pillage, & Plunder


💰 Please help cover server costs.

Ko-FiLiberapay


founded 1 year ago
MODERATORS
 

cross-posted from: https://lemm.ee/post/42024710

Android apps are blocking sideloading and forcing Google Play versions instead

You might sideload an Android app, or manually install its APK package, if you're using a custom version of Android that doesn't include Google's Play Store. Alternately, the app might be experimental, under development, or perhaps no longer maintained and offered by its developer. Until now, the existence of sideload-ready APKs on the web was something that seemed to be tolerated, if warned against, by Google.

This quiet standstill is being shaken up by a new feature in Google's Play Integrity API. As reported by Android Authority, developer tools to push "remediation" dialogs during sideloading debuted at Google's I/O conference in May, have begun showing up on users' phones. Sideloaders of apps from the British shop Tesco, fandom app BeyBlade X, and ChatGPT have reported "Get this app from Play" prompts, which cannot be worked around. An Android gaming handheld user encountered a similarly worded prompt from Diablo Immortal on their device three months ago.

Google's Play Integrity API is how apps have previously blocked access when loaded onto phones that are in some way modified from a stock OS with all Google Play integrations intact. Recently, a popular two-factor authentication app blocked access on rooted phones, including the security-minded GrapheneOS. Apps can call the Play Integrity API and get back an "integrity verdict," relaying if the phone has a "trustworthy" software environment, has Google Play Protect enabled, and passes other software checks.

Graphene has questioned the veracity of Google's Integrity API and SafetyNet Attestation systems, recommending instead standard Android hardware attestation. Rahman notes that apps do not have to take an all-or-nothing approach to integrity checking. Rather than block installation entirely, apps could call on the API only during sensitive actions, issuing a warning there. But not having a Play Store connection can also deprive developers of metrics, allow for installation on incompatible devices (and resulting bad reviews), and, of course, open the door to paid app piracy.

top 49 comments
sorted by: hot top controversial new old
[–] onlinepersona@programming.dev 56 points 6 days ago (2 children)

I think it's more a monopoly attempt. I wonder how the EU will react if someone takes this to court.

Forcing one app store fits the bill of monopolistic action.

Anti Commercial-AI license

[–] haui_lemmy@lemmy.giftedmc.com 5 points 5 days ago (1 children)

Hi friend! Good to see this insightful comment comes from you.

Iirc there should be a way to complain to the authorities about this, right?

[–] onlinepersona@programming.dev 6 points 5 days ago

Hey :) Hope you're doing well!

That is actually a good question. Probably the consumer protection agency would be a place to report it. There must also be non-profit watchdogs, but I can't think of any besides NOYB (none of your business) who are all about privacy.

Anti Commercial-AI license

[–] Robust_Mirror@aussie.zone 1 points 5 days ago (1 children)

Would it still apply if it's not Google forcing it, but simply giving developers the choice? This doesn't seem any different to putting code in your game to make sure it was launched from the epic games store for example.

[–] onlinepersona@programming.dev 1 points 4 days ago

That's probably for a judge to decide if it ever gets to court.

Anti Commercial-AI license

[–] zod000@lemmy.ml 11 points 4 days ago (1 children)

I think calling it an anti-piracy measure is being too generous to Google. This is their slimy way to try to get around the measures the EU is enforcing and just to keep their control in general. Every update Google makes to Android brings it further from what I liked about it when it was new.

[–] the_crotch@sh.itjust.works 1 points 4 days ago (1 children)

This is a flag set by the app developer, it's not enforced by google

[–] zod000@lemmy.ml 10 points 4 days ago

I am aware, but Google is the one making this available and it 100% benefits them for developers to use it.

[–] Teknikal@eviltoast.org 49 points 6 days ago* (last edited 6 days ago) (1 children)

Google's gone full evil between this and all the YouTube ruining.

I've bought apps on Google Play where I've had to download the apk elsewhere because of restrictions like scoped storage making them almost unusable.

Neutron music players one example where they have to keep an apk on their own site to get round Google restrictions. as scoped storage is about 20 times slower not to mention a real hassle. PPSSPP is another example and probably a lot of emulators were folder access is kind of important.

[–] lud@lemm.ee -4 points 5 days ago

Google didn't really do anything wrong imo. App developers/publisher's are the one that is actually using these APIs

[–] LiveLM@lemmy.zip 31 points 6 days ago

Without a shred of doubt.
Fuck the Play Integrity API.

[–] ccdfa@lemm.ee 14 points 5 days ago (5 children)

If this stops revanced from working it will be my push to install grapheneos. I don't need the wallet function really.

[–] Draconic_NEO@lemmy.dbzer0.com 2 points 4 days ago

The mount method using root will still work since it writes over the app rather than installing it as an update, will still seem like it was installed from play, same way it still thinks it's google signed in that state.

[–] cupcakezealot@lemmy.blahaj.zone 3 points 4 days ago (1 children)

i believe it's opt in by the app developers so unless the revanced developers specifically opt in to it, there's nothing to worry about

[–] Andromxda@lemmy.dbzer0.com 1 points 3 days ago

Revanced is a patched version of the YouTube app, so Google could block installations of YouTube outside Google Play. I have no idea how this doesn't violate antitrust laws, Google is a monopolistic piece of shit and seriously needs to be broken up and fined into oblivion.

[–] DoucheBagMcSwag@lemmy.dbzer0.com 5 points 5 days ago (1 children)

I use android auto daily and I heard it's broken still on all custom roms like Graphene

[–] zod000@lemmy.ml 5 points 4 days ago

Android Auto is in the only reason I'm not using a de-googled rom. It makes me wonder if Android Auto works fine with no internet connection/SIM. Maybe I could just keep a disconnected "beater" phone for my music and predownload maps with Organic Maps.

[–] FeatherConstrictor@sh.itjust.works 2 points 5 days ago (1 children)

I don't know what I've been doing wrong but revanced has already not been working for me. I've insled it correctly a couple of times and I've tried a few times since I couldn't to uninstall and reinstall with whatever the latest instructions were to no avail :/

[–] ccdfa@lemm.ee 5 points 4 days ago (1 children)

That's so strange! I just updated mine within the last couple of days and it works just fine

[–] FeatherConstrictor@sh.itjust.works 2 points 4 days ago (1 children)

Haven't found anyone else with the same problem. It's about time I try again though, maybe whatever's going wrong (or whatever I'm doing wrong) is fixed.

[–] ccdfa@lemm.ee 2 points 4 days ago (1 children)

Are you using the revanced manager to patch the apk?

[–] FeatherConstrictor@sh.itjust.works 2 points 4 days ago (1 children)
[–] ccdfa@lemm.ee 3 points 4 days ago (1 children)

Very strange. Well I hope you can get it figured out !

[–] FeatherConstrictor@sh.itjust.works 2 points 4 days ago (1 children)

Thank you! If I get it working my next shot I'll let you know. Ads (among other features I miss from revanced) have been driving me crazy.

[–] ccdfa@lemm.ee 1 points 4 days ago

Sweet. Yeah I'm the same way. I will just not watch YouTube on my phone if I can't have an ad free experience

[–] gwen@lemmy.dbzer0.com 0 points 5 days ago (1 children)

why not do it now instead of waiting until revanced is broken?

[–] ccdfa@lemm.ee 4 points 5 days ago

Because I do like the wallet function. I just don't need it. But I greatly prefer an ad free life to the convenience of wallet.

[–] 01189998819991197253@infosec.pub 18 points 6 days ago (3 children)

Is the Aurora store affected by this? Technically, it downloads it from Play Store, doesn't it? So it shouldn't be affected, right?

[–] onlinepersona@programming.dev 27 points 6 days ago* (last edited 6 days ago) (2 children)

It's not the store that's the problem. The integrity API is a web API. First the app collects data about your phone locally and then it sends it to google asking "is this phone 'safe'?". Google then responds with how safe it believes the phone to be and the app itself makes a decision. The alternative app store is completely out of the loop.

Anti Commercial-AI license

[–] koper@feddit.nl 35 points 6 days ago* (last edited 6 days ago)

"Safe" being defined in a user-hostile manier, i.e. with unmodified Google components and not rooted.

"Google-controlled" would be a better word.

[–] 01189998819991197253@infosec.pub 7 points 5 days ago (1 children)

Ah. I misunderstood. I thought the store answers the call. If Google answers, that could be a problem for custom roms, censorship, and privacy.

[–] onlinepersona@programming.dev 6 points 5 days ago (1 children)

Indeed. I'm not sure what the format is and whether a man in the middle or fake service could be run on the device, which pretends to be google's attestation service and just responds with a "yep, this device is fine" in the correct format. It may be easier than rewriting an entire app and be applicable to other apps as well.

Anti Commercial-AI license

This will be their live trial on web attestation, and they'll use it as a "see how well this works here? We can roll out to the entire web" test. Google needs to be degoogled.

[–] Moonrise2473@feddit.it 5 points 5 days ago (1 children)

Yes as the API is checking from where it has been installed. If the installer isn't the play store app, then the same APK installed manually, would give an error.

It is going to be an incredible hassle to install geofenced apps

What a shite addition.

Thanks for the clarification : )

[–] littletranspunk@lemmus.org 3 points 6 days ago

I personally haven't had this issue, but I can't say it's not, or not going to be, affected

[–] jaxiiruff@lemmy.zip 12 points 6 days ago (1 children)

This was definitely done to spite GrayJay no doubt about it since they clearly state in the app to download the version from the website rather than the play version.

[–] LordRishav@programming.dev 12 points 5 days ago

This won't affect GrayJay at all. Play Integrity is only for developers to implement anti-sideloading features. Google is not forcing it upon apps.

[–] driving_crooner@lemmy.eco.br 10 points 6 days ago (1 children)

What will happen with f-droid apps?

[–] MrSoup@lemmy.zip 34 points 6 days ago* (last edited 6 days ago)

This is an API, so the app must use this. F-Droid apps will never use this.

[–] cupcakezealot@lemmy.blahaj.zone 3 points 4 days ago* (last edited 4 days ago)

"to continue using __app__ (unreviewed)" does not fill me with confidence

[–] foremanguy92_@lemmy.ml 3 points 5 days ago

So are the apps blocked even when you are not using the play services?

[–] baruchin@sh.itjust.works 7 points 6 days ago (2 children)
[–] MrSoup@lemmy.zip 26 points 6 days ago* (last edited 6 days ago) (1 children)

If they are able to remove ads like in modded spotify, then they are probably able to remove Play Store check too.

[–] lud@lemm.ee 4 points 5 days ago

Maybe...

We don't know yet. It would depend on how it was integrated.

But yes you would need to crack the app.

[–] southsamurai@sh.itjust.works 13 points 6 days ago

Nah, if you can mod an app in the first place, it wouldn't take you long to bypass this.

[–] Moonrise2473@feddit.it 1 points 4 days ago (2 children)

What if the apps are installed via adb using

pm install -i "com.android.vending" /sdcard/yourapp.apk

?

For the system then the app has been installed from the play store

Or it checks online to see if the current user has a (free?) license?

[–] jbk@discuss.tchncs.de 2 points 4 days ago

trying to execute that requires the caller (so user shell from using adb most likely) to have the same uid as Google Play which should never be the case

afair

[–] MrSoup@lemmy.zip 2 points 4 days ago

I think you can actually test it with space.linuxct.hydra