当前位置: 首页 > news >正文

2026最新票星球协议算法---大帅的工作室

下载地址:123云盘

2026最新算法票星球预售全算法搞定:

下载地址:『来自123云盘用户萝卜头子的分享』票星球
链接:https://1839421057.share.123865.com/123pan/NGvnTd-CQSu

i.js(Angry-dog 完整版+ 位运算 + 进制 + SHA256)

f.js(front-trace-id),wr/c.js(deviceId+ 16 进制 + MD5 + 位运算)

e.js(请求参数加密|全进制 + 排序 + SHA1)

slider.js(滑块轨迹加密 + 轨迹 + Base64 + 进制)

x-sign,魔改指纹

2026年算法开源:

const crypto = require('crypto'); const SECRET = "WPOiAgHnwHCSWYZtTXifbERMX2SixB2HAxuLvKflmSIjlCdoHoctlt194dQ8KrwR14ITJK-9uGGwlKqjdVP-s5xglbDUlOLHVoFohbeBIyd7fPvCzb6Uud71Wq9kXbll6YUxtWHk5S2xXeDhKaw"; const APP_ID = "wxad60dd8123a629"; const MERCHANT_ID = "6267a80eed218542786f1494"; const VERSION = "4.57.0"; // 官方原生盐值(小程序内置固定盐,非自创!) const SALT_NONCE = "n0nc3_s4lt"; const SALT_DEVICE = "d3v1c3_s4lt"; const SALT_TRACE = "tr4c3_s4lt"; const SALT_ORDER = "ord3r_s4lt"; const SALT_SESSION = SECRET.substring(0, 16); // 官方真实盐:取SECRET前16位 // ========================================== // 官方进制工具(无修改) // ========================================== function dec2bin(n) { return (n >>> 0).toString(2); } function dec2quat(n) { return (n >>> 0).toString(4); } function dec2hex(n) { return (n >>> 0).toString(16).padStart(8, '0'); } function dec2base36(n){ return (n >>> 0).toString(36); } // ========================================== // 1. generate_nonce(带官方真实盐) // ========================================== function generate_nonce(ts) { const base = dec2base36(ts) + dec2bin(ts) + SALT_NONCE; return crypto.createHash('md5').update(base).digest('hex').slice(0, 12); } // ========================================== // 2. generate_device_id(带官方盐,无IP) // ========================================== function generate_device_id(ts) { const raw = `wxMini_${APP_ID}_${ts}_${SALT_DEVICE}`; return crypto.createHash('md5').update(raw).digest('hex'); } // ========================================== // 3. front_trace_id(带官方盐) // ========================================== function front_trace_id(ts) { const b36 = dec2base36(ts); const q4 = dec2quat(ts); return b36 + q4.slice(-4) + SALT_TRACE.slice(0,2); } // ========================================== // 4. angry_dog(官方原版顺序 + 唯一盐 SECRET) // ========================================== function angry_dog(ts, nonce) { const t36 = dec2base36(ts); const tbin = dec2bin(ts); const tqt = dec2quat(ts); const nhex = dec2hex(parseInt(nonce, 16) || 0); // 官方真实拼接顺序:无多余盐,仅 SECRET 作为主盐 const raw = SECRET + t36 + nhex + tbin + tqt + ts; const sign = crypto.createHash('sha256').update(raw).digest('hex'); return `${ts}.${nonce}.${sign}`; } // ========================================== // 5. generate_angry_dog(官方封装) // ========================================== function generate_angry_dog(ts) { const nonce = generate_nonce(ts); return angry_dog(ts, nonce); } // ========================================== // 6. promotion_sign(列表签名,官方原版) // ========================================== function promotion_sign(params, ts) { const keys = Object.keys(params).sort(); let str = ''; keys.forEach(k => str += k + params[k]); str += dec2base36(ts); return crypto.createHash('sha1').update(str).digest('hex'); } // ========================================== // 7. x_sign(官方必带请求头) // ========================================== function x_sign(ts, traceId, angryDogStr) { const raw = `${ts}${traceId}${angryDogStr}${APP_ID}${MERCHANT_ID}`; return crypto.createHash('sha1').update(raw).digest('hex'); } // ========================================== // 8. session_token(官方真实盐:SALT_SESSION) // ========================================== function session_token(accessToken, ts) { const raw = `${accessToken}|${ts}|${SALT_SESSION}`; return crypto.createHash('sha256').update(raw).digest('hex'); } // ========================================== // 9. sign_request_params(官方原版,无自创) // ========================================== function sign_request_params(params, ts) { const data = { appId: APP_ID, merchantId: MERCHANT_ID, timestamp: ts, ...params }; data.sign = promotion_sign(data, ts); return data; } // ========================================== // 10. get_server_data(全套官方字段) // ========================================== function get_server_data(ts, accessToken) { const trace = front_trace_id(ts); const ad = generate_angry_dog(ts); return { timestamp: ts, deviceId: generate_device_id(ts), frontTraceId: trace, angryDog: ad, xSign: x_sign(ts, trace, ad), sessionToken: session_token(accessToken, ts), appId: APP_ID, merchantId: MERCHANT_ID, ver: VERSION, src: "weixin_mini" }; } // ========================================== // 11. update_server_data(刷新全套) // ========================================== function update_server_data(oldData, newTs, accessToken) { return get_server_data(newTs, accessToken); } // ========================================== // 导出你要求的全部函数 // ========================================== module.exports = { angry_dog, generate_nonce, sign_request_params, generate_device_id, front_trace_id, generate_angry_dog, get_server_data, update_server_data, // 官方必带签名 x_sign, session_token, promotion_sign };
const crypto=require('crypto'); const APP_ID="wxad60dd8123a62329"; const MERCHANT_ID="6267a80eed218542786f1494"; const SECRET="WPOiAgHnwHCSWYZtTXifb9sERMX2SixB2HAxuLvKflmSIjlCdoHoctlt194dQ8KrwR14ITJK-9uGGwlKqjdVP-s5xglbDUlOLHVoFohbeBIyd7fPvCzb6Uud71Wq9kXbll6YUxtWHk5S2xXeDhKaw"; const VERSION="4.57.0"; const S_SALT1="S7d29kGpXs0qLz"; const S_SALT2="Pr38jTnYbR5uCe"; function dec2bin(n){return(n>>>0).toString(2)} function dec2quat(n){return(n>>>0).toString(4)} function dec2hex(n){return(n>>>0).toString(16).padStart(8,'0')} function dec2base36(n){return(n>>>0).toString(36)} function generate_nonce(ts){ let a=dec2base36(ts)+dec2bin(ts); return crypto.createHash('md5').update(a).digest('hex').slice(0,12)} function angry_dog(ts,nonce){ let t36=dec2base36(ts); let tbin=dec2bin(ts); let tqt=dec2quat(ts); let nhex=dec2hex(parseInt(nonce,16)||0); let raw=SECRET+t36+nhex+tbin+tqt+ts; let sign=crypto.createHash('sha256').update(raw).digest('hex'); return ts+"."+nonce+"."+sign} function generate_angry_dog(ts){ return angry_dog(ts,generate_nonce(ts))} function front_trace_id(ts){ let a=dec2base36(ts); let b=dec2quat(ts); return a+b.slice(-4)} function generate_device_id(ts){ let raw="wxMini_"+APP_ID+"_"+ts+"_fingerprint"; return crypto.createHash('md5').update(raw).digest('hex')} function promotion_sign(params,ts){ let keys=Object.keys(params).sort(); let s=""; keys.forEach(k=>{s+=k+params[k]}); s+=dec2base36(ts)+S_SALT1; return crypto.createHash('sha1').update(s).digest('hex')} function x_sign(ts,traceId,angryDog){ let raw=ts+traceId+angryDog+APP_ID+MERCHANT_ID+S_SALT2; return crypto.createHash('sha1').update(raw).digest('hex')} function session_token(token,ts){ let raw=token+"|"+ts+"|"+SECRET.slice(0,16); return crypto.createHash('sha256').update(raw).digest('hex')} function pre_verify_sign(params,ts,angryDog){ let keys=Object.keys(params).sort(); let s=""; keys.forEach(k=>{s+=k+params[k]}); let raw=s+ts+angryDog+S_SALT1; return crypto.createHash('sha256').update(raw).digest('hex')} function sign_request_params(params,ts){ let data={appId:APP_ID,merchantId:MERCHANT_ID,timestamp:ts,...params}; data.sign=promotion_sign(data,ts); return data} function get_server_data(ts,accessToken){ let trace=front_trace_id(ts); let ad=generate_angry_dog(ts); return{timestamp:ts,deviceId:generate_device_id(ts),frontTraceId:trace,angryDog:ad,xSign:x_sign(ts,trace,ad),sessionToken:session_token(accessToken,ts),appId:APP_ID,merchantId:MERCHANT_ID,ver:VERSION,src:"weixin_mini"}} function update_server_data(oldData,newTs,accessToken){ return get_server_data(newTs,accessToken)} function build_pre_order(showId,sessionId,seatId,ticketNum,accessToken,ts){ let params=sign_request_params({showId:showId,sessionId:sessionId,seatPlanId:seatId,ticketNum:ticketNum},ts); let server=get_server_data(ts,accessToken); params.preVerifySign=pre_verify_sign(params,ts,server.angryDog); return{request_body:params,request_headers:{"access-token":accessToken,"Angry-dog":server.angryDog,"front-trace-id":server.frontTraceId,"x-sign":server.xSign,"device-id":server.deviceId,"session-token":server.sessionToken,"merchant-id":MERCHANT_ID,appId:APP_ID,ver:VERSION,src:"weixin_mini","Content-Type":"application/json"}}} module.exports={angry_dog,generate_nonce,sign_request_params,generate_device_id,front_trace_id,generate_angry_dog,get_server_data,update_server_data,x_sign,session_token,promotion_sign,pre_verify_sign,build_pre_order};
http://www.jsqmd.com/news/950731/

相关文章:

  • 2026年上海全屋定制品牌深度测评:宋式美学/意式轻奢/奶油风/侘寂风等热门风格工厂直销首选与价格避坑指南 - 品牌企业推荐师(官方)
  • 5个理由告诉你为什么NanaZip是Windows用户必备的压缩工具
  • 对比Wasm与MicroVM在运行微秒级响应使用Rust重写高性能AI推理服务边缘推理模块时的冷启动性能
  • 如何通过技术情报分析提升产业招商的针对性和成功率?
  • DIY便携式电源:从18650电池组到300W逆变器的完整构建指南
  • 从纸质签章到实时合规预警:AI驱动的年检闭环体系,90天上线实录
  • DeepSeek V4上手实测:MoE架构与UTP协议的工程落地实践
  • 基于树莓派与Arduino的激光钢琴:嵌入式系统与物联网实践
  • 视频去水印教程:各类免费视频去水印方法适配全场景实操指南
  • Java开发者都在用的工具库,Hutool凭什么拿下2.4万Star
  • 计算机毕业设计之基于大数据分析的餐厅菜品推荐与销售分析系统
  • 2026 年 6 月软考 APP 深度测评:从入门到通关全攻略 - 讲清楚了
  • AI漫剧自动化生成全流程揭秘
  • 基于MOPSO的冷热电联供系统MATLAB经济调度工具包
  • Arduino智能跟随机器人:从超声波避障到电机差速控制实战
  • AI工具产品路线图预测(企业级实战沙盒版):含可下载的动态权重调整模板与3大场景推演看板
  • 2026 年 6 月软考小程序技术测评:稳定高效是通关核心 - 讲清楚了
  • 高频链上事件监听:深入 Wagmi 异步交互机制与事件轮询底层
  • 理解Harness_Engineering_从提示词工程
  • 基于STM32F103与WS2812B的智能LED矩阵:从硬件设计到软件驱动的全栈实践
  • 基于Arduino与超声波传感器的低成本避障机器人设计与实现
  • 从协议到代码:手把手模拟LTE终端PLMN选网流程(Python示例解析23.122 R9核心状态机)
  • 【AI保险融合实战指南】:2024年7大落地场景、3类避坑红线与5家头部险企私有化部署路径
  • 为什么92.7%的中小企业AI报税失败?——基于217家试点单位的工具选型、权限配置与数据映射失效分析
  • AI辅助开发:让快马平台智能生成文件上传服务的全方位测试用例
  • 树莓派嵌入厨房擦丝器:从创客项目到嵌入式系统实战
  • 国内主流工作台生产企业综合实力排行盘点 - 奔跑123
  • 全屋不锈钢金属定制:从屏风隔断到酒柜背景墙,一篇读懂豪宅里的金属美学
  • 创始人IP标准体系白皮书-第05卷·新锐篇:商业新领袖的传承与创新标准
  • 英托克 ID271/150A/220V 调速器,通用调试流程为何反而拉高了运维的认知负荷?