吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 29033|回复: 129
收起左侧

[Python 转载] 【原神】米游社签到脚本 11-26日更新

  [复制链接]
苏半仙儿 发表于 2020-10-20 22:20
本帖最后由 苏半仙儿 于 2021-1-4 23:20 编辑

米游社时不时的就忘记签到,虽然奖励也不咋地,但蚊子腿也是肉呀,哈哈哈

打开米游社,自己抓几个包就行了。
关于act_id,region,uid和cookie,点开米游社首页的签到福利,里面会有很多请求,有部分GET请求带有这些参数

推荐PC抓手机的包
我用的抓包工具是:Charles,论坛有很多,自行搜索。

2020.11.19日更新说明:米游社搞了签到的头信息验证,18号之后开始签到失败,重新复制py脚本替换自己的信息即可。

2020.11.26日更新说明:米游社头信息DS信息生成(修复签到请求异常)本次更新参考了Github作者的DS生成算法

2021.1.4日更新说明:更新DS算法,根据米游社版本生成不同的DS信息(修复”请在米游社App内打开~“)

Python新手,代码很丑。

这是腾讯云函数版本,直接复制代码到腾讯云函数即可

[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
import json
import requests
import time
import hashlib
import string
import random

def main_handler(event, context):
    buildHearders()
    # 签到
    signResult = sign()
    # 游戏信息
    totalSignDay = getTotalSignDay()["data"]
    totalSignDay = totalSignDay["total_sign_day"]
    gameInfo = getGameInfo()["data"]["list"][0]
    signInfo = getSignInfo()["data"]
    award = signInfo["awards"][totalSignDay - 1]
    # 方糖message内容,请不要格式化这段字符串
    message = '''>{} 

##### 游戏昵称:{} 
##### 冒险等级:{} 
##### 签到结果:{} 
##### 签到奖励:{} x {}
##### {}月累计签到:**{}** 天'''.format(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()+28800)), gameInfo["nickname"],
                                 gameInfo["level"],
                                 signResult['message'], award['name'], award['cnt'], signInfo["month"],
                                 totalSignDay)
    return notify(message)


# 设置请求头
def buildHearders():
    headers["Cookie"] = cookie
    headers["x-rpc-device_id"] = device_id
    headers["Host"] = "api-takumi.mihoyo.com"
    headers["Content-type"] = "application/json;charset=utf-8"
    headers["Accept"] = "application/json, text/plain, */*"
    headers["x-rpc-client_type"] = "5"
    headers["x-rpc-app_version"] = app_version
    headers["DS"] = getDS()

def md5(text):
    md5 = hashlib.md5()
    md5.update(text.encode())
    return md5.hexdigest()


def getDS():
    # n = 'cx2y9z9a29tfqvr1qsq6c7yz99b5jsqt' # v2.2.0 @Womsxd    
    n = 'h8w582wxwgqvahcdkpvdhbh2w9casgfl' # v2.3.0 web @povsister & @journey-ad    
    i = str(int(time.time()))
    r = ''.join(random.sample(string.ascii_lowercase + string.digits, 6))
    c = md5("salt=" + n + "&t=" + i + "&r=" + r)
    return "{},{},{}".format(i, r, c)

# 签到
def sign():
    signUrl = "https://api-takumi.mihoyo.com/event/bbs_sign_reward/sign"
    param = {"act_id": act_id, "region": region, "uid": uid}
    result = requests.request("POST", signUrl, headers=headers, data=json.dumps(param))
    return json.loads(result.content)


# 获取签到信息
def getSignInfo():
    url = "https://api-takumi.mihoyo.com/event/bbs_sign_reward/home?act_id={}"
    userInfoResult = requests.get(url.format(act_id), headers=headers)
    return json.loads(userInfoResult.content)


# 获取签到天数
def getTotalSignDay():
    url = "https://api-takumi.mihoyo.com/event/bbs_sign_reward/info?region={}&act_id={}&uid={}"
    userInfoResult = requests.get(url.format(region, act_id, uid), headers=headers)
    return json.loads(userInfoResult.content)


# 获取游戏信息
def getGameInfo():
    url = "https://api-takumi.mihoyo.com/binding/api/getUserGameRolesByCookie?game_biz=hk4e_cn"
    userInfoResult = requests.get(url, headers=headers)
    return json.loads(userInfoResult.content)


# 微信推送
def notify(message):
    snedKey = "替换方糖通知key,度娘:server酱"
    notifyUrl = "http://sc.ftqq.com/{}.send"
    param = {'text': '米游社签到',
             'desp': message}
    notifyResult = requests.request("POST", notifyUrl.format(snedKey), headers={}, data=param, files=[])
    return json.loads(notifyResult.text)

app_version = "2.3.0"
act_id = "e202009291139501"
region = "cn_gf01"
uid = "替换 uid"
cookie = "替换 cookie"
# 设备号随意,但不能为空
device_id = "94581081EDD446EFAA3A45B8CC636CCF"
headers = {
    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) miHoYoBBS/2.3.0"
}


这个签到时间和实际时间差8小时,我弄不来py的时区问题。如果有大佬知道怎么搞,还请私我哦~~~
image.png



免费评分

参与人数 18吾爱币 +19 热心值 +17 收起 理由
你的小猫猫 + 1 + 1 热心回复!
prettys + 1 + 1 感谢分享 确实方便
0821fzh + 1 + 1 谢谢@Thanks!
yoaan + 1 谢谢@Thanks!
Rin喵 + 1 + 1 谢谢@Thanks!
mastermaoli + 1 + 1 鼓励转贴优秀软件安全工具和文档!
a3438431 + 1 + 1 能教一下新手怎么弄吗?
Nagiya15236 + 1 + 1 我很赞同!
SuperQiang + 1 + 1 谢谢@Thanks!
z13202013 + 1 + 1 时间是服务器时间(UTC+8),如果能讲下怎么抓包就好咯
Bell520vae + 2 + 1 我很赞同!
小狐狸FM + 1 + 1 我很赞同!
yuehe + 1 + 1 我很赞同!
真是我的 + 1 + 1 谢谢@Thanks!
HalcyonSuoh + 1 + 1 我很赞同!
yagoo + 1 + 1 谢谢@Thanks!
1795540964 + 1 + 1 抓包用哪个软件啊
冰课玏好喝 + 1 + 1 我很赞同!

查看全部评分

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

TRACEYOU 发表于 2020-10-21 08:10
桂K66666666 发表于 2020-10-20 22:39
看到好多这个游戏的代言,然后下载玩半天,嗯,刷DY去

证明你不是目标用户,你不够二次元
 楼主| 苏半仙儿 发表于 2020-11-13 16:02
阴险的眼镜仔 发表于 2020-11-13 12:12
我自己手机号注册的也是差不多,老抽不中。
然后就去咸鱼买个三无邮箱5星号,没想到1.1版本再单抽中了达 ...

我也是咸鱼买了个刻晴号,但是没怎么玩。可以送你。我肝不动小号,哈哈
桂K66666666 发表于 2020-10-20 22:39
看到好多这个游戏的代言,然后下载玩半天,嗯,刷DY去
大兵马元帅 发表于 2020-10-20 22:50
这是什么游戏吗?
 楼主| 苏半仙儿 发表于 2020-10-20 22:55
桂K66666666 发表于 2020-10-20 22:39
看到好多这个游戏的代言,然后下载玩半天,嗯,刷DY去

又肝又氪,哈哈哈哈
 楼主| 苏半仙儿 发表于 2020-10-20 22:56

对的,9月份新出的游戏,国产塞尔达
dgsx61 发表于 2020-10-20 23:59
我这边安卓有种抓不到的感觉,基本全加密的
callyla 发表于 2020-10-21 00:31
能不能给个直截了当的,完全没看懂就等着白拿玩游戏的
AcediaZzz 发表于 2020-10-21 00:33
可惜我是B服
jay9188 发表于 2020-10-21 08:10
听说这游戏花钱如流水 是不是真的啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-23 04:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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