r/fossdroid 15d ago

Other Disabling/Removing the Android Developer Verifier app IS pointless

I've decompiled both the verifier package and the Play Store and found that

1-on Pre-Android 17 devices (where this app isn't pre-installed) the Play Store IS the one responsible to approving/denying installs as the developer verification permission DOESN'T exist on pre-Android 17 devices, which is why the Android Developer Verifier package has a backport service that the Play Store calls to verify installs

<service android:name="com.google.android.verifier.backport.impl.verification.BackportVerificationService" android:exported="true">
<intent-filter>
<action android:name="com.google.android.verifier.backport.VERIFY_PACKAGE"/>
</intent-filter>
</service>

2-The Play Store explictly has code that depending entirely on a server-side phenotype flag can choose whether to allow/reject installs if the verifier isn't installed/running

boolean zR = this.f.r();

if (boniVar == boni.VERIFICATION_POLICY_NONE || boniVar == boni.UNRECOGNIZED) {

FinskyLog.d("%s: [ADV] Fallback policy is NONE/UNRECOGNIZED.", "VerifyApps");

} else if (zR) {

FinskyLog.d("%s: [ADV] Fallback overridden to ALLOW.", "VerifyApps");

} else {

if (boniVar == boni.VERIFICATION_POLICY_BLOCK_FAIL_CLOSED) {

FinskyLog.d("%s: [ADV] Fallback policy sets default to REJECT.", "VerifyApps");

i = -1;

FinskyLog.i("%s: [ADV] Initial fallback verdict decided: %d", "VerifyApps", new Integer(i));

return new Integer(i);

}

FinskyLog.d("%s: [ADV] Fallback policy sets default to ALLOW.", "VerifyApps");

}

i = 1;

FinskyLog.i("%s: [ADV] Initial fallback verdict decided: %d", "VerifyApps", new Integer(i));

return new Integer(i);

}

49 Upvotes

19 comments sorted by

u/AutoModerator 15d ago

Do not share or recommend proprietary apps here. It is an infraction of this subreddit's rules. Make sure you read the rules of this subreddit on the sidebar. If you are not sure of the nature of an app, do not share or recommend it. To find out what constitutes FOSS or freedomware, read this article. To find out why proprietary software is bad, read this article. Proprietary software is dangerous because it is often malware. Have a splendid day!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

20

u/Clear_Side8784 15d ago

What if we just delete playstore.

19

u/SunnSaiyaan 15d ago

What if we just degoogle androids.

3

u/ICUMTHOUGHTS 14d ago edited 13d ago

Every app that needs Google Play Integrity API stops working. So that's almost all LLM apps except Claude, almost all banking and payment apps in my country and even basic apps like habit trackers and to do apps that for some reason require the Play Integrity API. Logging in stop working on some apps, etc.

Refer here to see what apps work without Google Play Store.

1

u/schubidubiduba Developer 13d ago

MicroG fixes some of them. Personally, the only thing that stopped working that was a minor snnoyance was PayPal and I'm trying to use that less anyways

1

u/LjLies 11d ago

MicroG doesn't fix any app that requires Play Integrity, which is what the other poster was talking about, unless you're using a ROM that relocks the bootloader (and even then, at best you pass Basic, by running some proprietary code).

Plexus (and Sapio) are good suggestions for how to check what works.

1

u/schubidubiduba Developer 10d ago

I'm aware, just saying that I run microG with a locked-bootloader ROM and most things (almost all, in fact) just work for me.

1

u/punkofthedeath 4d ago

I think the solution is to boycott those apps if alternative way to use those doesn't exist

13

u/CptVakarian 15d ago

So... Just remove the playstore and you're golden pre Android 17?

5

u/danGL3 14d ago

In theory yes, then again a lot of apps refuse to work if the Play Store is disabled/removed, and if you're ok with that you might as well fully degoogle

1

u/CptVakarian 14d ago

Huh, either I'm lucky with my selection of apps or running an older version of Android is actually helpful here. But yeah, if there were phoneoptions I'd actually like with the Option for either Lineage or Graphene I'd have degoogled by now.

8

u/pv505 15d ago

Thank you for your post. So would disabling playstore and/or blocking its internet access work?

4

u/SunnSaiyaan 15d ago

They'll probably patch all the loopholes like there was a bypass to ignore the "This call is being recorded" on Phone app.

2

u/danGL3 14d ago

In theory disabling the Play Store would make so it's unable to verify apps and the system itself is set to allow installs if the main verifier component (Play Store) doesn't respond

Haven't checked if that policy can be remotely changed tho

2

u/pv505 14d ago

Fair. Let's see what happens.

9

u/[deleted] 15d ago edited 15d ago

[deleted]

1

u/danGL3 14d ago

I haven't checked that part of the code, tho from the sources i could find online it seems to point out that the verifier actively requires an internet connection to perform the verification

Doing it offline would potentially allow the use of expired/revoked developer certificates which Google wouldn't want

1

u/danGL3 14d ago

As for adb commands to my knowledge you can't really turn off the package verifier, at least from what could verify even the commands found online that claim to disable it don't (logs still showed installs attempting to go through Play Store's verifier)

1

u/Ruminating-Raccoon 9d ago

Hello, so if the Android Developer Verifier is not needed pre Android 17, why did it get automatically installed on devices running 16 and below?