怎样转移两步验证数据从2STP到其他Authenticator
in 技术日志 with 0 comment and 4181 read

怎样转移两步验证数据从2STP到其他Authenticator

in 技术日志 and 4182 read
运行环境:macOS High Sierra

2016年9月,2STP正式宣布停止服务

不过我一直用到了2018年8月都没出什么大问题就是了,唯一有点不方便的,只有添加按钮因为布局问题,飘到了屏幕左上角。

但是考虑到iOS12正式版即将到来,这个已经下架一年多的App恐怕也会逐渐失去自己的兼容性。作为一个具有忧患意识的人,我意识到不能再这样将就下去了。

再给2STP的作者发送了一封问询是否会重新上架的邮件之后,我决定转移自己的数据了。

本次数据转移用到了开源项目evacuate_2stp代码备份

第一步,从2STP导出备份文件

2STP本身支持导出备份文件,导出的文件格式是加密的2STP,密码是用户本人在导出时设置的。

设定好密码,导出2STP文件,通过iCloud同步到Mac之后,第一步就完成了。

第二步,安装Python 3.6

解码2STP加密文件需要的程序是依靠Python 3.6运行的。要运行程序,我们就要先安装Python 3.6。

已经安装了brew-python3的,也可直接使用。

已经安装好的可以跳过这一步,没有3.6的,请到官网下载安装。

安装完成后,Launchpad可以看到Python的图标,我们不用点开。

第三步,安装Homebrew

已经安装好的,可以跳过这一步。

没有安装Homebrew的同学请查看《使用终端来管理你的软件》一文。

或者直接在终端中运行下面的指令安装Homebrew。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

第四步,安装pipenv

这是最后一个依赖了,已经安装好的,可以跳过这一步。

在终端中输入下面的指令来安装pipenv。

brew install pipenv

第五步,克隆evacuate_2stp项目到本地

你可以选择在Github页面选择在桌面打开,也可以使用终端直接克隆本项目到本地。

使用终端克隆的话,输入下面的指令。

git clone https://github.com/ewdurbin/evacuate_2stp.git

克隆不成功的话,试试下载ZIP包,解压。

第六步,安装evacuate_2stp

还是刚才的终端界面,克隆完项目之后,移动到项目目录中。

cd evacuate_2stp

然后,安装它。下面这行是安装指令。

pipenv install

安装的时候可能会出现以下错误:

Warning: the environment variable LANG is not set!

这时候,只要输入以下两行指令之后,再次尝试安装即可。

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

再次安装,即可安装成功。

第七步,把备份文件移动到一个便于访问的目录,改一个便于访问的名字

我建议把文件拷贝到/tmp目录,并改名叫target.2stp

移动文件我就不教了,只需要知道,文件的目录现在是/tmp/target.2stp即可。

第八步,解码文件

终于到了本番。

确认自己还在项目目录下(不确定的话,就重新cd cd evacuate_2stp),在终端中输入以下指令。

pipenv run python decrypt_2STP.py --encrypted-2stp-export /tmp/target.2stp

程序现在就开始正常运行了。

解码成功之后,程序会把2STP文件中保存的每条数据以二维码的形式在终端窗口中显示,我建议大家把终端窗口放大到全屏,以免影响二维码正常显示。

如果保持小窗口,二维码很可能会显示成下面这个样子。

正确显示二维码后,就可以使用其他的两步验证工具Authenticator来扫码获取token了。

第九步,转移数据~

每扫完一个二维码,就在终端中按一下Enter键,显示下一个二维码,直到展示完所有二维码,程序就会自动结束运行。

数据就转移成功了。

最后你还可以删掉Python 3.6(笑),参照这篇文章即可:《Mac 删除/卸载 自己安装的python》

注:因为是数据转移,所以就用白井黑子(Teleportion)当封面。
Responses