gpt4 book ai didi

android - 从 Android 中的请求方配置文件中提取 SSID 密码

转载 作者:太空狗 更新时间:2023-10-29 13:24:42 26 4
gpt4 key购买 nike

我正在尝试编写一个 Android 系统应用程序,从请求方配置文件 (/data/misc/wifi/wpa_supplicant.conf) 中提取 Wifi 密码。

使用具有 root 权限的 adb,我可以毫无问题地读取文件并以纯文本形式查看密码。

但是,当我尝试以编程方式打开文件时,出现 EACCES(权限被拒绝)错误。即使我的应用程序以“系统”用户身份运行(我在 list 中定义了 android:sharedUserId="android.uid.system"),也会发生这种情况,该应用程序使用系统私钥签名并推送到/system/app。

我知道一个事实,它可以使用系统权限来完成,因为在 Android 的源代码中,在 frameworks/base/wifi/java/android/net/wifi/WifiConfigStore.java 中有一个代码读取这个文件。此代码在“system_server”进程下运行,该进程使用“system”用户,就像我的应用程序一样。

我打开失败文件的代码:

reader = new BufferedReader(new FileReader(SUPPLICANT_CONFIG_FILE));

如果两个应用程序都以“系统”用户运行并具有系统权限,为什么 system_server 可以读取此文件而我的应用程序失败了?我错过了什么?

请不要建议依赖根访问权限的解决方案,因为它与我的情况无关。我需要一个仅基于系统权限而非 root 权限的解决方案。

最佳答案

需要平台签名,在manifest部分添加android:sharedUserId="android.uid.system"属性,在application部分添加android:process="system"属性。

关于android - 从 Android 中的请求方配置文件中提取 SSID 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22758650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com