关于ZAKER Skills 合作
三易生活 27分钟前

继续收紧,Android 17 禁止 App 检测开发者模式

谷歌在 Android 17 里居然藏了个 " 大招 "。近期有开发者发现,谷歌悄悄在 Android 17 中禁止应用读取开发者选项和 USB 调试状态,不论设备是否启用开发者模式,应用读取此类信息将始终返回 0 ( 代表关闭 ) ,而非 1(代表已启用)。

事实上,有相当多的 App 会检测用户的设备是否开启开发者模式,一旦开启会要求关闭,否则 App 将无法使用。谷歌在代码提交说明中直言,App 无需检测开发者模式的状态,相关检测逻辑在 Android 17 会失去作用。

那么问题就来了,为什么有些 App 希望知道你的设备是否开启了开发者模式,谷歌又为何认定这类信息对 App 不重要呢?

开发者模式作为 Android 预留的调试接口集合,是通过 ADB(Android Debug Bridge)协议实现设备与开发工具的通信,它就是给 Android 开发者用的,核心功能是应用开发阶段的性能监测、错误追踪和硬件适配。

只不过早期的 Android 并不完善,不仅需要开启开发者模式中的 USB 调试,与电脑连接时才能下载 App,甚至连备份联系人都得打开。所以 Android 的开发者模式在实践过程中不仅仅为开发者服务,普通用户往往也会经常使用。

当普通用户用得多了,问题也就随之而来。开启开发者模式后,Android 系统会开放 /system/app/ 目录的读写权限,解除对系统级设置的保护锁,不仅有可视化调试工具、开放 CPU 调度策略、内存分配机制等底层参数,还会暴露窗口管理、动画渲染等系统服务的控制接口。

开发者模式中的 " 选择模拟位置信息应用 " 权限,可能会被恶意应用利用实现位置欺诈;USB 调试模式则会带来中间人攻击,恶意程序可通过 ADB 命令窃取通讯录、短信等敏感数据;模拟点击权限会被游戏外挂利用,许多所谓的游戏辅助就是借助开发者模式实现自动打怪、自动执行任务。

为了保护用户,有相当多的 App 会主动检测设备是否开启开发者模式,一旦开启则终止进程。比如手游,尤其是竞技类或提供玩家交易系统的游戏,一旦检测到开发者模式,就认为可能会被用来作弊或修改游戏数据,直接禁止进入游戏或是提示异常。

同理,金融类 App 也对开发者模式严防死守,支付宝、云闪付、银行 App 都可能出现检测到开发者模式即关闭支付功能、提示风险环境,甚至直接拒绝运行的情况。其实不仅仅是第三方开发者,谷歌自己也不希望普通用户使用开发者模式,从 Android 4.2.1 版本开始,开发者选项就被隐藏起来,需要用户连续点击系统版本号才能激活。

可问题在于," 祖宗之法不可变 ",自由开放是 Android 的底色,开发者模式向普通用户开放也被 Android 社区视为自由的象征。所以谷歌只能将开发者模式的开关藏起来,却不能直接告诉用户 " 不想让你用 "。偏偏随着 Android 生态的价值与日俱增,它面临的安全风险也同步上升,开发者模式已然成为 Android 安全体系的薄弱环节。

再加上,谷歌也怕用户在开发者模式中胡乱操作,误改参数,把系统弄出问题,回头还得 OEM 合作伙伴兜底。既然不能直接挑明限制用户权利,却要维护 Android 生态的安全、稳定,所以谷歌选择了不当恶人,转而让银行、支付、游戏应用的开发者逼迫用户关闭开发者模式。

对于这些 App 的开发者而言,Android 17 一旦大规模推送,他们将无法轻松完成设备环境检测。为了图省事,他们会直接告诉用户永久性关闭开发者模式,否则将拒绝提供服务。以目前移动支付和手机游戏的普及程度,相信绝大多数人都不会认为开发者模式代表的 " 自由 " 更重要。

如此一来,谷歌就能兵不血刃地劝导用户放弃使用开发者模式,让后者回归本来的用途。毕竟经过十余年的完善,现在的 Android 系统已经足够完善,不需要用户自己瞎折腾了。

【本文图片来自网络】

相关阅读

最新评论

没有更多评论了
三易生活

三易生活

我们主要是一家有趣、有干货、偶尔掉下节操的科技媒体。

订阅

觉得文章不错,微信扫描分享好友

扫码分享

企业资讯

查看更多内容