在之前的文章中我有发布关于原神抢码的分析介绍,之前的文章

我发现有很多朋友不会分析和使用,无法重现我发布的抢码py文件的功能
最近米忽悠最新的星穹铁道上线又有很多朋友让我分析一下星穹铁道,是否能实现和原神一样的抢码效果呢?
那是肯定的啦(ps:在米游社不技术升级的情况下)只要是米游社内可以扫码的游戏应用都可以使用的未来即将上线的绝区零也是一样的。
其实实现的大体框架无需改动仅是请求方面需要改动替换一下的但还是有些朋友不会使用,
今天刚好有时间给你们优化和简洁一下步骤
新版本新功能
1.简化填写步骤
2.将原来的二维码识别速度翻倍(原来30帧现在可以达到60帧)速更快
3.将所有代码都写在一个py文件中 不再使用导入的方式来进行框框的显示
4.同时支持原神和星穹铁道的抢码
5.防止二维码刚抢到就确认登陆 被主播发现异常(被觉得是脚本在抢码)特此加入了随机延迟的功能来模拟为人手点击的延迟减少被主播 怀疑的可能性
现在的最新版仅需要
stuid和 stoken即,可步骤非常简单
stuid是米游社的uid并非是游戏内的uid请勿填写错误
至于stoken是怎么获取的呢,
1.抓包在米游社app内进行获取
2.有部分教程可以获取到stoken但是步骤些许复杂自己搜索一下即可找到办法
友情提示一下stoken权限等级极高请勿分享给他人
当前版本同时支持原神和星穹铁道
# 当前抢码游戏 原神=4,星穹铁道=8
GameType = 4
当前是原神想要切换星穹铁道的话把4改成8即可请勿改成这两个数以外的数字
原神效果演示
星穹铁道效果演示
无法运行排除错误方式
1.请确保当前所有库文件抖已安装
2.确保py在3.8及以上(因为文本是在3.8的环境中写的更低版是否可用用自己尝试
3.确保cookie的完整性
使用此程序的最低标准是懂编程基础如果你连一点点py基础都不会,那还是建议你还是先去学习一下py的基础教程再来使用,不然总是问我一些基础都不懂的问题我也不能从py基础开始教你用吧
好了废话不多说了下面就是代码复制粘贴之你的py文件运行即可
import json
import time
import cv2
from pyzbar.pyzbar import decode
import pyzbar.pyzbar as pyzbar
import numpy as np
import tkinter as tk
import threading
import re
import http.client
import win32gui
import win32ui
import win32con
import uuid# 当前抢码游戏 原神=4,星穹铁道=8
GameType = 4# 填写米游社cookie
cookie = "stuid=;stoken=;mid=0mmmmato08_mhy;"
# cookie格式stuid=xxxxxxx;stoken=v2_xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=;mid=0mmmmato08_mhy;
# stuid为米游社UID非游戏内UID
# stoken需要此参数
# mid=0mmmmato08_mhy需要此参数# 填写米游社uid
uid=""
# uid为米游社UID非游戏内UID可以使用上方的stuid# 获取UUID
def get_uuid():get_timestamp_uuid = uuid.uuid1()  # 根据时间戳生成uuid,保证全球唯一return str(get_timestamp_uuid)# 随机获取一个UUID来作为device
device = get_uuid()# 显示框框
def my_function():# 创建一个Tkinter窗口root = tk.Tk()# 隐藏窗口标题栏和边框root.overrideredirect(True)# 将窗口置顶root.wm_attributes("-topmost", True)# 设置窗口大小和位置win_width = 300win_height = 300screen_width = root.winfo_screenwidth()screen_height = root.winfo_screenheight()x_pos = (screen_width // 2) - (win_width // 2)y_pos = (screen_height // 2) - (win_height // 2)root.geometry('{}x{}+{}+{}'.format(win_width, win_height, x_pos, y_pos))# 将窗口背景设为透明root.attributes('-transparentcolor', 'white')# 将窗口的画布设为透明canvas = tk.Canvas(root, bg='white', highlightthickness=0)canvas.pack(fill='both', expand=True)# 绘制一个红色空心正方形canvas.create_rectangle(5, 5, win_width-5, win_height-5, outline='red', width=2)# 进入循环让窗口保持打开状态root.mainloop()# 启动线程
my_thread = threading.Thread(target=my_function)
my_thread.start()# 设置扫描区域
width, height = 300, 300
# 获取屏幕尺寸
screen_width = tk.Tk().winfo_screenwidth()
screen_height = tk.Tk().winfo_screenheight()
# 计算识别区域左上角
left = (screen_width - width) // 2
top = (screen_height - height) // 2
# 计算识别区右下角
right = left + width
bottom = top + height# 获取屏幕DC
hwnd = win32gui.GetDesktopWindow()
hdc = win32gui.GetWindowDC(hwnd)
dc = win32ui.CreateDCFromHandle(hdc)def capture_screen():saveDC = dc.CreateCompatibleDC()# 创建位图对象saveBitMap = win32ui.CreateBitmap()saveBitMap.CreateCompatibleBitmap(dc, right-left, bottom-top)# 将位图选入到DC中saveDC.SelectObject(saveBitMap)# 截屏并保存到位图中saveDC.BitBlt((0, 0), (right-left, bottom-top),dc, (left, top), win32con.SRCCOPY)# 将位图对象转换为numpy数组并进行颜色空间转换bmpinfo = saveBitMap.GetInfo()bmpstr = saveBitMap.GetBitmapBits(True)screenshot = np.frombuffer(bmpstr, dtype='uint8').reshape((bmpinfo['bmHeight'], bmpinfo['bmWidth'], 4))[:, :, :3]screenshot = cv2.cvtColor(screenshot, cv2.COLOR_BGR2GRAY)# 释放资源saveDC.DeleteDC()win32gui.DeleteObject(saveBitMap.GetHandle())return screenshot# 抢码开始
def Request(ticket):conn = http.client.HTTPSConnection("api-sdk.mihoyo.com")payload = json.dumps({"app_id": GameType,"device": device,"ticket": ticket})headers = {}if GameType == 4 :# 原神conn.request("POST", "/hk4e_cn/combo/panda/qrcode/scan", payload, headers)elif GameType == 8 :# 星穹铁道conn.request("POST", "/hkrpg_cn/combo/panda/qrcode/scan", payload, headers)res = conn.getresponse()data = res.read()data = json.loads(data.decode("utf-8"))retcode = data["retcode"]return retcode# 确认登陆
def ConfirmRequest(ticket):conn = http.client.HTTPSConnection("api-takumi.miyoushe.com")payload = ''headers = {'cookie': cookie,}conn.request("GET", "/auth/api/getGameToken",'', headers)res = conn.getresponse()data = res.read()print(data.decode("utf-8"))data = json.loads(data.decode("utf-8"))token = data["data"]["game_token"]conn = http.client.HTTPSConnection("api-sdk.mihoyo.com")payload = json.dumps({"app_id": GameType,"device": device,"payload": {"proto": "Account","raw": f"{{\"uid\":\"{uid}\",\"token\":\"{token}\"}}"},"ticket": ticket})headers = {'cookie': cookie,}conn.request("POST", "/hk4e_cn/combo/panda/qrcode/confirm",payload, headers)res = conn.getresponse()# data = res.read()# print(data.decode("utf-8"))# 记录FPS开始时间
frame_count = 0
frame_start_time = time.time()
while True:# 截取指定区域的屏幕截图# 将截图转换为灰度图像screenshot = capture_screen()# 尝试使用pyzbar库识别二维码codes = decode(screenshot, symbols=[pyzbar.ZBarSymbol.QRCODE])# 如果找到了二维码,输出其内容if codes:print("扫码成功!")pattern = r"ticket=([a-f0-9]+)"match = re.search(pattern, codes[0].data.decode())# 正则请求地址if match:print(match.group(1))# 进入抢码start_time = time.time()retcode = Request(match.group(1))end_time = time.time()if retcode == 0:# 计算代码执行时间并输出elapsed_time = end_time - start_timeprint("抢码成功耗时 %.3f 秒" % elapsed_time)random = 1.3time.sleep(random)print("防止过快被察觉插入随机延迟")# 确认登陆start_time = time.time()ConfirmRequest(match.group(1))end_time = time.time()# 计算代码执行时间并输出elapsed_time = end_time - start_timeprint("确认登陆成功耗时 %.3f 秒" % elapsed_time)# print("作者by:吾爱破解tseed")# 等待一下time.sleep(1)else:print("未知二维码抢码失败")# 等待一下time.sleep(1)# 记录每秒帧数frame_count += 1if time.time() - frame_start_time >= 1:fps = frame_countprint(f"FPS:{fps}" + "\r", end='', flush=True)frame_count = 0frame_start_time = time.time()# 在窗口中显示截图cv2.imshow("QR Code Scanner", screenshot)# 检查是否按下了键盘上的任意键if cv2.waitKey(1) != -1:break
# 关闭窗口
cv2.destroyAllWindows()

【星穹铁道抢码-首发】并优化原神抢码 米游社抢 崩坏抢码 扫码自动及分析脚本程序相关推荐

  1. 数说热点|米哈游新作《崩坏:星穹铁道》今日公测,能否再现原神奇迹?

    游戏玩家们心心念念的米哈游新作<崩坏:星穹铁道>终于问世啦,游戏已于上周日上线PC.安卓.iOS平台开启预下载,今日正式公测."崩坏"系列本就是米哈游的起家游戏,收获了 ...

  2. 崩坏星穹铁道PC、安卓、iOS三端配置要求

    ​崩坏星穹铁道这款游戏已于4月26日上线,但是很多的玩家不知道这个游戏有什么配置要求,今天给大家带来的配置要求一览,想知道有什么配置要求的玩家看看下面给大家带来的具体的介绍吧. 崩坏星穹铁道配置要求 ...

  3. 用java搭建一个类似「崩坏:星穹铁道」的简单回合制游戏

    前不久,崩坏:星穹铁道刚刚上线公测了,我也第一时间体验了这款游戏.在游戏的过程中,我偶然注意到,对局界面的左上角角色行动顺序,似乎和队列的模型比较类似(相同于队列的地方在于从队首选取下一个行动的单位, ...

  4. 崩坏:星穹铁道私人服务器搭建教程

    准备工具: 一台 Windows 系统服务器 <崩坏:星穹铁道>启动器 <崩坏:星穹铁道>客户端 如果以上各项你都准备好了的话,现在就开始吧! 首先完全解压你的<崩坏:星 ...

  5. 原神抢码,米游社抢码-首发

    本文章仅供学习使用-侵权请联系删除_2023年3月14日08:17:06 本来在深渊12层打不过的我偶然在刷到了一个dy的直播间,看到主播在抢码上号帮忙打深渊还号称痛苦号打不满不送原石的旗号我就决定扫 ...

  6. 崩坏星穹铁道电脑版 如何用模拟器在PC上玩崩坏星穹铁道手游教程

    米哈游崩坏系列最新作,大地图箱庭迷宫探索RPG游戏<崩坏:星穹铁道>1.0版本「通往群星的轨道」官宣将于4月23日开启预下载,并于4月26日上午10点正式上线,敬请期待! <崩坏星穹 ...

  7. 如何用python做二维码识别软件_Python什么都能做(一)用 Python 做一个扫码工具...

    Python实现扫码工具 二维码作为一种信息传递的工具,在当今社会发挥了重要作用.从手机用户登录到手机支付,生活的各个角落都能看到二维码的存在.那你知道二维码是怎么解析的吗?有想过自己实现一个扫码工具 ...

  8. 《崩坏:星穹铁道》游戏遇到打不开/闪退/黑屏怎么办?

    解决方法一:关闭多余程序 当前后台运行的程序过多,造成超载负荷,建议关闭后台运行程序再重新进入游戏选择: 解决方法二:切换稳定网络 检查自己当前使用的网络状态是否稳定,可能是因为网络不稳定导致运行数据 ...

  9. 【崩坏星穹铁道】仙舟引航罗盘解密c++

    依次输入夹角.星位数和组合 #include <iostream> #include <cmath> using namespace std; int main() {int ...

最新文章

  1. eltable刷新整个表格方法_Word表格函数计算怎么做?都在这篇!
  2. linux无文件渗透执行elf
  3. 动态加入JS及加入CSS
  4. dm9000 driver 1
  5. Java Web项目在Linux服务器自动化部署续-整合Bamboo
  6. 记录——《C Primer Plus (第五版)》第八章编程练习第八题
  7. webpack和webpack-dev-server安装配置(遇到各种问题的解决方法)
  8. java爬取豆瓣电影TOP250排行
  9. 计算机系统 基础知识点汇总,超全!!!
  10. 爬取今日头条新闻,并导入execle中(主要用了selenium)
  11. 基于关联分析法的美国专利技术网络挖掘(python代码 图文 超详细)
  12. 常见的分布期望及其方差
  13. 2019-新年新计划
  14. Python版经典小游戏愤怒的小鸟源代码,基于pygame+pymunk
  15. java执行shell命令,chmod 777 xxx,改变权限无效的解决办法。
  16. pyqt创建窗口没有句柄_史上最强之《Pyqt》写游戏
  17. ASP.NET:性能与缓存 转帖 张逸老师(http://www.cnblogs.com/wayfarer/articles/48347.aspx)...
  18. 安卓全屏java模拟器如何安装_使用Android 模拟器运行自定义Rom
  19. 2019春第一周编程总结
  20. java全栈系列之JavaSE-面向对象(super详解)036

热门文章

  1. Ubuntu20.04 AX210无线网卡驱动解决方法之一
  2. 解决Windows Server 2003中的启动故障
  3. 【UML】——构件图
  4. web程序设计笔记(六)——公告栏
  5. sinx除以x²积分怎么算
  6. 手机数控模拟器安卓版_数控机床模拟器手机版
  7. 5分钟装好Rational Rose破解版 非常好用
  8. VIJOS1392拼拼图的小杉
  9. Springboot关于错误页面处理和统一异常处理
  10. Android 获取手机基本信息,版本号,制造商等