从Linux提取安卓设备ProtonMail缓存私钥:权限与方法问询
问题解答:ProtonMail私钥提取与安卓ADB连接问题
一、为何找不到ProtonMail的应用缓存?
核心原因是安卓沙箱权限机制:
- 安卓应用的私有缓存目录(
/data/data/ch.protonmail.android/cache/)仅对应用自身开放,普通USB连接(MTP模式)只能访问公共存储区(如SD卡、下载文件夹),根本看不到这个私有路径。 - 你看到的57KB缓存是系统统计的应用私有缓存总大小,但MTP不暴露该目录,所以显示为空。
- 补充:ProtonMail的私钥不会存在缓存里(缓存是临时文件,可能被系统自动清理),它大概率存于应用的私有持久化存储目录(
/data/data/ch.protonmail.android/files/或shared_prefs/),这也是你手机能正常解密旧邮件、加密新邮件的原因。
二、提取私钥的可行方法
方法1:Root设备(最可靠)
这是访问应用私有存储的唯一通用途径:
- 手机上开启开发者选项(连续点击「设置→关于手机→版本号」7次),然后开启「OEM解锁」和「USB调试」。
- 用fastboot解锁Bootloader(注意:会清空设备所有数据,提前备份):
- 重启手机到Bootloader模式(Moto G 5G通常是按住电源键+音量减)
- 连接电脑后运行
fastboot oem unlock,按提示操作解锁。
- 刷入第三方Recovery(如TWRP),再刷入Magisk获取Root权限。
- Root后,用Root文件管理器(如Solid Explorer)或者ADB Shell直接访问
/data/data/ch.protonmail.android/,查找后缀为.pem、.key或包含private关键词的文件。
方法2:无需Root的替代方案(成功率较低)
如果不想Root,可以尝试安卓内置的备份功能:
- 打开手机「设置→系统→备份」,开启「应用数据备份」,选择仅备份ProtonMail。
- 备份完成后,查找备份文件(通常在
/sdcard/Android/data/com.google.android.backup/files/目录下)。 - 用ADB把备份文件导出到电脑,再用备份提取工具(如abe)解析,查找密钥相关内容。
三、安卓设备连接Linux的ADB入门操作
1. 解决ADB无法识别设备的问题
- 手机端设置:开启「USB调试」和「USB调试(安全设置)」(允许通过USB调试修改权限)。
- Linux端配置:
- 安装ADB工具:Debian/Ubuntu系运行
sudo apt install android-tools-adb android-tools-fastboot;Fedora系运行sudo dnf install android-tools。 - 添加udev规则(关键):
- 连接手机到电脑,运行
lsusb,找到摩托罗拉设备的Vendor ID(通常是22b8)。 - 新建文件
/etc/udev/rules.d/51-android.rules,写入:SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"。 - 重新加载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger。 - 重启ADB服务:
adb kill-server && adb start-server。
- 连接手机到电脑,运行
- 验证连接:运行
adb devices,如果显示设备序列号,说明连接成功。
- 安装ADB工具:Debian/Ubuntu系运行
2. 常用ADB命令
- 查看已连接设备:
adb devices - 进入设备Shell:
adb shell - 导出设备文件到电脑:
adb pull /path/to/remote/file /local/computer/path - 导入电脑文件到设备:
adb push /local/computer/file /path/to/remote/device/path
内容的提问来源于stack exchange,提问作者Maz
相关产品推荐
相关产品推荐

