生活、计算机网络、Galgame、发电(

将 Steam 2FA 添加到 Bitwarden 中

Steam 的令牌本质是个 2FA(多因素验证),使用的 TOTP 算法,所以我们可以将手机端 TOTP 提取到 Bitwarden

提取手机端 Steam TOTP 需要手机 ROOT 并安装 LSP

然后安装 SteamGuardExtractor 或者 SteamGuardDump LSP 模块并应用到 Steam

在你进入 Steam 手机端的时候,会自动复制令牌,如下方所示

{
    "accounts": {
        "xxxxxxxxxxxxxxxx": {
            "shared_secret": "xxxxx+testxxxxxxxxxxxxxx=",
            "identity_secret": "/xxxxxxxxxxxxxxxxxxxxx=",
            "secret_1": "xxxxxxxxxxxxxxxxxxx=",
            "serial_number": "xxxxxxxxxxxxxxxxxx",
            "revocation_code": "xxxxxx",
            "account_name": "xxxxx",
            "token_gid": "xxxxxxxxxxxx",
            "steamguard_scheme": 2,
            "steamid": "xxxxxxxxxxxxxxxxxx"
        }
    }
}

根据 SteamTools #2276 说明和提供的 Python 脚本,我们需要将 shared_secretBase64 转换为 Base32
也就是将 YOUR_SHARED_SECRET 替换为我上方提取出来的令牌示例中 shared_secret 的值

import base64
shared_secret = 'xxxxx+testxxxxxxxxxxxxxx='
print("Secret:", base64.b32encode(base64.b64decode(shared_secret)).decode())

运行这个 python 文件,如果你的电脑没有安装 Python,可以使用菜鸟工具的 Python3 在线工具 运行

运行后,终端输出 Y4OHDR7LL2ZNY4OHDRY4OHDRY4OHC===
那么我的 Steam TOTP 就是 Base32 格式的 shared_secret 前面添加 steam://

steam://Y4OHDR7LL2ZNY4OHDRY4OHDRY4OHC===

将这个 TOTP 添加到 Bitwarden 的 验证器密钥 (TOTP) 中,并确认下生成的 5 位校验码与手机端是否同步,如果同步即正确


如果你的手机没有 Root 权限,可以参考下方的教程获取 shared_secret

将 Steam 2FA 添加到 Bitwarden 中

https://www.jerryyang.link/archives/45/

作者

Jerry

发布时间

2024-02-02

添加新评论