Question App that fake source needed

Search This thread

fil3s

Senior Member
Yes we need for android 13 an app that fake that the installed app is installed from the playstore and not other.

Apparently in official A13 , apps outside the playstore won't be allowed accessibility service access.

I think fdroid, aurora store etc should be all good 🤞
 
Last edited:
  • Like
Reactions: roirraW "edor" ehT

hanschke

Senior Member
Mar 30, 2007
1,914
291
Google Pixel 6 Pro
if I use Aurora Droid for example it is the official store but without branding from google installing the apk form the the playstore. So we have to find the solution faking the signature after the download and installing it.

Playstore has to know it too and watch the installing process or not?
 

josephcsible

Senior Member
Nov 3, 2016
225
93
You can already do this without needing an extra app. Just become root in a terminal or use adb shell, and do pm install -i com.android.vending /somewhere/com.example.someapp.apk to install a new app that pretends to be from the Play Store, or pm set-installer com.example.someexistingapp com.android.vending to mark an already-installed app as having been installed from the Play Store.
 

josephcsible

Senior Member
Nov 3, 2016
225
93
As a follow-up, if your goal is to let sideloaded apps use accessibility services in Android 13, then faking the installer app is the wrong approach. In that case, you can instead either pick "Allow restricted settings" in app info for it after trying and failing to enable the accessibility service, or install the app with the session-based API, without specifying local file or downloaded file as the source. See https://blog.esper.io/android-13-sideloading-restriction-harder-malware-abuse-accessibility-apis/ for more details.
 
Last edited:

Choastheory

Member
Mar 29, 2022
13
2
46
Angola
Not all people should use adb. Its a very useful but possible to do great harm to a system with the simplest error. There are lots of helpful guides and videos to show the correct way to do things.
 

Master One

Senior Member
Jan 31, 2011
906
322
Europe
pm set-installer com.example.someexistingapp com.android.vending
Just tried that, but got the following error:
Code:
Exception occurred while executing 'set-installer':
java.lang.SecurityException: Unknown calling UID: 0
    at com.android.server.pm.PackageManagerService.setInstallerPackageName(PackageManagerService.java:14377)
    at com.android.server.pm.PackageManagerShellCommand.runSetInstaller(PackageManagerShellCommand.java:2956)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:281)
    at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
    at android.os.ShellCommand.exec(ShellCommand.java:44)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21766)
    at android.os.Binder.shellCommand(Binder.java:929)
    at android.os.Binder.onTransact(Binder.java:813)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4621)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4363)
    at android.os.Binder.execTransactInternal(Binder.java:1159)
    at android.os.Binder.execTransact(Binder.java:1123)
Any idea?
 
Apparently in official A13 , apps outside the playstore won't be allowed accessibility service access.

I think fdroid, aurora store etc should be all good 🤞
Go to app in settings app then 3 dot menu and allow unrestricted access on a13
 
  • Like
Reactions: 73sydney

MrMiyamo

Senior Member
@Master One
I found the solution
You must learn uid of play store, to do so;

Code:
su -c cat /data/system/packages.list | grep com.android.vending | awk '{print $2}'

It will print 5 digit number like 10320, execute below commands using that 5 digit;

Code:
su 10320
pm set-installer com.example.someexistingapp com.android.vending

Demonstration;
Screenshot_20230108-150920765.jpg
 
Last edited:

Master One

Senior Member
Jan 31, 2011
906
322
Europe
Unfortunately that didn't work here on my device:
Code:
surya:/ $ su -c cat /data/system/packages.list | grep com.android.vending | awk '{print $2}'
10198
surya:/ $ su 10198
surya:/ $ pm set-installer co.mona.android com.android.vending

Exception occurred while executing 'set-installer':
java.lang.SecurityException: Caller does not have same cert as old installer package com.aurora.services
    at com.android.server.pm.PackageManagerService.setInstallerPackageName(PackageManagerService.java:14403)
    at com.android.server.pm.PackageManagerShellCommand.runSetInstaller(PackageManagerShellCommand.java:2956)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:281)
    at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
    at android.os.ShellCommand.exec(ShellCommand.java:44)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21766)
    at android.os.Binder.shellCommand(Binder.java:929)
    at android.os.Binder.onTransact(Binder.java:813)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4621)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4363)
    at android.os.Binder.execTransactInternal(Binder.java:1159)
    at android.os.Binder.execTransact(Binder.java:1123)
 

MrMiyamo

Senior Member
Unfortunately that didn't work here on my device:
Code:
surya:/ $ su -c cat /data/system/packages.list | grep com.android.vending | awk '{print $2}'
10198
surya:/ $ su 10198
surya:/ $ pm set-installer co.mona.android com.android.vending

Exception occurred while executing 'set-installer':
java.lang.SecurityException: Caller does not have same cert as old installer package com.aurora.services
    at com.android.server.pm.PackageManagerService.setInstallerPackageName(PackageManagerService.java:14403)
    at com.android.server.pm.PackageManagerShellCommand.runSetInstaller(PackageManagerShellCommand.java:2956)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:281)
    at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
    at android.os.ShellCommand.exec(ShellCommand.java:44)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21766)
    at android.os.Binder.shellCommand(Binder.java:929)
    at android.os.Binder.onTransact(Binder.java:813)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4621)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4363)
    at android.os.Binder.execTransactInternal(Binder.java:1159)
    at android.os.Binder.execTransact(Binder.java:1123)
Maybe try to use uid of com.aurora.services
 

Top Liked Posts