Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Caldis/59589b60485f9b2194a662da3ce164f2 to your computer and use it in GitHub Desktop.
Save Caldis/59589b60485f9b2194a662da3ce164f2 to your computer and use it in GitHub Desktop.
如何在 iOS 设备上一次性获取所有米家设备 TOKEN

准备

  • iTunes (需要版本支持你的 iOS 备份)
  • BackupViewer (免费版即可, 无需注册, 目前支持 MacOS 和 Windows)
  • python-miio (https://github.com/rytilahti/python-miio) (pip3 install python-miio)
  • iOS 设备 (登录了米家, 并同步了你想要获取的设备信息)

开搞

备份数据

iOS 接入电脑, 打开 iTunes, 找到 备份, 选择 本电脑, 并取消 加密本地备份 然后点击 立即备份

挺久的, 建议先去干点别的

获取数据

打开 iBackup Viewer, 点击主界面上你手机的墙纸截图 (对, 那个东西能点击), 在显示的图标中找到树状图的图标并点开

在左侧的菜单中选择 com.xiaomi.mihome, 然后在右上的搜索中输入 _mihome 导出那个带有数字前缀的 sqlite 的文件

当然, 如果你不是注册版你是无法导出的, 没关系, 我们找到

// Windows
%UserProfile%\Apple\MobileSync\Backup
// MacOS
~/Library/Application Support/MobileSync

这个目录, 然后在这个目录下搜索刚刚需要导出的文件最右侧显示的 Key, 复制出来即可

如果是 MacOS 看不到 Key 栏, 调整窗口宽度即可

解析数据

将上一步导出的文件拷贝到安装了 python-miio 的环境中, 进到你拷贝到的目录下, 输入

# 如果你安装了前面提到的 python-miio, 你才可以使用 miio-extract-tokens 命令
miio-extract-tokens --dump-all 123_mihome.sqlite

全他妈都解出来了

备注

我在 Windows 上干的, 其他系统对应路径请自行纠正

这他妈可比用安卓的米家 APP 一个个看快多了

不过网关的 Key (不是 token) 你还是要用老办法获取

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment