吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19828|回复: 194
收起左侧

[Python 转载] 【云函数】乐心健康刷微信支付宝步数(随机步数、微信QQ推送)-10.31更新

  [复制链接]
南岸 发表于 2020-9-26 22:09
本帖最后由 南岸 于 2020-10-31 09:07 编辑

说在前面

已经解决步数数据不同步第三方应用问题,感谢吾爱破解xwj1612,感谢项目https://github.com/BBboy01/ChangeStype

测试截图

QQ截图20201030125740.png
Screenshot_20201030_125105_com.eg.android.AlipayG.jpg




感谢:@lpy6759

秒刷QQ微信支付宝步数99999步源码,微信最高98800步

https://www.52pojie.cn/thread-1262284-1-1.html


感谢:@可卡因

【基于Python】乐心健康刷微信支付宝步数
https://www.52pojie.cn/thread-1274712-1-1.html

教程:

0.下载乐心健康APP:官方下载地址:http://www.lifesense.com/app/
1.从应用商店下载乐心健康App,打开软件并选择手机号登录
2.登录之后,点击我的->设置->账号与安全->设置密码(修改密码),设置你自己记得住的密码
3.回到App首页,点击我的->数据共享,绑定你想同步数据的项目注:同步微信运动请按照要求关注【乐心运动】公众号。

4.回到云函数代码,配置好下图参数,运行即可提交步数即可同步至你绑定的所有平台

QQ截图20200926215251.png

5.设置好云函数触发规则



运行结果:
QQ截图20200926215301.png

# -*- coding: utf8 -*-
import requests
import hashlib
import json
import time
import random
requests.packages.urllib3.disable_warnings
def md5(code):
    res=hashlib.md5()
    res.update(code.encode("utf8"))
    return res.hexdigest()

def get_information(mobile,password):
    header = {
        'Content-Type': 'application/json; charset=utf-8',
        "User-Agent": "Dalvik/2.1.0 (Linux; U; Android 9; SM-G9500 Build/PPR1.180610.011)"
    }
    url="https://sports.lifesense.com/sessions_service/login?version=4.5&systemType=2"
    datas = {
        "appType":6,
        "clientId":'8e844e28db7245eb81823132464835eb',
        "loginName":str(mobile),
        "password":md5(str(password)),
        "roleType":0
        }
    response =requests.post(url,headers=header,data=json.dumps(datas))
    return response.text

def update_step(step,information):
    step =int(step)
    url="https://sports.lifesense.com/sport_service/sport/sport/uploadMobileStepV2?version=4.5&systemType=2"
    accessToken=json.loads(information)["data"]["accessToken"]
    userId=json.loads(information)["data"]["userId"]
    #print(json.loads(information))
    #print(accessToken)
    #print(userId)
    #获取当前时间和日期
    timeStamp=time.time()
    localTime = time.localtime(timeStamp)
    strTime = time.strftime("%Y-%m-%d %H:%M:%S", localTime)
    print(strTime)
    measureTime=strTime+","+str(int(timeStamp))

    header = {
    'Cookie': 'accessToken='+accessToken,
    'Content-Type': 'application/json; charset=utf-8',
    "User-Agent": "Dalvik/2.1.0 (Linux; U; Android 9; SM-G9500 Build/PPR1.180610.011)"
    }
    sport_datas = {
        "list": [
            {
                 "DataSource":2,
                #"active":0,
                 "calories":str(int(step/4)),
                #"dataSource":4,
                 "deviceId":"M_NULL",
                 "distance":str(int(step/3)),
                 "exerciseTime":0,
                 "isUpload":0,
                 "measurementTime":measureTime,
                #"priority":0,
                 "step": str(step),
                 "type":2,
                 "updated":str(int(time.time()*1000)),
                 "userId":str(userId)
                }]
                }
    result=requests.post(url,headers=header,data=json.dumps(sport_datas))
    # print(result.text)
    return result.text

def bind(information):
    # 设备qrcode列表
    qrcodelist = ['http://we.qq.com/d/AQC7PnaOelOaCg9Ux8c9Ew95yumTVfMcFuGCHMY-', 'http://we.qq.com/d/AQC7PnaOysMBFUhD6sByjYwH2MT12Jf2rqr2kFKm', 'http://we.qq.com/d/AQC7PnaOEcpmVUpHtrZBmRUVq4wOOgKw-gfh6wPj', 'http://we.qq.com/d/AQC7PnaOuG5SHierDiEH2AdZLzMt3W__GL8E1MJj', 'http://we.qq.com/d/AQC7PnaOC0S07XFU-c_R1cpxY1mtf8oiXiDrXET7', 'http://we.qq.com/d/AQC7PnaOoraxuZEdkFyVSO6gaTvMjzEzhEfLRXbE', 'http://we.qq.com/d/AQC7PnaOhQxO8K2EuU44QBZ8cRzB2ofP-oFJSU_6', 'http://we.qq.com/d/AQC7PnaOmwgxedHWCLVr-ZyeoLxHtRrHBGDuyH9E', 'ttp://we.qq.com/d/AQC7PnaO4am4196RIo98NYn_vPfHN-Y5j-w9FmSN', 'http://we.qq.com/d/AQC7PnaO2WczbXNLV7PzC7V60i7-iOgLha5Bg4cV', 'http://we.qq.com/d/AQC7PnaOZAUJTMxJ6-gbdrWV6y-jHHofCYFl-Jv0']

    accessToken = json.loads(information)["data"]["accessToken"]
    userId = json.loads(information)["data"]["userId"]
    header = {
        'Cookie': 'accessToken=' + accessToken,
        'Content-Type': 'application/json; charset=utf-8',
        "User-Agent": "Dalvik/2.1.0 (Linux; U; Android 9; SM-G9500 Build/PPR1.180610.011)"
    }
    for i in qrcodelist:
        datas = {
            "qrcode": i,  
            "userId": userId,
        }
        url = 'https://sports.lifesense.com/device_service/device_user/bind'
        result = requests.post(url,headers=header,data=json.dumps(datas))
        if result.status_code == '401':
            print('重新登录')
            main()
        else:
            msg = result.json()
            print(msg)
            if msg.get('msg') == '成功':
                print('绑定成功,即将开刷')
                break
            else:
                print('此设备绑定失败,尝试下一个。')
    print('所有设备均无法绑定,请自己寻找可用的qrcode,将连接加入列表qr中进行尝试。')
def server_send(msg):
    if sckey == '':
        return
    server_url = "https://sc.ftqq.com/" + str(sckey) + ".send"
    data = {
            'text': msg,
            'desp': msg
        }
    requests.post(server_url, data=data)

def kt_send(msg):
    if ktkey == '':
        return
    kt_url = 'https://push.xuthus.cc/send/'+str(ktkey)
    data = ('步数刷取完成,请查看详细信息~\n'+str(msg)).encode("utf-8")
    requests.post(kt_url, data=data)

def execute_walk(phone,password,step):
    information=get_information(phone,password)
    bind(information)
    update_result=update_step(step,information)
    result=json.loads(update_result)["msg"]
    if result == '成功':
        msg = "刷新步数成功!此次刷取" + str(step) + "步。"
        print(msg)
        server_send(msg)
        kt_send(msg)
    else:
        msg = "刷新步数失败!请查看云函数日志。"
        print(msg)
        server_send(msg)
        kt_send(msg)

def main():
    if phone and password and step != '':
        execute_walk(phone, password, step)
    else:
        print("参数不全,请指定参数。或者在调用中直接指定参数")

# -- 配置 --
# ------------------------------
phone = ''  # 登陆账号
password = ''  # 密码
step = random.randint(8000,10000)  # 随机8000-10000步数
sckey = ''  # server酱key(可空)
ktkey = ''  # 酷推key(可空)
# ------------------------------

def main_handler(event, context):
    return main()

if __name__ == '__main__':
    main()


Screenshot_20200926_215220_com.eg.android.AlipayG.jpg

免费评分

参与人数 21吾爱币 +23 热心值 +20 收起 理由
gao24632008 + 1 + 1 我很赞同!
FantasyDH + 1 + 1 求做个小米运动的云函数,万分感谢!
windtrace + 1 + 1 谢谢@Thanks!
爱萌的小猫 + 1 + 1 谢谢@Thanks!
gaofangjia + 1 + 1 这两天失效了,有更新吗?
shuai2051 + 1 + 1 用心讨论,共获提升,感谢楼主
魔幻冰扬 + 1 + 1 热心回复!
真是我的 + 1 + 1 谢谢@Thanks!
哲喆哟 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
shuai23long + 1 + 1 用心讨论,共获提升!
xunil + 1 + 1 真强大!谢谢!
A伴我多久A + 2 + 1 鼓励转贴优秀软件安全工具和文档!
Pugss + 1 谢谢@Thanks!
lqq197 + 1 + 1 好用,开心
w141501 + 2 + 1 大佬太厉害了,膜拜
风雷之冰 + 1 + 1 谢谢@Thanks!
璃曦 + 1 + 1 辛苦楼主,挺好用的呢
mxzsw520 + 2 + 1 账号密码再弄成密文的就更完美了!
风雨风5 + 1 + 1 期待加酷推或server酱推送的版本
软件我来了 + 1 + 1 哈哈,加个QQ推送啊…
hualili + 1 很实用

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 南岸 发表于 2020-10-31 12:08
凉透透了
 楼主| 南岸 发表于 2020-10-29 22:46
本帖最后由 南岸 于 2020-10-31 09:09 编辑

更新了11个qrcode,来自@xwj1612 ,感谢大哥。
这11在挂了,各位只好自己找了

免费评分

参与人数 1吾爱币 +1 收起 理由
Aczz + 1 绑定失败啊

查看全部评分

 楼主| 南岸 发表于 2021-1-31 09:49
supergm 发表于 2021-1-30 20:58
现在乐心健康必须要绑定设备才能共享数据了  有办法么虚假绑定么

自己去买一个sn码
tianya0908 发表于 2020-10-29 22:57

https://www.52pojie.cn/thread-1280909-1-1.html 这个大佬的可以用  就是不能自动 有点烦
 楼主| 南岸 发表于 2020-10-30 15:05
tianya0908 发表于 2020-10-30 14:19
感谢  终于更新解决了   可以同步了

感谢你们的帮助呀
tianya0908 发表于 2020-10-29 23:48
南岸 发表于 2020-10-29 22:59
我觉得代码没问题,问题出在乐心这个规定上,如果代码有问题,那么;乐心app上的步数就不会变

代码没问题  我借了个手环测了一下  微信支付宝可以同步

免费评分

参与人数 1吾爱币 +1 收起 理由
南岸 + 1 我很赞同!

查看全部评分

 楼主| 南岸 发表于 2020-9-29 17:43
赵大粪 发表于 2020-9-29 16:03
我设了一个定时任务每天早上6点触发的,结果没刷成 我看日志说的是执行成功完全ok,然后换了每分钟触发的试 ...

一天执行一次就可以了,多次执行可能存在问题
NingXIU 发表于 2020-9-26 22:31
感谢!没人和我争第一了
liguhe 发表于 2020-9-26 22:53
本帖最后由 liguhe 于 2020-9-26 22:58 编辑

显示成功了 谢谢楼主  希望楼主可以增加随机步数
woyaoshangshiqi 发表于 2020-9-26 23:07
弄完了,很有用
 楼主| 南岸 发表于 2020-9-26 23:34
liguhe 发表于 2020-9-26 22:53
显示成功了 谢谢楼主  希望楼主可以增加随机步数

很简单啊
 楼主| 南岸 发表于 2020-9-26 23:43
liguhe 发表于 2020-9-26 22:53
显示成功了 谢谢楼主  希望楼主可以增加随机步数

修改完了,支持随机步数了
深水夜藏 发表于 2020-9-26 23:52
感谢分享,很有用
liguhe 发表于 2020-9-26 23:57
    step = random.randint(2000,3000)# 随机1000-40000步数

NameError: name 'random' is not defined

3W-4W步很容易被封 可以下调一下吗
 楼主| 南岸 发表于 2020-9-27 00:01
liguhe 发表于 2020-9-26 23:57
step = random.randint(2000,3000)# 随机1000-40000步数

NameError: name 'random' is not defined
...

从新复制代码,然后自己改就可以,刚才少引了一个包
step = random.randint(2000,3000)# 随机2000-3000步数
liguhe 发表于 2020-9-27 00:03
南岸 发表于 2020-9-27 00:01
从新复制代码,然后自己改就可以,刚才少引了一个包
step = random.randint(2000,3000)# 随机2000-3000 ...

OK 测试成功了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表