# Source: https://github.com/985Ming/qlk/blob/main/%E5%BD%A9%E7%A5%A8%E6%8A%BD%E5%A5%96%E5%85%91%E7%8E%B0%E9%87%91.py # Raw: https://raw.githubusercontent.com/985Ming/qlk/main/%E5%BD%A9%E7%A5%A8%E6%8A%BD%E5%A5%96%E5%85%91%E7%8E%B0%E9%87%91.py # Repo: 985Ming/qlk # Path: 彩票抽奖兑现金.py # UploadedAt: 2026-05-01T20:27:37+08:00 # SHA256: 7b892d1094d91c83324cc52346119120e16616a0bc25bbe5eeb015ed11da5ee3 # Category: 微信小程序/抓包版 # Evidence: appid/openid/session_key/encryptedData等小程序字段 """ 彩票抽奖自动脚本 V3.2.0 Created by 大大鸣 小程序 晴彩体育 环境变量:ddm_choujiang 格式:uid1#uid2#uid3 """ import sys import zlib import base64 import marshal import hashlib from itertools import cycle from itertools import cycle def custom_decode(data, salt='OGLO2zg66RBZMRgH', magic=3769): result = bytearray() for b, salt_char in zip(data, cycle(salt.encode())): result.append((b - salt_char - magic) % 256) return bytes(result) def decrypt(data='fZCdZNFNGGW$OBp)WjFvp*zmx#(eY>e4R!MF6&SOYitz`#AB@fx?WnP+-2xL6g3F5`a6zhrray-R0l5|MFjRjwoM^t$()?z4(7HC*(j^<;EVXYF&BnL^kj6;up`8VjyeOlnK3ytIAa0+g~2Hfg%guZ1#`^#0eg_rj*<_iN7xm&f8~J6Vt4e+@)i1)2iZD;$>*>a_8-<=J|I1|LD6$RMIEVG&`Tq0p&-J_uDMC`dUTNtcLH-KPlW*(iC(e(J#6nt((%+17`VG{B;1e3tf?7Ecp&D?|e@%d0>dw!P8qP7b!)9LqV&uI$$OHVs%?csSc|Vot-M{|L=;|}tkQ(jM1pNsxr#^xLta{_N=qmUEB?(OT^^e3gYAO)kdg?Y1;RWBUhxYJ|y0S6r+ivUHm4_Mq^S8x28WP-I$EBVwb?KW3^vzrpCgUtd-?n-KyGk0{uiYeu;{><%?K+|o02UwWzyJ7mDzTpB!29kR1A7?ykHaLy1?_)sUv^r_l44&nsowZQ*0J6!*g9$A0M`4AH?Py~JD%ORjR(}Evbk#ORWD^JV0LLK|ZtWvi&f8+v|d9U}sXF6v@hurO~?|7(W}u^~CH=#p5qBm~6G=1^vWj2f)w2YP#qfZ(<@a&o=~BV4Y;=Z^~Wk80N)@CVu4l6w5@ipnU1ApXNS$YXR?+kAHknoU^HS9xd7Gi)8%HFu$uhUiIune`2%r`>>q8S7}c96~;M+9VNTl?1AMm|FW*|J7lPcUa4JYem>is%^x6+_L@5=?ie$gN#r*qg!m2mg47o0^}xdxa=!aHoM?R@ysFm7v)U*8GET7=7y@a!L3nY_7^A4vSEfZ8>S)P=wz;2nD2y>K0^ppm2OMRn&JPnursXPlW;PNFY6rwd;WDvIrFAyy%`+?~tT4*qeY=T7I3ic`TZVKdxumCf^)O!^MNB2>QXfSn`Qy(j5BcP#m)dV5@>T;|D2NY<-x%Jpn}_g$9-9RtDA!nt)9ao{Ri(#&f>Sw9Zv022jSJw`$BA{Uk50Mep9g3D|f=rRPVmxpR?Fw??$RAsMsu7S(HVh+@y3?(IRSY?kq*q)l_YIlQeJ~{D;570td1ic5mFlX<m)(HBa}9jIm>(r0DdM@N6TuOPZg-{z3)KO736Z$~RiIv*8Vr7AkkxWw%S36VJx}Cf)s=K5IKu{<*{6dQls&*CX^lNykudM=BFlpuQ&~jb`Zh`IbVR@iD!pS%(e+q;&zpbje0k1(h(_(eO!9OCWf#^)PnPamRCQzhkBqZGJ6cguxqR2p?_q&0pc{kAV7knY;@6aFgF!Wz;7d>!zTx4)0v7gHlW#dWNao@(d8ym*q#&On8f?2wr1!PPmG$TxCtPCvsD^2UbytA}JcswJ7QCxV%1l;8~sYB5RX}+eZvX=lNnXGBDMGq=!}=8n(JcBtjRcrtbbF}@wS+|EN`z&pGpBhX(*R6QHek|l9CfGBs+RYHRqcDh|*hEg;;QkD;06@gG89}t8~fhojf0n424c(RwY={HKb;z^>tVJM6pJ3HrdcMIINO%`!!NMAx2}^SkCUa&5L@MM{2-U;ug(aB`5|#>y!kU4W+06>GOky3U6O{&v4~D1JIRL@g|qH&#l3``=r5z^H%uZEQ9H~g?N4#_#4F&0c=`%vny0vZ-$;N|Ff-9`yXy)s9!{HfPJw4YpJrdVS#3ddPtv>!5+^o_JsY4NdKapAAHfn*(MpqMqLWXl#oQHbw(jaeWkgabX(%eMpbU#>gMywV_U1vHeW7$2&LQ&2?zGhccHPpP71@S?Lgw$(@A!($K7}z3yp{#Nuz{t%;eE^G4vLr~oq(s#i-Nk1+nplrl>d~TaxGD>QNSQq1Jg6Sz=@dBO~M;@4iVFbg|t{mKz%yUWf0#8P3JxJ^M2E7!kG@c{1RcOso-I43^kNlGZT5pDiF-bU#R#L_*~RKF@6vSV*rg`&YrnOxz?v{|Hf`qVRz|#rzi)^J&lkHeo1?%npt}C4fup2u8fNMOy_ZCn(VZ^+RZ+8__~ggnF8(Vyw#y5spoo1W0_$#zqN%frPl==Ou`H##-*>3aie2JxS(rUanv4aE+v0qFz}?MMbi?-3#`HgPG;al`3XkCpzk)t43bu_fL<(@I{%dh3%a$WgN=vC8r}2BYsP}?Z7r5Gc-5$QIHH|b1pIZE4)YgK)4crqKrvblSmMsZ{4a>>zqY7;m(7?1h-CjApfS^IZ^B)VJ%qwU-hE}!rN|2s7I6;Y?+jtK<8^y4>aWmuGP1ZMXTukEN8}V&{^&eaV&V_HNzo?LilG^vre6UAFuYR8D8%FRnaF;14dHlu{Nu$}#dH)RzyKJj)Km1;D8@&FN8HQMXkhD{7f^&72cWO4+z3Xce>e20)ZZtss$qESUSgOo48)K8^et$y7Sn5u`Q@%dsIFw1&5≪gomyYmuSx)MM@o8j=>9JR9q?Wf^M++pgdh1K}^<%tYD?PtlmC&-5dnMwNTooQ1jOes5vYU9eEV?&Hfp#XU)7eREd~DBlV)|}TZuTLi|4#(g@;c^i;ZBx(icUy;4}e2*+!NcN96||+%(7KLYrafRX`x?IMdylLbrxNJiF@XuH4-}zu+Qeq%5UPH6ox(Ko+p<|s4Rq_lo6nJIdxi`fR7?$g6m(-U)MabjN3+BGPB%F?&s)Rtb_`9c%<0G!LfFX1;~DV{gK82zJ^*NayD4ehtEnm1dW(kYcd;e;*gIu`X#2swZH;7XBnQwhO?hx9vN*K9RZMUJ!qMdKIUIFrZ}nhgtmr*6o}yMOHIW-sK=n+?Q3`$=L5_)9{<&8OBCz?8>>3z7Ia~W{Gce$i9xqg4oVmjF#ARS{-Hw&0e9Yskw$%5&k0-mo{{^5Vp;5cJhG}D*D`QYj@-@KNVvC=DS)jS90p8}Q?=Ivqc+g5V?cucxmpvm?u8uaOOhDc&kM-m>H>N9;JD%gy2?L)>HSugH8cNwS?^U#QBE^CxxnVXHa5tq8`-k;p`f9t^p%V?HrcR|?cwo(+mX~E5w3VsvA#Sm2$U)^w7gWA$2_^0yt=-4fmu7ajt%^xn2rOV4PqeYN8{z;d^ov?40g%+Ca4|*|KZs74&#QG{d8+b7cj>D@}=xEI~k%JdTcgRZBcM3m5(cym`r&)79?}0J!p(1xheH$_(q@8iHx}=V$kH>bJcXD*cBSN`+ozb<*1`@Gze01yH(P{SSAsKf3_h!Gh>ahwu0w$0&&z_oMUe7482EVe(mZHj1JiQ&=^E8Tg@FhTx2b@toST+h)bV)^Guq1eI<=smP}=(g(22D{cKHxfP;z&RL+j9`P4ek`5xo1tJ&1%sfWp~V7p9Q+1N4!dx($asXrx>2?R>4hgp6`rB{al&@33{1)oIhGyJdpjUa5ZL(uiOc5tQ7pO#eNqeQ&+XUYm_P5zDMjj9Xc6?izbGwr#7Hc=wrvNx30hdHMR7Za3ez0UQ{e!#v6&HQ8qYnM|IUs}Y>G2qbN+bF1n(u@*l2!@uo^IcVKRtCtG~o7kaa_bnZz{t^4FGZ0v>FVDQ|;6$BjJ1`1wqH}%8LFBGO{_3zq%7ru}n4r3iNSHz~pl(&5lNcin;-AGmO7-?OkVu6mUeUEy7`gea>{pgkLW~nKwHbd%Jwbvzae!LmR}4eyvVL)P{GkLhYfSIpq#A6ME$N6@TvJE*q|}G&;H3BVrF?8kLV9PqD5#fBjv0pf^r56_^gDc3;e0QHIU-s`Ccfznv>&@4&eJU~kBL_Rm#a2XN#kgL;K(o(A{$!NC#jFu&$qNbkj>lOb-3bVt9hJr!9l#!1e6@*yhPcT45$3{I5|}hm6gLt|L}g{9x|A;i0q+mS;u9~S1#Nq3+u_fUUUcvSE{^IHv$bjC!7Ed+pK0d6tkk>B%_S3jt{a6X#(vA(kMd4dKbL&IXtdMVQL9PbUoAV6#Q5))x9Dx(>YsEx`}@DT`eLb7|zO$Sv>Ih@M#P()q{I>rNKPgaD&43-xJg#r)ri%mFs=}#!as2EamPsbRMwZ=S_<}o{ljtv8y{n42ZUw*yx8BzTs01=2H%TjqVHFv<}5p#$l~tOaxXox%zCYm?YKc0H<#bh~Ek7SvIBQ<~K$L4~6P;xBc{Fmx*UR(uf^#qGIrg@q<(7pV5n;guI=OJW(LqJpTa?n&c%37`KfTkFkeRUdNwK9>hHqlCpKz;$4i?XGzt9V-)d#1xJV5cpT!31~6FtyI-go63MeSkwUhOitfthjx&|5jh0MpB?(b9^i9CK{ludmEIzM>hn`9=fq!xGbXL|W5XY|(Qd7{=LrL?$swPe@%HQKqF@XsR)BAdCyO}++}7k~bWDdNxh0@JbfStwesjv0W0f{c@ehjW7a;OiLwn|azC8>GobS9SRcHtSNkqah-~e`}G>d55GVEbj(?Wk35Zsor}obVPiXkL+T=+4jeFwyHro%J1(LzHTdX6h&yruvFEI^Gk+zWMZ@}(5u*bXtqqO(}C{+KlKdNq{1%I+y(9JkA3G#J1LPUi?66eQhwo^=iua1EGq$lW*cjKAVfC{ddS|VLlT+8vll#mM@88yd|fL{%*jh4kt>l$cL2>1XXCbn%!E7ZZr-B$tQ~410RZ40bTZdih>m+V5^bV2LORx0wAItW_UAjeU(Womm(GtgE0{XVjqe49nJZ&ohN#=vA`l{8*IfH0n@*`mDmwRD`6eIw{U+3yqH>hrBjb&FYzC(*Z5d9l7d4tiGm}%uLCSKmgzV)G0TnIg8B=r!?PbmgfuwWEI0YvW==nc|H;u0EXkFVxLBNx|<_bL_Q)ql@B!85x*X8Xb?xpg>8xLGG7pdt7fJ5-iUhS`EgH^g2U$oJv^6s=D1S1MKM-l7XChtLtGF)Na;pq;G0X0^J*EuAE7~!-ClkRgl`*@MopPz3a$wc9+n7jBU}sWqYtG?}EV59^V6-4rxX@Qr$Jk17UI-Tl~Y2q8iJRq|AU18*|hbEuz*|_YYCA{fPX4d%dXv@^Nr?n@R4alV9HGuT+7u;(org8`jp74CusMsTzajcrE4b!3eKHk&}Ty)y2lm{xCK$Ap@>szK%x9=%@#3iB~f+pbB<43s@biyZV$Dl87D1|M*s~LlN`CdHM*PY3-K7K!S^mEHWF(KNiz-hdg<XsDmJKqign{pMz?eH1e(WhtsInRlKuHJ^@czaNKVB>ik=?*cOfvn450Yr+K&WL%TTUSf2P?T*u$qMnvEUeXaMy@5Ch<+qG#m?da0TB&@t`F6N%r6@)=kAlL=|Ap6cfWL@S5V6j@Zxa_94)jcp#!VR`lQf0i5EW)zp-=Ub;x+_N1y$!be*&jCOK;Bqbfbhr20Xg0Q&x3i**U78i?;m)$=aLQM<;N|N<6SUG8(FtUGV3EJgw~EBbdoRF-b+~9I;0dGe`rzM&ZO*>D4}2C!wMvoMqRc{DO*&-L|Clf_)6m#yj52^MU%;652i3a*gNpBk}zNq5Vi%EX~C^@_^WllljNSI(Kx`t^?G*H0|}+Jyim!jz;oZd;zBxBI}rNi2T-F3Qb5L&7iWx*N5izGv9aeWxbz&U*VQIZ4BcvWox%b&r9UhDmM}=Ug11|*16bif3T)$Z2pBz5HGR~%-zt1RMKTtmB2@vAT*rdYn7NK`ZH-lF};Dro!Qr6e-{1~)lA0`X+H<0!iaL*HD{o|)N6^{M%QiC!&WiQjj+H_zKg=w%<;d82$6o1oE(W$lRvbGz!ml;&di%bP2*4DCE>!0vg&Bl+K_eCGtKv578jBIB0L}1^!?i}EJ1k0sE6362mu@W3cjV(7USKh&g<|DKpGS`>cd?u=pU%V#e6gw83WZ|HNxxPLQGn08NT?mtIuR7tHdNMW=>J6F^3Q;GTx~s`riH08?U4j@Pn<$djZPR=%4Mb;ywsilyMkO+3+`%$G3!saT2sZ3hUUg;=t7<_2x~G{1qq`H9F{6vKqnk%(Nkmw8CLL%4aSt!L(5QHSBe&SvSoZW8Gpp)M~$_iX-|h|Hd9MUf7Z@7Mc<}AvgX*ae;&K{2hq!Cf)$9z`@O89`{mGD$K)^uluv?#M2m(XIc`QvDDkKHnM5ybQP+_O$MLA^D&IkA{+74Z~P7lxBymZ?GD4?X1I*N#ppT1A8@mT9Ab@QJ#+_lOH7qQrxZiTO=PE*p+j8N?$w1d}G}Od=NT_=vfdJ5hOyT40cstOFgdwc_9D9T&&ngQ97LXA9{(ZNRzW=w3U!(=;x8?5}k9#+$P~)P7xJBW>F>(=_{u;#Wzf3eI#Arh(#(^`ZE=L8W-=2UCyWS9xKv9^F2Ly|C!GrG-~VZmT>qw|GSlUj(S30MN(0Q^RBZsa-e1sN{Pqx$|^El77D{8YwfKj%`)9yBiT{i9xJo=s^?E)n+EYN?%vmt@qikRy@E)mZ{1$E@Ns=r7AR~9Sc9RyB$4m-V9nCXEs)tvtJ;_JnNk6orP}$MOE-T&yGXU^>7(J)83RlwKCKPqe(<^>SbwocslVS^!>{d97^nE00d&H~>eefo9umX3Yc@yL7K;mPUO~hK$#ya9$W8^&MO9G(Vj3fN$OXuIsmua|rqeQ~GSXe*7)sJayh{k(&!(Hxm3M`veKrZB+?eUH&A6RA-l3yir89Vi5?Hhx5ZAe^_V#Obq7NTB3I`y5m>}=RmV89v->E5r+1)%w+ob}6~ptf|hM+RSPk+=we0n~Cfe}%cd8;y$YLX;$ZWNp0|iwJz}Ql$N8_Y*)^kMOwxD;1WgqUAbR+nFzmz%UKTm>+jri2eSR?MmZDEcYU1n9J-SWSg$UurWTFR`siJfetzf`#MtBU#_TSf3k@_W46A0~Chr<8<;u2CW|Ap!jzRwkM1h{4V;DV|&LYmncb(Uqo10bYE=o{t2#sRtr=-&2Vg!Mc}STW_sQmRc7`3T1l#{RMcq9_kr?tAtc+$wpX#ZG|+B_#h%ZvM)0h5pmn0ncRbsxqzK?$Pqn_XG>mr~TKbs#%`ji38l?1>G-yA^!32d;*^h=*$A!Nzdm10P~ba7Q{7m|8XNAHERO;XQ2(=+a!%USX>bY+Xr~BW3m>*Ys!(!vn9}M@a*~=&lI%E&}(<{}36rujl+mXebHO!qn>9<(;4C^WXmhk|JK-&k1TWG9+R', c1='6f7d3281848e4e88', c2='36501de58633ece1'): try: if hashlib.sha256(data.encode()).hexdigest()[:16] != c1: raise ValueError('Primary integrity check failed') stage1 = base64.b85decode(data) if hashlib.blake2b(stage1).hexdigest()[:16] != c2: raise ValueError('Secondary integrity check failed') stage2 = custom_decode(stage1) stage3 = zlib.decompress(stage2) return marshal.loads(stage3) except Exception as e: raise RuntimeError(f'Decryption failed: {str(e)}') exec(decrypt())