ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

FufuLauncher自动签到代码实现:米哈游Passport接口、请求签名与Cookie管理深度剖析

FufuLauncher自动签到代码实现:米哈游Passport接口、请求签名与Cookie管理深度剖析 FufuLauncher自动签到代码实现米哈游Passport接口、请求签名与Cookie管理深度剖析【免费下载链接】FufuLauncherA third-party launcher for Genshin Impact that supports game injection, automatic check-in, and some useful small features.项目地址: https://gitcode.com/gh_mirrors/fu/FufuLauncherFufuLauncher 是一款原神第三方启动器其自动签到功能通过逆向对接米哈游 Passport 接口、模拟客户端请求签名DS 头并本地化 Cookie 管理实现了一键领取游戏签到原石、社区签到与云游戏福利。本文带你逐层拆解这套自动签到代码的实现原理。一键签到是如何跑通的整体架构签到能力的总指挥是 UnifiedCheckinService.cs它在一次调用中串联三大模块签到类型负责服务说明游戏签到Genshin.cs基于米游社社区接口领取原石社区签到CommunityCheckinService.cs社区帖子阅读、点赞、分享云游戏签到CloudGameCheckinService.cs云原神签到国际服自动跳过核心思路非常直白每个账号本地存了一份 Cookie签到时加载 → 拼装请求头 → 逐个请求接口。多账号之间还会插入 2~5 秒随机延迟模拟人工操作节奏见 UnifiedCheckinService.cs 中的Task.Delay。Passport 接口解析登录与换票Passport 客户端封装在 PassportClient.cs所有接口地址集中在 ApiEndpoints.cs。短信验证码登录两步走发起验证码CreateLoginCaptchaAsync向createLoginCaptcha提交手机号但手机号并非明文——PassportRsaCrypto.cs 会用内嵌的 RSA 公钥对86区号和号码分别加密后以 Base64 提交。验证码登录LoginByMobileCaptchaAsync携带加密手机号与验证码请求loginByMobileCaptcha成功后响应中返回stoken、mid等关键票据。这套公钥加密敏感字段的做法与米游社 App 的行为完全一致是绕过风控识别的关键细节之一。二维码登录Cookie 的真正来源自动签到所需的 Cookie 主要来自扫码登录流程见 TokenRefreshService.cs 的编排createQRLogin → 返回 ticket ↓ scanQRLogin用 stoken 模拟 App 端已扫码 ↓ confirmQRLogin模拟确认登录 ↓ queryQRLoginStatusstatusConfirmed 时从响应 Set-Cookie 头中提取全新 Cookie注意 PassportClient.cs 中HttpClient特意设置了UseCookies false——禁用系统 Cookie 容器完全手工管理 Cookie 头这样才能把服务器下发的票据精准地写进本地文件。请求签名 DS模拟 App 指纹的核心米哈游接口要求每个请求携带DS头其本质是盐 时间戳 随机数 请求体 查询串的 MD5。通用算法集中在 MiHoYoHeaderFactory.csDS t , r , MD5(salt盐t时间戳r随机数b请求体q查询串)不同接口使用不同的盐全部定义在 HeaderSalts.cs盐常量使用场景MiyakoAppdDIQHb...米游社 App 系含 QR 登录WebMihoyoG1ktdw...Web 端接口校验CnX4/CnX6游戏记录 / 每日笔记PassportProdPassport 通行证接口签名之外的指纹同样重要x-rpc-device_id、x-rpc-device_fp、x-rpc-app_version、client_type等请求头在各场景中由 BbsRequestBuilder.cs 按场景统一组装例如game_record系列接口固定使用client_type5并附带 WebView 风格 UA让服务器看到的是一个米游社移动端。Cookie 管理存储、拼装与自动续期本地化存储Cookie 以 JSON 文件形式按账号落盘读写逻辑在 AccountManager.Cookies.cs。读取时兼容cookies/values/ 纯键值对三种历史格式保证老版本数据平滑迁移。请求时的 Cookie 拼装BbsRequestBuilder.cs 的BuildCookieString定义了两种模式Full 模式account_id cookie_token ltoken ltuid且对 v1/v2 键名逐键独立回退有 v1 用 v1否则用 v2SToken 模式仅拼stoken; mid; stuid缺 stoken 时不会以分号开头产生畸形头。签到主流程在 UnifiedCheckinService.cs 中把字典拼成keyvalue; ...字符串后注入各签到器。Cookie 失效的自动续期当接口开始返回异常时TokenRefreshService.cs 会静默执行续期先调game/roles接口探测旧 Cookie 是否仍有效若失效则复用上面 Passport 扫码流程用stoken mid换发一组全新 Cookie 并回写本地文件——全程无需用户再次扫码。从签名到原石一次签到请求的一生把前面三块拼起来一次游戏签名的完整链路是取凭证AccountManager从本地 JSON 读出该账号的 Cookie 与 stoken组请求头场景化 Builder 注入 UA、device_id、device_fp 等指纹头并按接口选用对应盐计算DS调签到接口Genshin.cs 继承自GameCheckin绑定hk4e_cn游戏 ID 发起签到解析结果统计连签天数与奖励物品聚合进UnifiedCheckinResult展示给用户失效兜底检测到 Cookie 过期即触发自动续期形成闭环。关键文件速查表签到编排Services/UnifiedCheckinService.csPassport 客户端Services/MiHoYo/Passport/PassportClient.csRSA 加密Services/MiHoYo/Passport/PassportRsaCrypto.csDS 签名工厂Services/MiHoYo/Networking/MiHoYoHeaderFactory.cs场景化请求头Services/MiHoYo/Transport/BbsRequestBuilder.csCookie 存储Services/AccountManager.Cookies.csCookie 续期Services/TokenRefreshService.cs接口地址常量Constants/ApiEndpoints.cs⚠️ 免责声明本启动器为第三方工具接口实现基于对公开客户端行为的逆向分析仅供学习研究请遵守米哈游服务条款合理使用自己的账号。【免费下载链接】FufuLauncherA third-party launcher for Genshin Impact that supports game injection, automatic check-in, and some useful small features.项目地址: https://gitcode.com/gh_mirrors/fu/FufuLauncher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表