在小米手环上安装动态令牌验证程序

免责声明:如果操作不当,可能会损坏您的小米手环,泄露您的雨云账户2FA。

成品展示

用途阐述

方便一些在学校不方便带手机的人完成雨云2FA验证。

材料准备

小米手环7一个(其他的或许也可以,你可以前往米坛社区探索)
米坛社区表盘自定义工具
如果需要修改背景图,还需要GT3编码转换器
一个Auth源码,当然我更推荐你用我修改过的版本(换了稍微人性化一点的图标和背景图)
Google Authenticator 软件
google-authenticator-exporter 项目

操作步骤

提取 totpSecret

打开雨云控制台,根据提示在Google Authenticator中绑定二步验证码。打开左侧菜单,点击“转移账号”,选择“导出账号”,选中你要导出的所有条目,确定。这样你就获得了一个二维码,截图保存,然后用相关工具解码,这样你就获得了一个包含所有密钥的字符串,格式大概是otpauth-migration://offline?data=
电脑预装好nodejs,然后找一个文件夹克隆对应仓库,安装。您需要有优良的网络环境。

git clone https://github.com/krissrex/google-authenticator-exporter.git 
cd google-authenticator-exporter
npm install .
npm run start

按照英文提示词,依次输入内容:
totpUri输入包含otpauth-migration://offline?data=开头的那个字符串
saveToFile输入yes
filename可以输入 accounts.json
现在,打开json,里面的内容大概是一些对象,类似:

{
        "secret": "XXXXXXXX",
        "name": "雨云:uid-XXXXXX",
        "issuer": "雨云",
        "algorithm": "ALGO_SHA1",
        "digits": 1,
        "type": "OTP_TOTP",
        "totpSecret": "XXXXXXXX"
    }

其中totpSecret就是密钥。

修改源码

用压缩文件查看器打开bin文件,修改assets/meAuth.json文件。
填写时采用要显示的名字对应密钥的格式:

{"名字":"你的totpSecret","名字2":"你的totpSecret2"}

修改好保存。

修改背景图

在我修改好的那一份里面我把图标改成了谷歌的图标、背景图改成纯黑的了,文件里的PNG图片由于采用GP3编码,无法正常查看,可以用上面提到的转换器来转换成正常编码。图片记得仿照原来图片的分辨率。本部分非必要,建议有能力者自行探索。

刷入程序

打开小米运动健康,连接手环,把程序挂后台不要关。同时打开表盘自定义工具,依次点击底部工具,最上面的“表盘/小程序蓝牙一键安装”。把你修改好的bin结尾文件发到手机上,用文件管理器放到一个找得到的地方,然后在表盘自定义工具里选择对应文件,以小程序安装、蓝牙安装的形式安装。
刷入完成后会显示:

结束

现在,您可以在小米手环上获取雨云2FA验证码了。其他平台的2FA也可以这样导入手环。

1 个赞

可不可以支持一下Huawei GT2

我这个肯定是不行的 具体看对应型号能不能运行js了 华为我更不了解