Commit Graph
100 Commits
Author SHA1 Message Date
yml2213 70621cff8f feat(huya): unidbg 金测试打通 - 采集器加密可复现(androidId=PDSuHx..)/GUID=0a7dfa..一致
- 输入图定案: 库内零硬件文件读, 种子=ANDROID_ID+服务端hydeviceid_config+MID, 属性层无关(X1/X2)
- 真机全段解密 dump(phone_dump_hydev_full) + merge_decrypted 合入原文件 → unidbg 可直接加载
- unidbg(JDK21+patch) harness: JNI 桩(SharedPreferences日志化/Settings.Secure/NativeBridge)
  金测试: androidId 加密态与 getGUID 全部与真机一致
- 遗留: NativeBridge.b(100) 原生归属库未定(非hydeviceid/udb/device-util), 当前桩替顶
- 修正结论: '单机不可铸造'判断错误, GUID=b(100)=f(androidId密, config, MID) 输入全可控
2026-08-28 16:06:25 +08:00
yml2213 6ded82ac8b fix(douyu): reject invalid activity cookies 2026-08-28 15:51:59 +08:00
yml2213 9ee4e49a50 feat(douyu): support elite handbook lock orders 2026-08-28 14:06:11 +08:00
yml2213 49aae8b74c docs(huya): 算法生成路径分析 - 标准密码学原语定位/固定密钥候选/决定性实验/双路径(静态对拍+unidbg)
- dump 静态取证: AES S-box@0x36be82 / MD5 IV@0x36c190 / SHA1 K@0x36c1a0 / base64@0x3e8880
- .data 明文密钥候选: 7jbF5...(=AES-256 key) / HuyaUdb1928374650qwertyuiop / 865a4924...×2 / 961c151d...(SHA1)
- getGUID(0x20f8c8) 反汇编确认标准 OLLVM 平坦化 + 内部调用锚点 0x46140/0x1d6e68
- 指出'单机不可铸造'实验未覆盖 fileshydckey/全清数据/IMEI/qimei → 种子集可能可再生成
- 决定性实验 E1-E4(输入图+差分语料) + 路径A(纯Python黑盒对拍, 不需要解全部OLLVM) + 路径B(unidbg 仿真金测试)
- 服务端验收闭环: 铸币→dfpReport注册→WUP登录, 从第一天起验证
2026-08-28 12:55:20 +08:00
yml2213 022357ad79 docs(huya): 分析 getGUID 生成机制 - getter读缓存/init生成/硬锚底层硬件
- phone_stalk_getguid: Stalker 跟踪 getGUID(0x20f8c8) 执行, 揭示内部调用
  (art::JNI::NewStringUTF 外层, libhydeviceid 内部函数+jsemalloc, 不读属性)
- phone_getguid_ioctl: getGUID 窗口 ioctl/openat/property_get 追踪 -> ioctl=0, 确认是 getter 非生成器
- phone_init_ioctl: init()(0x20e6e4) 窗口追踪 -> 巨大 ioctl 噪音(App启动) + open fileshydckey(设备密钥)
- getguid_stalk/ioctl/init 证据

结论: 32hex GUID = init 时用底层硬件指纹(SoC序列号等不可改)+hydckey经OLLVM保护算法生成并缓存;
getGUID 只是读取。单机不可铸造(种子为不可改硬件ID)。
2026-08-28 12:36:17 +08:00
yml2213 0c6aff6a6d docs(huya): 逆向定位 32hex hdid = NativeEntry.getGUID() + 真机注入通道证据
核心结论:
- 32hex hdid (WUP 登录帧 field1.tag0) = com.huya.security.hydeviceid.NativeEntry.getGUID()
- 金样本 ed0db8 为金样本设备 GUID; 当前真机 M2102J2SC getGUID()=0a7dfaa882938a6ab502511452142c57(稳定)
- NativeEntry 全字段: getGUID(32hex)/getCDID(40hex)/getHDID(40hex)/getMID(16hex)/getSDID(base64 safedeviceid)
- 单机不可铸造: 改 serialno/ANDROID_ID/删files/hydevice持久化 均不变(硬锚底层硬件)
- libhydeviceid.so 为 OLLVM+datadiv 壳; 用 dlopen->JNI_OnLoad->RegisterNatives(env表索引215) 绕开混淆

脚本: phone_probe_registernatives2(注册表)/phone_java_call_nativeentry(Java读getGUID)/phone_read_hdid(native hook)
      phone_dump_hydev(dump解密so)/phone_probe_login_frame(登录帧)/arm64_disasm(反汇编)
证据: hdid_regtable/java_nativeentry/hdid_read/login_frames/hdid_probe* + libhydeviceid_{original,dump}.so
2026-08-28 12:30:34 +08:00
yml2213 45b5e9128c docs(huya): 新增总览去困惑地图 + 代码风险标记 + 真机 Frida 稳定注入通道
- docs/HUYA_APP_OVERVIEW.md: 整体流程/三形态hdid区分/登录入口盘点/随机化矩阵/风险清单/真机Frida现状
- core/huya 各模块 docstring 加风险标记与 hdid 名称混淆提示, 指向总览
- tools/app_login_flow 标注已过时(未接注册链), tools/huya_device_profile 标注与 core 策略关系
- scripts/phone_stable_capture.py + diag_phone_lifecycle.py: 真机 spawn+art_callsite 稳定抓帧/四组诊断
- evidence/diag_phone/: 真机基线/attach/稳定抓帧实验证据 (90s 存活无 EGL 崩)
2026-08-28 10:44:56 +08:00
yml2213 49c5c36c05 docs(huya): 模拟器存活闪退诊断报告与 Frida 探测脚本证据
- 诊断报告: attach 主进程静默退出/EGL 崩溃, 仅约 4s 窗口可抓帧
- scripts: attach/spawn/hook/emu 系列 Frida 脚本与抓帧/验证工具
- evidence: identity/reqchain/frame/inputbuf/magic_buf/propedge 抓取样本,
  emu_* 存活对比, diag_* 策略实验, baseline 裸测基准
2026-08-27 17:58:32 +08:00
yml2213 36b5d78050 docs(huya): 记录 dfpReport 零设备生成突破与生成器工具
- 破解进度: 服务端不校验 cw 内容, 随机 4146B cw 即可 200 + 签发新 t2/t5
- 生成流程: 零设备注册链 getDfpConfig->selectOperator->dfpReport 打法
- tools/dfp_gen.py: cw/body 构建器 (TAF 4226B 结构)
- tools/dfp_cli.py: 注册链 CLI
- evidence: cw JSON 段/collection 段抓取样本
2026-08-27 17:57:38 +08:00
yml2213 0c86e182b0 feat(huya): 零设备 dfpReport 注册链迁入 core/huya 并接入生产登录
- 新增 core/huya/dfp_register: 随机 4146B cw 生成 + 注册响应解析 (t1/t2/t5),
  修复 JSON 模板 %s 数不匹配的 TypeError bug
- app_login 每次 WUP 登录前执行注册链取新 safedeviceid/device_id,
  不再读取画像旧固定值; 注册失败抛 HuyaAppLoginError 终止, 不静默回退旧链
- device_profile 移除固定 SAFEDEVICEID_DEFAULT, 画像只承载 soft 字段
- tools/huya_device_register 同步零设备生成链路 (--gen/--gen-login)
- 新增 tests/test_huya_dfp_register (9 项), 扩展 test_huya_app_login 注册接线 (4 项)
2026-08-27 17:47:53 +08:00
yml2213 36325cf639 继续破解进度 2026-08-26 18:28:33 +08:00
yml2213 da2cf5a61d feat(huya): 整合 App 协议登录获取 Cookie 全链路并与 Web 登录解耦
- core/huya: 新增 app_login, wup_encoder, nonce_forge, cert_forge, envelope_forge, device_profile, udb_aes
- core/huya/__init__.py: 导出 login_huya_app_password 与 HuyaAppPasswordLogin
- web/backend: 新增 /accounts/app-password-login 与 /accounts/app-password-login/selected 路由及 Schema,与原 Web 密码登录独立分开
- web/frontend: 增加 App 登录 API 与前端界面“App 登录选中”操作,弹窗结果明确区分
- tests: 新增 test_huya_app_login.py 单元测试覆盖全链路
2026-08-26 15:51:30 +08:00
yml2213 4eec01568f dfpReport: 确定加密为逐字节XOR(动态keystream)+同步pair捕获+IDA导出线索, 记录破解进度 2026-08-26 14:17:58 +08:00
yml2213 acb0a737eb 定位并实现设备注册链: wsapi.huya.com getDfpConfig->selectOperator->dfpReport
- 纯Python直连三接口(无登录门槛), 重放与真机HAR一致
- 实测: dfpReport响应 t5=登录帧device_id, t2=登录帧safedeviceid(服务端签发)
- 注册链新action+t5登录 -> cred; t1非hdid(硬错); 改selectOperator指纹不触发重注册
- 设备身份锚=dfpReport加密体(10B魔数+加密采集数据), 生成算法未破解
- hdid=libhydeviceid.so native setDeviceInfo上报, 不走HTTP, 不可铸造
- tools/huya_device_register.py + evidence/dfp_chain_golden.json
2026-08-26 11:19:40 +08:00
yml2213 c2d578a3e0 hdid 溯源实测: libhydeviceid.so设备ID, 纯代码不可铸造; 共用登录无碍仅设备维度关联风险
- df/collect 响应含40hex hdid(每次新值)但 WUP 登录拒绝(652B) -> 非同一体系
- runner.js 输出 __HDID__, get_huya_sdid 一并返回
- 文档: hdid 来源/可铸造性/共用风险评估 + 设备池方案
2026-08-26 11:01:50 +08:00
yml2213 1557760a20 多账号设备画像: 设备/指纹/风控数据归类 + 每账号独立画像全链接入
- 实测校验矩阵: hdid+app_version 硬锚(APP_SIGN_NOT_MATCH), fingerprint
  换→safe_auth滑块(自动过), device_id/机型/safedeviceid 直接过
- 定位注册接口: df/token+collect(sdid每次新值), wsapi dfpReport链(未破解)
- tools/huya_device_profile.py: 每账号画像生成/持久化(幂等)
- app_login_flow.login_cred / full_web_cookie 接入画像, 端到端出全套cookie
2026-08-26 10:50:04 +08:00
yml2213 8efd3b8d02 纯Python活动页TAF服务端验证登录态: webActUI WS通道 + 金样本对拍
- tools/huya_activity_verify.py: 认证帧+getActUserTaskDetail两帧即验证
  (200请求成功+6任务项=已登录; 无cookie对照905=未登录)
- 信封格式定论: L2=len(value), L1=L2+14, 身份一致性要求, actId尾字段=11 62 2f
- HTTP cdnws端点被volc-dcdn封锁非浏览器TLS, WS wsapi可纯Python直连
- evidence: 金样本(逐字节)+ 浏览器当前会话帧 + 验证结果
2026-08-26 02:35:42 +08:00
yml2213 97e6d14139 feat(huya): nonce生成机制完全破解 - 任意账号零设备出完整CK闭环
动态hook实锤(scripts/hook_nonce_chain.py):
  rnd = XXTEA(pack(st) + pack(counter|st<<16), key=MD5hex(uid_str + k1)[:16])
  - st=毫秒时间戳, counter同st内递增
  - k1=设备常量865a4924...(不随账号变, evidence/nonce_k1.json)
  - Python复刻(tools/nonce_forge.py)对设备两轮rnd逐字节MATCH

推翻v2误判(X2'nonce账号绑定令牌'实为nonce内编码uid):
  - 换账号用目标uid重算nonce而非复用旧nonce!
  - 纯随机nonce必40020因解不出合法st/counter结构

实测: 同账号+跨账号(hy_300024708从未设备登录)本地nonce铸证bind均通过,
  full_web_cookie/full_auto_safe 任意账号密码->全套cookie(udb_cred/udb_biztoken)
2026-08-26 00:49:01 +08:00
yml2213 da9937707c feat(huya): wupData信封规则定论 - 原nonce必带/t3-cred一致/session不可动 + 交接文档更新 2026-08-25 21:22:19 +08:00
yml2213 44b50bb503 feat(huya): safe_auth滑块自动过验闭环 - 新账号密码登录也全自动 2026-08-25 21:22:19 +08:00
yml2213 0019e5f7a1 docs: 纯Python全自动登录总结与交接文档 2026-08-25 19:47:58 +08:00
yml2213 e5a615f480 feat(huya): safe_auth定性为udbrtt滑块-已有solver可自动过 2026-08-25 19:46:30 +08:00
yml2213 72932d02ff fix(huya): safe_auth风控账号友好提示 2026-08-25 19:33:21 +08:00
yml2213 e69194b841 feat(huya): 一键网页cookie工具 - 密码->cred->铸证->bind->cookie/verify全套 2026-08-25 19:25:06 +08:00
yml2213 d1a2b6aa8b feat(huya): 一键全自动测试脚本(密码->cookie) 2026-08-25 19:14:34 +08:00
yml2213 d29290ae0e feat(huya): 纯Python密码->cred->铸证->bind全链路贯通! 零设备闭环达成 2026-08-25 19:12:35 +08:00
yml2213 b7719bc093 feat(huya): 干净流水线仍40020 - 登录响应cred与cert-cred为两态, 转换步骤待抓 2026-08-25 19:01:46 +08:00
yml2213 55a2d6fe16 feat(huya): 对照实验-每次登录铸新cred, 钥代次轮换模式发现(0x20/30/40/50) 2026-08-25 18:50:05 +08:00
yml2213 460e067afd feat(huya): 真密码端到端实测完成 - cred字段形态差异已锁定为最后问题 2026-08-25 18:44:38 +08:00
yml2213 1bf94f3c20 feat(huya): 真密码登录成功返回数据 - cred字段识别待精确化 2026-08-25 18:41:37 +08:00
yml2213 61408c5774 feat(huya): R8 - 纯Python登录链路全通, 待真密码终验 2026-08-25 18:38:14 +08:00
yml2213 dae24b513a feat(huya): cred切片待锚点校正(113/114偏差) 2026-08-25 18:35:56 +08:00
yml2213 3811f14192 feat(huya): 响应bean解析成功 - 114B hyCred与344B biztoken定位! 2026-08-25 18:31:33 +08:00
yml2213 092fd5a04f feat(huya): 响应sBuffer布局精确对齐(915B bean) 2026-08-25 18:27:55 +08:00
yml2213 afbd86d4ae feat(huya): 登录响应bean部分解码 - uid实锤于tag0 2026-08-25 18:25:16 +08:00
yml2213 ec8fb880e3 feat(huya): 纯Python登录包获服务器返回真实登录数据(uid/token)! 2026-08-25 18:23:34 +08:00
yml2213 cc8589a7aa feat(huya): 响应解析通过(id=4097回显) - APP_SIGN缺口定位到AESkeyMgr钥KFWAH 2026-08-25 18:16:09 +08:00
yml2213 783032419a feat(huya): 纯Python hypasswordLogin包服务器接受(HTTP200) - 传输层全通! 2026-08-25 18:12:43 +08:00
yml2213 93365e22c7 feat(huya): createWupPackage签名破解 - TAF RequestPacket结构对上 2026-08-25 18:00:15 +08:00
yml2213 0bba1e6af2 feat(huya): 登录流量走wup.huya.com长连接 - 锁定createWupPackage@0x274ea4为帧格式突破口 2026-08-25 17:56:59 +08:00
yml2213 de35a34d52 feat(huya): 纯Python护照客户端骨架 - 信封构建+盲发探测(待真实包对齐) 2026-08-25 17:28:51 +08:00
yml2213 8ce65684c0 feat(huya): 纯Python路线确认 - wupudbrequest_v0透传通道 2026-08-25 17:27:46 +08:00
yml2213 2661d9587f feat(huya): 全链路终局验证通过 - 活体cred采集+铸证+绑定闭环 2026-08-25 17:23:32 +08:00
yml2213 0ade681881 feat(huya): Java桥主动调getCred成功 - 活体hyCred(152b64/114B)到手并铸出新证书 2026-08-25 17:16:40 +08:00
yml2213 69c089fdeb feat(huya): bean为指针对象 - 定位getCred@0x265524出口为最终抓点 2026-08-25 17:04:36 +08:00
yml2213 e7edfcee5c feat(huya): MsgRequestLoginPassport完整JSON载荷捕获 - password=SHA1 2026-08-25 16:56:06 +08:00
yml2213 20c0f807ed feat(huya): sendMessage(0x1001)登录时实锤触发 - wire id双体系确认 2026-08-25 16:53:32 +08:00
yml2213 75e311afa2 feat(huya): 确认LoginPassport走huyaudbwebui servant 2026-08-25 16:39:47 +08:00
yml2213 517ec8da4c feat(huya): MsgRequestLoginPassport msgId=0x1001 实锤(RegisterMsg调用) 2026-08-25 16:38:01 +08:00
yml2213 0e262ada7c feat(huya): LoginPassport注册常量0x20与证书key_idx同值 2026-08-25 16:36:17 +08:00
yml2213 db9283de91 feat(huya): msgId线索 0x1001/0x2001 注册模式定位 2026-08-25 16:34:28 +08:00
yml2213 466dd38517 feat(huya): udb消息载荷为JSON命名键 - 请求/响应字段即线上协议 2026-08-25 16:32:59 +08:00
yml2213 1b09bed3d4 feat(huya): BusBeansLoginData完整字段表 - cred/cookie/token随护照登录响应下发 2026-08-25 16:30:54 +08:00
yml2213 9488522be4 feat(huya): B1静态首铲 - 登录态JSON字段名集群+新24字符密钥发现 2026-08-25 16:20:57 +08:00
yml2213 4c35e741ef feat(huya): cred来源定位 - HandlerResponseLoginPassport护照登录响应
- backtrace实锤: saveLoginData<-HandlerResponseLoginPassport<-JceInputStream
- cred随护照登录响应一次性下发(BusBeansLoginData), 非独立消息
- HTTPS passwordLogin简化通道响应无cred(二次扫描确认)
- 下一步: 对比App真实登录请求字段 / 长连接WSP复刻 / 混合采集兜底
2026-08-25 16:18:20 +08:00
yml2213 d24666ab2a feat(huya): hyCred签发链侦察 - saveLoginData落盘捕获+长连接消息族定位
- 证实cred长寿命(晨间cred午后仍有效), 每账号一次采集即可
- 密码登录响应不含cred; 签发走cdn.wup长连接(MsgRequestLgnCred族)
- getCred纯本地读; 落盘链: saveLoginData->JSON->AES->writeFileEx
- 三路线评估: A混合采集(可用)/B wsapi复刻/C长连接复刻, 下次从笔记抓手继续
2026-08-25 16:07:33 +08:00
yml2213 9aed5847dd feat(huya): 铸证活体验证通过 - 换cred重铸证书bind成功
- 实验C: 原nonce+原指纹+旧轮换hyCred -> 全新密文证书 -> bind stage=2
  uid=1199666914671 + 344B biztoken
- 证明: 服务端校验nonce合法性但不校验时效; 身份完全由cert内cred决定
- gen_biz_token trace: enum=0x78, 入参(uid串,sessHex32),
  xxtea明文16B=[t][t<<16]结构, enpack_body组装P1顺序实锤
- => 拿到任意账号有效hyCred(114B)即可铸其证书
2026-08-25 15:37:42 +08:00
yml2213 a0ba2fe020 feat(huya): 证书算法完全闭环 - 差分法证明标准AES-128-ECB并复现铸证
- NativeFunction直调差分: FIPS-197 KAT逐位一致, UdbAESUtil无魔改
- 证书 = b64([0x0C][key_idx][AES128-ECB(key16, zeropad(P1_187B))])
- P1结构: [010400][5008][u16+20B随机][u16+40B指纹hex][u16+114B hyCred]
- 密钥: rodata默认三条(AESkeyMgr id=3/4/5) + 服务端下发会话钥(key_idx区分)
- tools/cert_forge.py 重铸证书与活体密文 FULL MATCH
2026-08-25 15:21:11 +08:00
yml2213 2076510df9 feat(huya): frida证书生成链逆向 - 全链路hook工具与文档
- 定位完整调用链: HYUDBMSDKCommon桥接 -> MsgGetH5InfoEx(184549387)
  -> HandlerGetH5InfoEx::onHandler@0x38d548 -> getOtp@0x2689f4
  -> hyudb_otp_encrypt@0x32fa24 -> createWupRequestData@0x38dab0
- 实测参数表: otp(uid串,2,轮换idx,'5008',SESS_HEX32,hyCred114B,4,nonce)
- 密钥字符串确认: 'HuyaUdb1928374650qwertyuiop' (encrypt x3 参数)
- Java桥直呼触发: LoginProxy.getQUrlData/getH5InfoEx/getCred 可编程调用
- 稳定时序固化: spawn挂起->bypass->resume->10s->patch_guard->hooks
  (attach已运行进程必被检测闪退)
- 发现App登录态JSON含现成web cookie.biztoken(344B)
2026-08-25 14:21:06 +08:00
yml2213 9aea9851bd test(huya): 风控场景/代理/扫码闭环探针与逆向文档
- probe_huya_login_scene: 各 appId/UA 组合的风控策略探测
- probe_huya_proxy: 走代理源对比直连的风控策略
- probe_huya_qr_bind: 扫码登录闭环(getQrId->scanQrPicNotify->
  bindQrLoginUser->tryQrLogin), 实测出有效web会话; 含wupData
  结构地图与证书定位实验结论(见 docs/虎牙扫码登录闭环逆向.md)
2026-08-25 11:51:01 +08:00
yml2213 705c51bf48 feat(huya): 密码登录appId透传修正+风控换IP重试
- _password_payload 改用 self.app_id/self.app_sign(原先硬编码5002,
  导致5008实例静默发错appId)
- app_id=5008 时自动切换 Android WebView UA
- login() 增加换IP重试循环: 扫码/短信风控时经 proxy_fetcher 换代理重试,
  上限 max_ip_retries, 耗尽后返回 code=risk
2026-08-25 11:50:48 +08:00
yml2213 0a060bb777 fix(huya): 风控判定改为按URL路径, strategy=64不再误判为扫码
矩阵实测: 不存在账号/错误密码下发 pt_auth.html(滑块), 正确密码才下发
qr_auth.html(扫码)。旧逻辑把 strategy==64 硬编码当扫码, 把可自动化的
滑块误杀成死路。现仅按 URL 路径 qr_auth 判定。
2026-08-25 11:50:40 +08:00
yml2213 ff99c036f8 虎牙App密码登录: 逆向WUP协议并实现纯Python登录编码器
- hook WUP序列化层抓取TLS加密前明文,确认密码登录走
  servant=huyaudbwebui / func=hypasswordLogin (msgType=0x1001)
- 逆向JCE RequestPacket帧格式(1015字节TAF二进制),定稿三层结构:
  WUP header(tag1-10) -> sBuffer Map -> _wup_data业务struct
- 澄清两个疑点字节: 0x66/0x7d 是TAF字段头(非分隔符)
- 实现 tools/huya_wup_encoder.py,逐字节复现金标准
- 实测纯Python动态构造登录成功(返回uid+token),TLS指纹不阻断
- userAction随机坐标/时间戳同样通过,内置make_user_action辅助函数
- 新增证据金标准 + 协议文档
2026-08-25 02:59:20 +08:00
yml2213 06a0a1e7d3 虎牙登录: 接入hydevice高信任设备指纹与App场景验证支持
- 新增 fingerprint/: node仿真Android WebView运行官方hydevice.js(含WASM加密), 产出与真机同构的高信任sdid
- 新增 device_fingerprint.py: py编排node runner获取sdid, 失败自动降级旧无指纹流程
- login.py: prepare_device优先高信任指纹; 增加App场景常量(appId=5008, appSign=md5(appId+verCode+appKey)[:8], 逆向自APK UdbNetHelper)
- solver: 支持appId/page_url/use_touch_events参数化(App模式); get3使用csid会话id; 识别qr_auth扫码(冷却)与dx_auth短信策略并抛专用异常
2026-08-23 17:32:34 +08:00
yml2213 bf2f78aa70 优化客服CK重登流程 2026-08-14 14:43:21 +08:00
yml2213 1ed1eac205 同步客服充值渠道配置 2026-08-14 14:00:51 +08:00
yml2213 644a9b118f 区分斗鱼充值审计方式 2026-08-14 13:29:54 +08:00
yml2213 baed0e61ff 优化客服账号标签管理 2026-08-14 12:44:48 +08:00
yml2213 7fe6228901 增加充值审计日志 2026-08-14 11:52:30 +08:00
yml2213 7fefe7e9f9 删掉无用文档 2026-08-14 11:29:37 +08:00
yml2213 e2a45b7893 优化斗鱼充值日志与配置 2026-08-14 11:27:53 +08:00
yml2213 0bf69c1240 优化斗鱼充值 2026-08-13 21:43:27 +08:00
yml2213 902e669614 功能: 接入鱼翅供应商直充渠道 2026-08-13 21:11:20 +08:00
yml2213 420ee3d95c 功能: 增加鱼翅直充接口基础层 2026-08-13 16:44:20 +08:00
yml2213 2e207f726c feat: 账号凭据默认脱敏并支持主动查看 2026-08-13 16:32:49 +08:00
yml2213 a223cb726d feat: 为CK页面增加标签筛选 2026-08-13 16:24:35 +08:00
yml2213 47ded2bc3e feat: add scoped cookie operations for support 2026-08-13 16:17:06 +08:00
yml2213 cf3fe68de3 功能: 按用户同步斗鱼工作台 2026-08-13 15:47:07 +08:00
yml2213 090698e6b2 fix: harden user management operations 2026-08-13 15:07:33 +08:00
yml2213 b07c5fdbf6 fix: restore DaoCloud MySQL image default 2026-08-13 14:01:54 +08:00
yml2213 99520d9b9b 强化支付协议校验与证据保护 2026-08-12 23:54:14 +08:00
yml2213 74a85c8328 优化支付耗时和日志 2026-08-12 23:20:43 +08:00
yml2213 f1a22e87e9 优化应用宝充值界面 2026-08-12 22:23:59 +08:00
yml2213 8e4e394c4b 修复微信QQ支付参数分流 2026-08-12 21:59:56 +08:00
yml2213 d610933f87 qq 也可以获取支付二维码 成功微信支付了 2026-08-12 21:41:26 +08:00
yml2213 4c978b923b qq 登录修复 2026-08-12 19:45:15 +08:00
yml2213 5074faf9f6 优化了部分支付宝界面 2026-08-12 19:12:22 +08:00
yml2213 1a20c367db 合并应用宝 Worker 容器 2026-08-12 17:59:26 +08:00
yml2213 cebbd94ae8 流程通了 2026-08-12 17:30:00 +08:00
yml2213 03f5b8a6c4 优化日志与启动调试脚本 2026-08-12 16:29:37 +08:00
yml2213 d19c0902f2 初步增加, 扫码登录成功 2026-08-12 16:22:55 +08:00
yml2213 7db3b2cd4f fix: preserve custom cookie input order 2026-08-09 18:00:42 +08:00
yml2213 ba35ac5c0d fix: preserve xpd role platform in wallet queries 2026-08-09 10:06:57 +08:00
yml2213 8b7ff770e2 fix: preserve xpd purchase records in task results 2026-08-08 21:56:39 +08:00
yml2213 a342dddcb6 feat: add xpd purchase records view 2026-08-08 21:41:44 +08:00
yml2213 948e7d7246 fix: keep one douyu cookie per account 2026-08-08 21:26:32 +08:00
yml2213 b39780f26d 一键检测重复-仓库管理 2026-08-08 20:51:50 +08:00
yml2213 65271124c0 增加斗鱼自定义CK筛选功能 2026-08-08 19:03:23 +08:00
yml2213 39ea0d2184 feat(cookies): Cookie 失效后可账号重新登录替换, 并修复 Cookie 列空白过多 2026-08-08 01:39:02 +08:00
yml2213 64b017fd6a 优化兑换结果图片 2026-08-08 01:06:16 +08:00