如何使用 Android 11 在 Bash 中解决此错误

Posted

技术标签:

【中文标题】如何使用 Android 11 在 Bash 中解决此错误【英文标题】:How to solve this error in Bash using Android 11 【发布时间】:2021-10-13 04:56:08 【问题描述】:

我正在尝试在 android 11 上使用此代码:

#!/bin/bash
while:
do am start --user 0 -a android.intent.action.MAIN -n com.metasploit.stage/.MainActivity
sleep 20
done

这段代码的目的是通过metasploit获得一个持久化paylaod,但是当我执行它时会抛出这个错误:

Exception occurred while executing 'start':
java.lang.SecurityException: Permission Denial: package=com.android.shell does not belong to uid=10463
at com.android.server.wm.ActivityTaskManagerService.assertPackageMatchesCallingUid(ActivityTaskManagerService.java:2741)
at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1126)
at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1117)
at com.android.server.am.ActivityManagerService.startActivityAsUserWithFeature(ActivityManagerService.java:3751)
at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:554)
at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:186)
at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
at android.os.ShellCommand.exec(ShellCommand.java:44)
at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:10879)
at android.os.Binder.shellCommand(Binder.java:929)
at android.os.Binder.onTransact(Binder.java:813)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5258)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2951)
at android.os.Binder.execTransactInternal(Binder.java:1159)
at android.os.Binder.execTransact(Binder.java:1123)

有效负载:android/meterpreter/reverse_tcp

有人可以解释一下它失败的原因以及如何解决它。

【问题讨论】:

你是在root设备上运行这个脚本吗? 【参考方案1】:

尝试将 shell 脚本中的 --user 更改为当前用户值,

这应该有助于解决它

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何使用 Android 11 在 Bash 中解决此错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Android 11 在 Bash 中解决此错误

如何在swift中解压缩带有密码的json文件?

如何在 Perl 中解压缩双精度值?

bash 脚本中的 set -e 是啥意思?

如何在 .NET 中解压缩使用 Lempel-Ziv Haruyasu 算法压缩的字节?

如何使用 Azure Function 在 Azure 文件共享中解压缩文件?