# Source: https://github.com/985Ming/qlk/blob/main/%E5%A4%A9%E6%9C%BA%E8%A7%821.1.py
# Raw: https://raw.githubusercontent.com/985Ming/qlk/main/%E5%A4%A9%E6%9C%BA%E8%A7%821.1.py
# Repo: 985Ming/qlk
# Path: 天机观1.1.py
# UploadedAt: 2026-05-01T20:27:37+08:00
# SHA256: 04834f3defbab90a83ad9c53b41cfd17b259dc05ad41bda7963075218ccaf309
# Category: 微信小程序/抓包版
# Evidence: appid/openid/session_key/encryptedData等小程序字段

#天机观小程序 token应该一个月过期
#兑换实物
#export TJGT_TOKEN= 你的token
# 多账号（用#分隔）
# TJGT_TOKEN=token1#token2#token3
import sys
import zlib
import base64
import marshal
import hashlib
from itertools import cycle


from itertools import cycle

def custom_decode(data, salt='YbHzmDBuSgvmQwoo', magic=7481):
    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='3UwAO0ZC?t0e-GU{gy;wSI*RWPVoHUz{T)NHZjcdCZB78QNhf`7Ftm|&N{#Ow%`g^)FG+owMG~DE-<@bs@l&qe8mjKgUz&nf$ny!nL~26tcP#Y1=GK}vaI~2`F$D|-RjFY=qoBY^_>@$PtkZ0{&$)s`@DXo7_U_#wK`sW9d9@%!<jjS*`5cRxh|+;pHM^rg(;!(2wG&#(e58ybz(B?3Dzjo$*-Iigndd-m~&_-eKSf#NvHy);fe5Aq1+Ih`}!#zT03VUzE7V~Zy%!U$koH8YiUa$%>q6vn3zjU%HryUQg0xdYj}FGnK(L~gq78$U&EJ?$!dR?xpLWTi<BIdHy@IAQJf5Gq5S-8jUIsjW^Z|h9d-uqsF3NBYkXqeMIMNjkc4=$Z;E-7ijtF}Za+sxfmpZ~q;+Inx2+v)hkk$e6_RkFtn?a-Yk#b-vhUs?aUE~cL>EQK29}?S9dv7DkPEQ!V(?~HC4?$4b?#&F50`R!)%<iMO_j?dH$^6);M~-SaPD404v)+e@z&F`S$g?Wy2<v>CJvZ6IZx*vKK408rE*dw3mvAIcssX)NshoR<yv{ud}BT&!mgQ~alRm~r894x*8i>Ne1#wS@fj7ZkP@<eOC7Vc$1NaMKC(Ao;yG~0WMk@Z1Q*dZdc;u%jqaC9(@1@x8U5xZpH*Y8d<wd1gQoS3WoJTfiFbY0P!#g*hmeXzN2?E)kc52lAbjAfbB`>Z@N=hakxD?YMSE-Qi-DY+RlkE*0FOSYQFK)e$P4PlW>miy3}G}9U(If;K^Kk%c$CjS4U}q_Zx|k7MxS-t$S<0=O>;0pi)6~J?J0_)1EzOJ4$fnm%|qtbbEBR^`4o&_5cqWRVRTt3kA<S8C9?-c47xp(gtS_zRc$$Cf{HqG#fl{An)z6eg?S#11AC)(t&0AToOUR!@9OIn6MrX{fXR}c+NAHSyyr3&^L|$tCcNrQe$Eiy3Qlz<9yJ~6GjQ!|dRc31RR56)TFRYdnjxNq3G(%KRWbBDIneVyT-^HUgjiDj=GW^pH}`mCc9GS9k89$ir7s0a=QO(L3S;G{WMb`wg>giWhZ^;pB@_tL{a#ymyXIU9xRY6#Krp*l5ieo66CGH<S>5CMHwSqi)l#^Dm7)xi5H15r?gGY0rjsM0-%+qb6k&fU6vJBmLNca%;V@55{z`-Qc*29CY!0vD-cVV%5Vt)xw%<Icu<2)n9?%z`U}!NIfB(L;UfA^vTSg~ym=O?<Oh|(+dm}cFz1(Md!8S7wy|m_B#db^F|Lq#&iv_Cpy$}zEyk@h7GFhHXE7}2e38R@|Y8CS)ZDxyCDKJYf{}x$Bm||=!)z-?y+MLDy;z-B^Sxpl(+qKjB+ha8Fq}{W{ZdO>xka5IUW<J7w-wg>!VQv%R%Gc;fCXA`}P-)44|7qWy9C6>c5eB?NoNMvb`dNctjyNGs_%!2Rc5NqhY3;EnRW?F1{3%Wxy>s%<!y}$Go=d+9iG*Lf#M&-d<{7NHWpghbO$BgvTbT*<XZ9t^x-^*fluw;&tyeKvSI2L-atW?p)tI9ag!_-%K&bn7ISPh<gFg5yqU}FxpReJO??Y}Ew<^Jft0MAglACvGjx<sb<9hZkS&1i(NhVY`8XCx7c@}@c@v8!bMp2r~##@Ujk%sklfej(_R~P|5xyA>IBz;CL!%x3Or;s6_z|kNv%<CdX;jeXLx1!ch>A?VexJBuU?f^`s2(NHZVW=WX&3$YZYdlpz>QS-=3lwvmJ%f5^cIE!zr@Im9VUt42p@J~_SZGMjlRJLRIy=>T5;$)v{856VhD3730!Lwgtx7u+dB$WptSaH=SQkpm^(d9XS5T83Ei~(D?L0!sl$bpN5Dii_Eq0@7Qw1n85V#c5-rywfgAnEoeD3&GMUI%s+_a`z->*j9=+2r2JlyF)GU-n|_n9rGwce&qKZj5E?och`+*T?bl|Ej=T!K8(i790j<Gv4mRZCt*>f0}=QZc&W0+kh8UiRUkD-ssO^9DSB?%&5|Ua0{s^qDwgOmqhj8*!DwYKSS?!yFCZBYLlXJ3}CM+Ty!NCMW}I!Ck3!b)_+7@-ZaKtHsIsK`e%0dxi9C-7Z{;!X?RE;BF)14l`>TGClW>ry4DlzF(dTDMC5Jx$-XpFBW-aE_{1!i*~`~jBosej#VC4sV-vOgjTK@pvS&3Ls`-WYT=Y2*4IBcIPB8A=Y9z#2T>ypEn1~xtOs)Mdm8$d#>{37ee=8d0qp9$ksVV+SbZ*>NYewQ?bTM2rJL<DedZ(9MYPDZQn=ZLff|b~K|h?Npi5|eL#fdc-Dw;vTu>nw4CRsaKl%mxdwDtpKmsVGCau@)0)g*cVeaAn$4bEzfVm7FmaBE_mog$DLT(UI0IoSBtQiCHSM+Tb8RhSGewi~|4*0q&ftOUfPp@v_iLB$~{Mgd1=&~|x)W$a!4GL6P)ID=dRoz^?xzSuK-<OE!W$OtN_}{o?o6;z5GE^A@I+edlrWYV(DY<iRVpTJ0!?-sQH|o5z6k0X*k0A{g4Rw6`S{C@(NmbqY_bM=s&<ktByr51AF9db#lYI~pYxB7jBD5M)OXAhO-k4{6z1KK>5S<$iNG)mJ9%>gPnP7JZGdP4_!xJru-Znfv-BdCCA4%{1&vLB@Gje^qdk_@=E@FB#U0lQNvj9aDoZdCPQPPvlMT{OyM8g&DvA!POv$4}MLd19|Ys%pTL-{`yagrJXaQ_J<q2+4J{jgREclt)w-7Eo+SoN2-JAJ2I*xRn+m+9hMPwH~<2-4?@Xa3TK1suM^$Ecu+G4JSTRz~zst|sAJb7C{(W&KQZq6ZHktOsN}D^iAa(Rs#!+E?LLL>`h~&52yvAcn7EVW!C(u*Nx<PMhlUqOO?IGo@ONN1_&S)~at-^i|*BJuPR|b)#pe!-YXZh|q{XZhH`CB7Dmgu|4z^aZFQ-1BJh2Xjw4qGyA(cbJ*qNU2Vy=sy5|@uZw1K)(mJt%<W>q)b7#S?TBdhuU2{XkVBUI>3np9@rknc1hlaibtEj<Os}=s$-9+bM-o0zGk0d%X^RfHI!(+0%~=&%EqY~w82U(00JmsF8wse=U_x{`DNO<dm8E37GRH4=a|H4*{xX}QovQGScn4fCrrgh><H$Ld%nqfS>;l)*_Eb>*FP*u}EQPe-;w9jJLu4ES;39<7Qz8(=qYo19!MLeWr9Yp_PjmIR7g8Cj%dbRt)^*NK&n_^)uRr8S<eByUoItz?R-~j%*5sjUdejmvIuM`5eJF-ddsR{g4<C~on0NLx&lVp-r3GF&7bVkqA^<qFjP@M~j5WzwK7O@V$^7h4^TaG@bJ{Y*gPo~@?v5ww3326fw9%9ZQX#th@SUR?*1M=AvV_y>3~N5_;Bdm}c^N^W^mANsLr%3EEc{mhUFddx0{Hw3v;v@BuqVh@kQmOr_l23!g7CkY{Z)~a)z8EV+6%0TLT5r<!vNCuRG5ogV;6tRQ~ijV4kxG}yG^KL$}3LFpIGe+<cS?<s}#1dAiT`j;c;F*8OERwv}&PkP-jN!mo$z7<<koEXN8b14=03>Q~1(G+HM#NtyZ<_%OHGcvh7)Z%qNs=@@R!NF0%Pn&lGn%NFC-mG2{7;tTVxt5>ec*UhDpUa}|Cjlt9`U7c!_R#$wGn{xd=HslL=(<Jt0_vx_rZbzR@W)$G0QIErJH+;^#ouA0qD^o!}6q)oJ2v9JOgQmz-HP?Zzo*vz+)vqGZB>3!trrm4Yq7vV`lZ^M)M#=}0tNMDWH74t-1<-Y`#AUJ%LFHvz1jSs?6^T*&@vm-{Z!h@v%w-dm+=}A)dg=)fjk)b|`zjMk@bo^05DIrO;iL7wxQ5Yi?*mRMDvs%%HQKpyh)y!8K=@+>HyT|m1<k7rQF<E6m)bm7+olz}^*HV((5`ppcxpIQZ7xw4mI)joIVeQ`BrgiIZ!pVV4hSUa*jf2|vx$USpf}=i@VLUoZ3|Yjv=87q+*WoZ&6(x|Y*7h6%c$k`pI&Zx7`;-)A=)C|>PiGd5Yyuq*OzwsqBT;C#5`;ZBn0Wrk<^zcDEhOcbXB0}&kT@44y=_#<tYY(V=rWp=xXBtixxb+G5@K?Iyz#5X7@jTb@%K~&;d(f&1U2-3iEEb}Be&IN=?O1Ge($;Pxr!+GJ~YU2DX9{B5@Ba?8wuw=uu0^GcG4_Ra{%y1*u!{)nhaFnT9F_<rLHGQFB?_0UBQwuMC9WxY5cPxPVM*h{|Jk)V3z`Uv`K{5@X)_3SQhrm+nDVv1o@yi+oX)=D`AJuYse(qu^c3fZ@c5={MilBe-NrvR!(C3f%8C!KEYbESYkgz61gMFEZo9XOhp;%({x4L0<+Lk88)B^H-&Q1EC`d&?gm=a2=g>>GeIyb@THmI@j6vE8TPg72h}h+N)~5DS?MX-Hi655*2e7n`yt)bx>C+wCFrAfGJ1<x=l}yinW<R;4?!WJPp#Pl@V8$+I}6$(#EQbW2oC(<wrSYzuh;&~MKDAZo{GFJeVCQg&EraYlHtdNvKc?|Rnf1vxcKR2&6pmfvcBaL&_1}(ROhS9OW^1?py4kpRW5~bfC5xS@J?o2AK3Wwk2_Qj1}6q*e=fAn2Em-XP{d^dU-i!5FU&&XtpDofT?0~w7P!DARL^Xl)Lo~$H<|}3IPrwGsU?Z-PFCS_w+QC?z=S%EN`1l8tMdXw9&$i4QyVWoH)$D48_K_3ZdBAiLBnbXM?BS9Bb5aVWYZ1Ak`aYlsbg^tp%YnK;;F>2EgaKs>chhYfHSpmbYf&P^-uY0^2m_hHU{)!*boktrg;x$+Kp*@7OpXi;OcY*qIyPQ)A*`<+S~Q!to9UOt2&x1jiC~|JnF^?_FljbjJNcZD=LB*hx;6W;`g`Y^=A<!f7Y&XbR4hqBlVE{IriRS5z7?(tq{9OIHnnV_%i##5bHjl=yuIgUM*ZPcXc#2ekC$RKd%28ph{Q>$5TJ-jd0_3a@{7`*Ju6cKVnwfKh+ms%C7SaCYZEStOC0R!!<8k;Wvo0hW!Z2IeC}%7dVZvxOC0zez}qbhE2FX?RDqE-ztJ!K<$2U@P->9g@0ck$a|fwbR>0~I7?tjow6l(<PE!&=R+Nd=0G?s2@4iua8-C(@x8Z379MXuun=OrJT2xRck^XquVdm=!(0mFCc_sdX^4FiS=soEy@}XthD{_|^7Q%+8p<F$X#RwIA0k%;t`zB)*L3mSE^EFCQm-`^#CSSbw*{<LXF~GQ$h`bv8fiuBCHv@G;P&K3=5M2LXg9Zz#tCd}GrXCHeMsaLOZfRpDZ69=vcB0w8eN;JlXzx1=0dMa`&gmf8oFDzq=;J>!*Q$=eIn1qMCIq-B};B>VZNUG4^hz}<5)LS-{VnybR+f9k~3B_kWDYEuc&Ji^;N{d>uVRt7&SU#mgwhRiN7bDTFh(O^ojtvsL27$HgeVsmZ05jrOG^_df~^00j7uIZG+WX-}(u?*#i^|K{-1cP`fk8A&~Dp;mN-RIg18O;yu>=$g}WeL&ytJ)7LxfE~u}}cBOVcC||*Kh!nY35E%KqXQZ?WXM%tkBkXiO!;+dKhiR-ZvnrH9r1q8R1#=T&&EuF7`GtE)p87nO6qv*xQxEBv{kfTVE=cH>F^P_()9D|4bKq`Op+H<U_Z+1uF@t#vxPYLF-nfBm9|OY&2yE1YwPr!BE0f_6wtzWESR!KcGzCDBR_$fxOL4I0BxT3!Kd??=h{ETdzG<}#)%XGH-;??oo%OF@6pbp?bzFN}A4JIif|xgD8;?Zzj|UWF$Knp78`|<abiSiKWqmJW2bTIJm?pR>j((W@AA1-L$a*PdGVJQ-!6?{pL?i$j@B>>&ccuo{lW0HQ&&{FP{l$aCthN!0gMU)<Q9Y(1lN=NMW00m676$26qi&3dw=4YEB;O#+$>MD4b>}7DDC62Z2)0qt2ME;`cF&elY&8FW<SLVc9<D3|gvv}Cbr?(P`)JYN<A0Q+;EMHWKkB=}oSfBRsg^<r2BrIefMX?i%96_Cv5974yT#WO8gt1koq$~drG+Z~TM{;GE9@9zV@bLDT(e0Y{B?X^P$VC{+bFJu83Lsi+7wJGp(GNK1_7w;ig;$StvXnVvJZbGC62LC6I2YS$U6%~?G5O9TtV}n%#QX<u9ZAOK{czXEXA_F(DUI+HQO<+Ze<Hfw<jkkFW|_P#QFz87Bb<UJQY>VKb<UlcbE&sDP&!X8TIM3l_Lp2rvmD9z%e~>@RBzuFX{gb`t_H*!M2J=awa%RHO3Z|DanG}JrPxT_+(ZTFMsaBrRa}dA^-d|3}vI~$h+*GRRsy{F1BPT_8yhaL3Z>Fep{9SLTY^R&=o;DZ$%|@?kU&Xx1|^k4`rwf4Cl~GG`XP|8(s>r7q3+X*@9U7=aX%`bPtgx(D^W~DzzGfXW8Q9#Q^L}L&L*)LN(`KEx3L&7$O}{VzJ#2-4p-CS*w6RPYrDbuAD+U`b%$n7#pJBCUx|?hswN1(oGr3!p-bY;p8acpMm5t<t3-URf=R1^{pkcUp+P+e~1uRK_X)U#r$R{!C&rwc@B`n77z_uC68D?yZF7C>DW@?I{Ea_S!s?OaatdL*~KwHIpMJ8LYovu>i-4Zwb*8M0u+<-{k0zQHb27*3WWpLX6J7#7|!b!_U-~bKp7fuaL&tb_j@5%lXI4TwZQWvHHBQKE2+T6l&U+sQ*C$$@Q@5q!cm`)64#{|$Jj(5YAg>bI2J$K&luWKNK`ap=@*0kd5nY}WM4XV{h;V#S+rktx6m5;DGs!O!cC5_VRnBzYW_AqiM~iNRPQF**_D7_%Jw9Tmd!N2guEZPhcId5A>ku}?I?)2R|Oy0IzI>S{vITdE^b~2tR(KP4|-H^uH?lO<3%6Y;3Az$6z`W?E4m{E>qX}q|8t(%_uA%Iv*+VCMSmCY|1%wBL_-NMa{^`D(=vMXgRb13ES7KsMn$?>A0xfabv9M#*yvK{@@aq+4^oo!I=b{W(8iqpK)DHS)=@Z>SB>T(^s89IxTIKQa0v^Jw_{dkWjx7{)!s@Hy-0*q_F^pnV3KV*W{Yg%Oe%&2=GltdRbhxA0sv!*cjNBu*H|g&J;(h142|9eCsJZ(7FrUoC)~wKhjQ@=MQ?>w@e1S~jmNxS{Q=JD<Ku1PO;k?MV!?!wyoTbr20V>OROxUyr^|F-)7^>=k|B=BEY%0mq8wTDT1UHmYP+5sP(>nRO3gK04&yzVrY$@;pm`7Jx6mb*0R(iizaEN7KH60#0Pd0ZJ__P3$}1AjHVK}o?au$MDxOx6sOe|^f2uzm@&6K&13%DSHGJW@lNxMl`qiTow;LcSzn^<u789WyUj8Q(u~|~#!d8tL3eW4f&)nj`b8*tS(7FrIJ`MInDECSttpo;<Gy5DvJ$BS-bkJNFXZrX56~hF9R4z<h(JpbRi@f6&7G{zN(69Rm<Pu`VR+sit8Ywqi+GAz>#TL5B1@{soP+JBb$DqWLFff+~{xlIn6wHCvIn|e2c<<a#V}Bg>C2$*>qS8@EvDR@0V_U4#nrzD#g4^V40$t{e(J3PHVmQX`BPZ0Dw)~jq`=Mm#ffX(kB1H;h+-wf8?;^j^)Eg3j)Hf87u%#n7rf$Nh7Yrl`4s*ZYqYs1054yC|+tanAy<<Q4CCBM(Ve*4Uexg~Ws>siCrZ1R-<P(pXoYqkL_Kqp95_$6X0k^d?N`+At49x(^Z2sz7QaBX|ISE)$%57$6q^4|pNcp+er0OqJhezLc{zUfZn-k{YAZk_=<*Nc6-CexHCv#n0=kiw1W~##*5kKM>r1hC0OkBF!@xDHBc<hlYQ`&^+7$fWcEgyy3MfN82=mK7CIbEn39m<M%;(FjISZ=%mjFUYl+n|h`1OPeiHqW0GL|T#Q5CZ_|r+35jjc*dSG)($jBv}XOe$prb?vV2#@HcPm5hIk-l-V2^=hE?gZ3DV&Rmzr{N<{IywHZb7IzYQx60Zo+olVgu{s|Mn`vdyE6RVywBttlu(+u*-U)_|p5YDAbyAjVRDAZjaKhybML);qWFQS66Ao^oj`!W~&2-9Ur1YeF+Z1~6RT$mRV&}4V^zx>mIqQ4q#{RoyPxc)^{$2ipjasX(`-7K`ILOruDdSRgNH(ehar&rxtc<-YE6{1{^_cKkbNAaAQG@=VK|C#XcQan>x03;S49b_vh=C9S9<o_r`)v}JJf%`u1Ar(65>&15UB;ESMcbfa)avg6~cZ=>KXUw>cz_Otuyn0-~k)nx<5`@)yR2YQ_CjrqB+B>V#-naFai*!g4=Sl7&LikTwIxW;k;uk~C^okzj2K=O^u)O<~ZFf}xz~`o-8OQSt^A{~WU?xL;hp*l|ENk2ydwe=>y3mw@1+*z1@ma(T@9y2Ahg$p=dbEKT_LqrawpEKwB=y30@dT9Dv#a7)jEk)+dTnVDAypu{VJ#pD8)?o|pKTEr7gD<8iPrn0f|2aIluPycabA6Nw4!TcQLX-OrMO(l&X=hD^O%E~=k0iSRgX14=ZTzc4xTp`c7R^uL|Hi9B$wVVDQ%-GDU(p~rrWKpf0>MdsVpL;GnX2q4MQ3T%TjG3n<|~khI-#GnAEE5g_87$Ups8~QJ7SsrEykW>IAKrMK7I7j9?6%bv$s3yB@Zqd<%j9ab^Fc9CIO%FCVLrO+V+Sf6Bl=Vt1>cKAxgA2(NF8(HeW0?Y#4&U9Sz?2(Eb_5RZsbrE5}igPwpzo-d?h@mZKHo7-bK^FfB6?3l%m4Jt>nq@Z-B9UP`N#+LKPFjXI>V2s*{e~|m%v^%F5iS=!0V?6h1?0KPd-ukwrjEauxDSU7{h=Q1-hpi`PjhUFT<z%W%$yuI)i2$K(Z@z%fq6c~>gv+g+T4yJdkdbj7m^wD8L;md{!z|&XHH;{h<#$_woBnO2M>eBplj?fdv;', c1='20bda9d4d591c655', c2='5a41723698d5474e'):
    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())
