Nexus 5X重装Google Authenticator后如何恢复本地数据?
很遗憾听到你碰到这个棘手的问题——误删重装Google Authenticator后密钥全丢,还发现那个提取工具需要root,但Nexus 5X的root流程(比如解锁bootloader)默认会清空所有设备数据,这简直是个死循环:要拿密钥得root,可root会把仅剩的可能残留的数据也清掉,所以这条路根本走不通,千万别尝试。
那有没有不用root的本地恢复办法?我分几种情况给你梳理:
一、先排查有没有未被覆盖的本地备份或缓存
Google Authenticator本身确实不会自动备份到Google账号,但如果你之前用过第三方备份工具(比如钛备份、Swift Backup这类),并且给Authenticator做过备份,那可以试试:
- 先装回对应的备份工具(如果没装的话)
- 找到Google Authenticator的备份包,优先恢复应用数据(别先装新的Authenticator,恢复完数据再打开应用,大概率能找回密钥)
要是没做过第三方备份,那可以试试Android官方的adb备份——这个方法不需要root,但前提是你之前没关过USB调试,而且设备还能正常连电脑:
- 电脑上装好adb工具,打开命令提示符或终端
- 把Nexus 5X连到电脑,确保USB调试已经开启
- 运行命令:
adb backup -f authenticator.ab com.google.android.apps.authenticator2 - 设备上会弹出备份确认窗口,别设置密码,直接点确认开始备份
- 备份完成后,把
.ab文件转换成可解压的格式:用命令dd if=authenticator.ab bs=1 skip=24 | openssl zlib -d > authenticator.tar,然后解压这个tar包 - 打开解压后的
apps/com.google.android.apps.authenticator2/db/databases文件夹,里面的databases文件就是存密钥的数据库,用SQLite工具打开就能看到里面的密钥条目
不过要提个醒:如果你已经重装过Google Authenticator,新的应用大概率已经覆盖了原来的数据库文件,这种情况下adb备份可能只能拿到新的空数据,那就没辙了。
二、如果以上方法都没用,本地恢复基本没戏了
Google Authenticator的密钥默认存在设备的私有应用目录里,没root权限根本碰不到;重装应用会清空原来的私有目录,再加上root会清数据,要是没提前备份,本地残留的密钥数据大概率已经被覆盖或者彻底无法访问。
这种情况下,你只能挨个去对应的服务平台(比如Google账号、银行、社交平台等)重新绑定Google Authenticator。这次一定要记好:绑定的时候把新的密钥、恢复码都存到安全的地方,比如加密的离线笔记,或者换用支持云备份的替代工具(比如Authy,默认会把密钥备份到云端,就不怕丢了)。
内容的提问来源于stack exchange,提问作者Ilans




