本帖最后由 Underworld511 于 2023-3-4 16:16 编辑
[2023/03/04] 目前该工具已失效,无法同步步数。
参考了冰狐的帖子:《小米运动 APP 刷步数,支持微信 v1.1 含源码》
https://www.52pojie.cn/thread-1564084-1-1.html
以及wxc6688的帖子:《小米运动 APP 刷步数,支持微信支付宝 修改成易语言》
https://www.52pojie.cn/thread-1651952-1-1.html
感谢两位作者的无私奉献。
我首先使用 Charles 对冰狐的运动修改器软件进行抓包来查看网络请求的细节,并参考wxc6688的易语言版本程序源码,用 Go 语言重新实现了一个可自动化更改步数的命令行界面的版本,取名为 MoreSteps,可在服务器上运行,共享出来供大家学习参考。
一、MoreSteps 界面
目前只有前三项功能和退出功能可用,算个半成品吧。
- 添加新用户:输入手机号码和密码(格式为"15512345678 Password233",中间用一个空格隔开),并设定每天的目标步数,以便于每日自动刷步。
- 手动刷步模式:输入要刷步的手机号码(需已被添加为新用户)和步数,可以刷出指定的步数。
- 自动刷步模式:选择此项会对用户列表中的用户进行遍历,按照每个用户设定的目标步数的小幅度随机加减后的步数进行自动刷步。在添加多个新用户后,可在服务器上使用 crontab 定时执行该命令:MoreSteps auto,就可以实现每日自动刷步啦!
二、使用方法
- 注册”小米运动“APP(现在已更名为 Zepp Life 了)并绑定微信或支付宝授权。(详细操作可以去阅读本帖开头提及的两个帖子)
- 在命令行或终端中进入MoreSteps可执行程序所在的目录,输入MoreSteps即可。
三、部分源代码展示
[Golang] 纯文本查看 复制代码 // login 通过手机号码和密码登录,得到access。
func (u *User) login() error {
URL := fmt.Sprintf(`https://api-user.huami.com/registrations/+86%s/tokens`, u.phoneNumber)
str := "client_id=HuaMi&password=" + u.password + `&redirect_uri=https://s3-us-west-2.amazonaws.com/hm-registration/successsignin.html&token=access`
req, err := http.NewRequest("POST", URL, strings.NewReader(str))
if err != nil {
return err
}
req.Header.Set("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8")
req.Header.Set("User-Agent", "MiFit/4.6.0 (iPhone; iOS 14.0.1; Scale/2.00)")
client := &http.Client{}
client.CheckRedirect = func(req *http.Request, via []*http.Request) error {
return http.ErrUseLastResponse
}
resp, err := client.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
if resp.StatusCode != 303 {
return errors.New("登录失败!")
}
location := resp.Header.Get("Location")
u.access = strings.Split(location, "&")[1][7:]
return nil
}
四、成果展示
支付宝刷步成功
源码链接:https://share.weiyun.com/MDwyE7TA 密码:k5wqbk
-- 如有违规请管理员删帖 --
MoreSteps.zip
(2.1 MB, 下载次数: 2224)
|