Flag_secure在Scrcpy程序中不起作用。除了flag_secure,还有其他方法吗?



FLAG_SECURE阻止拍摄屏幕图片和屏幕镜像。但是FLAG_SECURE不会阻止通过USB共享屏幕。我使用scrcpy程序进行屏幕共享DEVELOPMENT_SETTINGS_ENABLED不是一个足够的解决方案。如何防止scrcpy抓取我的屏幕?我必须在安卓工作室上做这件事。除了flag_secure,还有其他方法吗?

但是FLAG_SECURE不能阻止通过USB 共享屏幕

我可以重现这个问题。我有点惊讶,这是有效的

我忘记了这一切背后的历史。最初,scrcpy无法访问安全窗口。他们在2019年找到了一个解决方案,该解决方案似乎在Android 12中被阻止。

如何防止scrcpy抓取我的屏幕?

如果检测到已启用USB调试,您的应用程序可能会拒绝运行。这将使发展变得痛苦。

AFAIK,scrcpy通过在代表桌面程序工作的设备上安装并运行代理来工作。您可能会看到是否有方法检测该代理。不过,这并不能阻止其他攻击者以破坏代理检测逻辑的方式修改scrcpy

但是没有FLAG_SECURE_NO_REALLY_I_MEAN_IT_THIS_TIME标志可供您使用,而不是FLAG_SECURE。据我所知,除了FLAG_SECURE之外,也没有其他东西可以阻止屏幕访问。

即使尝试了FLAG_SECURE,我也面临着同样的问题,但最好的选择是检查是否启用了开发人员选项。

请按照以下解决方案检查是否打开了开发人员选项。

public static int devOptions(Context context) {
int devOptions = Settings.Secure.getInt(context.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
return devOptions;
}

如果响应为1,则打开开发人员选项,您可以要求用户先关闭。

快乐编码。。。

最新更新