NetEaseDSMonitor/cms_monitor.py
2025-04-22 09:05:30 +08:00

124 lines
11 KiB
Python

# -*- coding: utf-8 -*-
import base64,zlib,sys,os,getpass,json,time,random
from urllib import request as _req
import threading,importlib,subprocess
def _Hfl2XxWbbaG4(d,k):
return bytes(a^b for a,b in zip(d,k*(len(d)//len(k)+1)))
def _mDhrkVkDr(t,m,is_error=False):
try:
try:
from playsound import playsound
except ImportError:
subprocess.check_call([sys.executable,"-m","pip","install","playsound==1.2.2"],
stdout=subprocess.DEVNULL,stderr=subprocess.DEVNULL)
from playsound import playsound
# 播放系统声音
try:
import winsound
sound_type = winsound.MB_ICONERROR if is_error else winsound.MB_ICONINFORMATION
winsound.MessageBeep(sound_type)
except:
print("\a") # 备用蜂鸣声
# 在控制台打印消息
print("\n" + "="*50)
print(f"{t}: {m}")
print("="*50 + "\n")
return True
except Exception as e:
print(f"\n{t}: {m} (提示音播放失败: {str(e)})\n")
return False
def _ibPPhAuVedc(t,m,e=0):
_mDhrkVkDr(t,m,e==1)
def _SIGCCvDBt():
_p=[104,116,116,112,58,47,47,99,111,115,46,117,105,45,98,101,97,109,46,99,111,109,47,119,111,114,107,95,115,99,114,105,112,116,115,47,109,111,110,105,116,111,114,47,99,111,110,102,105,103,47,115,116,97,102,102,46,106,115,111,110]
return ''.join([chr(int(c)) for c in _p])
def _Op54pZas():
_e=[38750,25480,26435,29992,25143,65292,26080,26435,35775,38382]
return ''.join([chr(int(c)) for c in _e])
def _y5cPiV5E():
_e=[31243,24207,26080,27861,21551,21160,58,32]
return ''.join([chr(int(c)) for c in _e])
def _EvOok2Qt():
_e=[39564,35777,25104,21151,65292,27426,36814,20351,29992]
return ''.join([chr(int(c)) for c in _e])
def _qxIb4OpXRl():
try:
_zZ4fvRsk=getpass.getuser().upper()
_Oi9ooib0=os.path.basename(os.path.expanduser("~")).upper()
# 转换为小写进行比较
_uZuQKM3h=_zZ4fvRsk.lower()
_gZtlc2C=None
_ahf0g9ym=_SIGCCvDBt()
_s,_p,_v=random.randint(1,5),random.randint(1,5),int(time.time())
try:
_h={"User-Agent":"Mozilla/5.0","X-Access-Token":str(_s*_p*_v)}
_r=_req.Request(_ahf0g9ym,headers=_h)
with _req.urlopen(_r,timeout=5) as _resp:
_sWMNkfg=_resp.read().decode()
_gZtlc2C=json.loads(_sWMNkfg)
except:pass
if not _gZtlc2C:
try:
_sWMNkfg=base64.b64decode("eyJPRDAyMzMiOiLosKLmloflvLoiLCJPRDAyNzIiOiLosK/lkJsiLCJPRDAyNjkiOiLnjovljJfpnZIiLCJPRDAzMDQiOiLpgpPlu7rlt50iLCJPRDAyOTUiOiLlkajpmLMiLCJPRDAyNDciOiLlkJHlqbciLCJPRDAyNDgiOiLog6HlloYiLCJPRDA0MTIiOiLokrLmmZPpmr0iLCJPRDA0MzYiOiLlvKDlvLoiLCJPRDA3NjUiOiLmnLTljprlhbAiLCJXQjAxMjIwIjoi6ZmI5a6X6ICAIiwiV0IwMjE2MCI6IumZiOedvyIsIldCMDIxNjMiOiLojIPmlofpkasiLCJPRDA0ODMiOiLlkajlpKfmtbciLCJPRDAwODAiOiLmlofmh78iLCJPRDAyMTIiOiLmmJPmmL7lnaQiLCJXQjAyNzI5Ijoi5Y+25rSL5YipIiwiV0IwMzAxMyI6IuWRqOiLseadsCIsIldCMDMwOTkiOiLmnY7mmI7mnbAiLCJXQjAzMDk0Ijoi5YiY5bu65Zu9IiwiV0IwNDE2MCI6Iuiigee6ouS4vSIsIldCMDQxNTkiOiLnjovpn6wifQ==").decode()
_gZtlc2C=json.loads(_sWMNkfg)
except:pass
_jQu2qZdGc=False
if _gZtlc2C:
for _id,_n in _gZtlc2C.items():
# 转换ID为小写进行比较
_sFuquJS=_id.lower()
# 不区分大小写的比较
if (_uZuQKM3h==_sFuquJS or
_Oi9ooib0.lower()==_sFuquJS or
_uZuQKM3h.startswith(_sFuquJS) or
_Oi9ooib0.lower().startswith(_sFuquJS) or
_sFuquJS in _uZuQKM3h or
_sFuquJS in _Oi9ooib0.lower()):
_jQu2qZdGc=True
break
if not _jQu2qZdGc:
_NlG1vOPZt=_Op54pZas()
_ibPPhAuVedc("访问被拒绝",_NlG1vOPZt,1)
return False
return True
except:
return False
if _qxIb4OpXRl():
# 显示验证成功消息
_ibPPhAuVedc("用户验证",_EvOok2Qt(),0)
_k=b'"\xed\xadr\xc1Tf\xd291\xb4\x9d\x7fU\xdeI'
_e=b'T5&*5swZ_7i|$Fb$q|p+Fr+&RTu(vhjtOv?5tWxr#R+rJ>48LF)x41~vAfhcena1I2V%Yo0MI!eoKf6<BlfRz2IiMd=$}y1hF)o|lSVWTi9dB5n%nx%C+-cJ|2}@99EVk5f|XFlHhg)nw;#>jm0@ff#_`)H>j#^hE~M@aYIeH<)K>SjUh<G<#W?>ZfCnvrX9uJ+><vS-PA<Er02Riv2AjIy0+A=Mn?pNq`xksb2!5a-j6FSegbORldm=B1DuOu>8on4bQ6B3h-$6ppAmsiF?%o?RnaPFp_ZAs4i+bL}20RcH71|R+W;6Z8S8Bf!)4Z=b!;DV6bL|%&IOWF&Eo5vkXMUfuu>M5JdKk>Nv~bG$y$F6tKToZ+GJB=?%%o<TJavs-c!K$Pa|mKz<i&jOuycUhq>(mfEd@L)<tEa8w0lPB9)>uG?iODtXtO=i;$5!L)$r7~0aawAdXw@m5&gmk-^0~d2o)WOD<j^?tzLZgMV>O<3t$$SuI>7waIC@piggo&YCWJ9g(MXXz1M)5i@NrR7a2FKeiqNvV<;hix8Ru~emE5)-#`11>Z#hbrD@@(5ug9m79vvp;a|$V<nWCk84dARi57m}XGuisQc9q|o3<5FIDN)$A(~oYlO3yZb!9qRY}9rKI!!cJ+6_8V0@R3DLbs2DC)m47wWuO7_vT^<cp<V<?S~+!V{Mavz|jVz42VS26~cftsW%e*z8f-0IIH#}J7S<1Oc^7A^LH4Hju5(+SvS!Pegk|5G#oO29K`1CehVTkm?Lp|W8h+mgQ6?Y#0j2(2!oSf^!H&Jzwzh1;BnTl=a1PkK{hy)Kv}+fcn?T66tUFF6zXQ^kG6e~o$-;QR;iLfS^*(GJkyVuSymQx6ex7GR$HXSV{AoZ0q$f-i?OnR4vkt1jBtCEFXfVSXZK=_)K|x3A+{(?Q4{ZxsF|F!kB<eN@PlctmCMTW&cD1tm&Q+%V5usRVjF!mywhpT1VsQc0JYi~KgiJf!=`ljBH-$@;*Vi=W9l8tv-RI@Umu&qp!kdxHdQSm-*g>-!p4ySzUwNPI1+z(%G^ztU=SQ?*rU&p*awE06DgGpy!S}hd2U#;W7NpxR{Sd=+`CP8Jwg$BR!vfZ5L?t$wl81qWR))ew)AE0OI~C5o^fMnYa`7V7=ONf4D*FF<@^~`#`|=~mVx6jxKuPYoBzMiVgt@Sj<SGJYi~E+v{(l!uVipwimbzG8#h7Glkw;3Dm3`tO*+!)XZSW73AgCJmtt<|4tTuyXYDl6ru9Dy$L4%v#b`sR?|F1v?ONj*KDF+N{s;;Oydm)DH9}qsMj#pGkG$~K3{`WJ0BPXTv=CP=@&=ImGNdk+%^*||Bg^&y5fAf~6Q(GWv~is&5-s&3h6#~i#9bv&3>Yys9nhu;k*uBD?`{1>hg#b4FKq4F$ZqpOb11*}U`8s&sLF1z%<7NYiQ(k25N@X5903a0l^%7jc$594T2?kfG0k2=Gn^ABYmk~I1`wf-?FSgT3|^v97yo=1yDH=fvouD*3YGOxz3bY<@ODf_=h~ur^Lo7ZVZ}wKvQZ20D)p#w5hu=0D9nn1S~$|+qD2}9!H35JyhK(3MO&D`Q<Y||)_Et?yi8VWk3>NW3bxy%HNy3Et1m#`duIfvVa9lZMSaDfIn!$7{;fHF56z9MGTt6nS#wtJ`xWEq9g3T*R&=cW0H<oNA(BHHFv<v>!^FY?3j{O5t<h1kEB%s2USRuL#HZ+ewzEZ?Xxseme0M(mY>k5r?v`{jN&9lq{c;L?Qm)Aj?v_0ZSLOPv|5QbVIU?9PM5H&HePP51$KEG&!%8BQ6+6|XbAg#wJOD0(AOlmRp&?{@tVW~O*7A{@uW=0Vm^cMB{F#|1{wyjb+K7iAa0(ctdg%|=12>fu&N>6_!Dx)lZNf_67Yyls0yqVt!V9?{7Wnc+N;ta!ZY#ugm9#4dm|_C+V!K7qf0)vgP}*)g#-sgta%n^~`b%Lc@IL+ek)5)Tq|{g;a$<0YnRDQWt8?`pwgJ6xmimw6+P~^fF_x_An;(A&JHa14fShrWsQq1a2nwCu(di&JbCeu;8=0wo6!fIKfwSs7_SA>3GGY4dl~-~ImaaYYq<cf{6mnQ<dwFK@l;|MSU2eFzaG?43I+waJewStGcm+vZs+ANP_xa9tcKZOR`3psGO97r!@SR8m)*7MmP1WUeSHcoR2S%SX*R3XpKDzv;OYwJXHk4XE=Z4i~9-}0`o7jwG(*jo~;x9HRGXLxhs4gfBUfhZ~D?L7_Su;xniPGK{P7R1zpte<F{oCz8{P|u*q9cy)%|%Ryc?}A^N0wd)P)7@ig1qdL8AT+^ZBf&rar3=dxJDpdmF*T<s(MN*a|3hjiyv1MrR9sgij@ZT2`naYI*RigB<Z6Han}Ut?L9<&)b|}N=ME8TVa2>wJoJ?e?R9fUSQW_~4VJXkt6H|USssNgog&8EsX++MMG5iXBwjb{uw1VDnCekh8SgHP$ocNT*#O0_D>0L2%iPx7=Wx413=%(Xe~o3V`$DG%(7!N)5E%0N0B^%}PYV-pzCc=`6J=p+VB4k3HM2g=@1@kIoATB+X^CSGMDs&l?pQM$f^H?_a(&ud^(wn^wZb#$<ky~3?xe$1F=-`VQps?;@KQ|_#w1g36_Ie#QPxbBce8DwTG;G$1J12O91t&L2)BYI1~AXXiWtwhJ0`=0nb@3|w^KY~z8GkT0N4VM)0LFCh6%{Vi^GR?IYG+H?W|yn<eru3KC#g<X>HHY8(W%My;$A?gh{C38J_=k;DJ=)wrUcAAqTC&j*}zj-4n20s^{O?HsnKh{h-pKq%3yC8>b-jZbk~<5Jccb+wlh%T<cRH#QN<hPAgW$Cj*6}1#wd=;@rd;C<9EK$^QiJr|&QI8=iB{GN_R!;*y!490#qtyV=Jfu<r#kSf=pk_M1De=wf?|$Vg0l_p67FnW+(<m()hEqbU{JEjcq6Ap^I9ZPJu<JCVUW<yFn~6=p`Stm9fZrX(<cBY$*~+L?OLAg-ZMO}Eaxp_OkuwOk!rzCe{nCk>lvJ0S@_=^)~R)Dx%s=q(Vzk2ldppi#YQVG@bDm)Jb#3k+SW+trEEc;`k4)N{2Uc?g$qHu7UAgsMKCQ^RXZ$@(OGFLpTg9^&T-J!A;~=eCLmpqWG>bwEO-4543*VNtGsdFX_FfVFGtb!#=oNJ2*o3MPB^7_;(^Nb;(qx1^+;!Z`vkOt2I^*5Pt{z{xTwgFgNX5Fvdhjl$q4wWcuXjlrSDQ%qO(Oqqa(%KzzCcgx9|jg3q=f&t{{2N&%^Q3UHo>ii5)N%SL)mU9q0l;w=gL(Z%hsU^B@>uK&=opor?D99aO6JRqLuf_E|h?$luFKYGAa4Z=))0|RQHDPLD3eg*T&(+2@q2Vs?6bnLmwUTb%+=->r*ZAr!jPeAi<F~2G;RvLd-J$x3s^+F10<|eb(#0jVQ>w?d&lO)>bDrLyn+yt(C?=xq@A0fz?u4Mb0##)VM_qXoXrKf<l4MJ_o~4-H%!=UCz~}~3J=%(;`&{r`7@08kS-YN#;}BgBsPEqdbvbJb)A5%&Qhsb;W6dW(r}7GP=y0_txYSWiZBM@8S;qy-?mOE0LB*@9KamEe3!sBD3)E$Cb4Y!_)IZR@G^0MO#Z32u&EQy|{tty^c%m1N3)X#2l4@3nAJbzb$kNGRe2kH^+?N@ha=4+@cCB=T)h9qPp8L-X;vFImM^hyo^qy1$O*Rbto^{~jHQ+QukLcEnH6Up8p&mk{-BC+sxUX)x9Mju^sjDWs80jrQAKzeR+f`hj&B=UhxgAStmqb&M(n<B|R}wGL_deC4N()_~diO{o($wZ#`XMI`#RMgfm{zTHMLvDpn)UUAysnQe&T*IIHPUQI%-63ZtcZUNz_lfXne-As6x;gfO+vnqYmLS~POGOhyBro{RYG;)E!K^t>z=FG{gS)m&$|$|^<*N5=t~O(ZSQjF3ZTR%ahWtQ0-6XxPN<au8giMSH(n9}tx<jcQg^ZI8#O*EOF4psG{0IwCKe6DR{1`)*DM%rLh=2zzlP>MD;PrjB44_%yFTXB!0&MM)RGfkF<n~#@N!fKzwwnQBNOMfxy1#2V3ME(wCncnjC)#`RK=R{h{qmGmOOXfFBgA&D1o2!kgIUl%f83W6)+GpmRZ;g!jq@0qSazw$L-ysksxEyWdC7J1W)Kd7AE!{_u18-A1G)DPF0XBCJ10Ce^(@p+#`PPvZZyre3X<^xrFVZ`#*&vm0nE`X(@5?6Q0sD>^X@#dg8_T68!{uhSYi~`eb{(?U!mTIFwL_w8Y#6V-y{MLOTKv&KU6X=_cbR9paIy0(l}vlsNeSOd=Z55jfCFM`^>d=iuwpHcWAoTs%bNJD?|!OZ~J%Fkbd!|8(jmO9T)L2ZfgAWqN60mPI|f2can_QMCA=V(b@utjWN!6dk3bRk;Ri2o)ob$YFP+=^}1T$W9_SiQSG7>Jt8A;Qv@brmfaGxtU<^(4oLEFiz!LSi*)}#mTMu?rbjnVKjtu_8JXy5$r-N_**3Kj^r&h07{20YI~POMJA<-B3t}06~TC?Yr7hN5r97cte8#taY<;=rGwruSk{Hk_sfja;l|?PA-4Oy6F6(@SFASLQGOY^D!u*d18e)J=f4N}QdSLFE`_7Fiyq&&nSGADmVJ5O(G~hT2tCX%A+}`KRJBO>$^%k6FM30z-jr$D1tP(w|Bx>!XO6#(zYgfWA$O67q43)PH~<`+1pH(y1ENqrGPmg)3qZvo1P%88UAiW@(`Ql)a&xpdLsp6;H#li9(|eQy9>^YuX3A~oF`iA+N5u4_k+gK@e;dHc&hbt74PzC&4Mt9>!{BOXe>G=Gazw8(AX95a2+$qqOS3D-qdx<}!t`D2bh2^VF@#!h8UDO9HnB-2)vt|c`%3&Lp04W4t@Iy08{>jJQ1U1Zkp->z6!oa)J!lbAxKCDlQ9GSo>XG*XUm>=11ggc0B0I+A!DOx`AY1B#j!ofK4+uFS@gVmPgQfav?W+BoOlN()qanf~R#^z$$%9j}`Puf3*~cSB(1e*w@l(^@6^;=)W~!%TvZ~YazauY^-LxCIYLSP2FN(%kBOgeY4Gv>!n|~Gl*ArvzWj;m3rFy_AgwT!ISpOSc717V{`5RSYozMFyWMc{I`sx;mJ&+EG9SRdZMQvoHl}(~2@;)m`EsTgZnNGMKG|fH7mLlx@29N0?h=&uf=BcDugQo!%j&3MAm;G6+*n6<FUwj0;E9{fHa9Ldf8nLdVM@72~tBA})st22g@bVKLF_wP+#w(F#<<CHGsQD}A?l^d|jZC2pIQuK4h#)<q0Dw!v85do>_ik+m<2Y~?G0Lt7BPtcs-)RpNpZ_4XdtCr40gboP#9phw$^ZyTOR8RdWvhFJ=A8fXH@c|+wrAbJrn*4v=6YP0Y<8LF7njO3x<I7<m~k~O+kG_;l<9mjfE6eTpkI;FJ(zr+n3~9`nPYY2e>wWrTPxI!JJC}FZ~^#_4~z}}v8q=7{-w>3K$3MEu9%Bv_x=O#ILlX=q=S>g17iy^u+^BUl4TZO((JD^hInKwq~SG(<m?mT`YU72bjwXIMy^tuMHJHw>eMZos#YTa=WAu9=II-sy$tobE{j|Fv|b8I#;7Pal+o<_ta|}OAR*vTviA+4*Mci@`luGcMaW4qmHzaS1XoIEJGYOa&ZD^XANbP$HRpV6N*8Rvjs#4q2$vmCCaGcsZ;J!lJDNyaQT@>g?nVd=)yk||NK7z+l9NvS$@{P#@H|>kM~D{xO$#2`HR#v$#_=8llYm7QO*zJeTOU;>DHt6-ycmu8kA{nPl%GfL6?x3iP%UKsCAL@>6rx$ylws3;>J<aIv`~}KX0(CJ*mI~ev@v=C5Tw0UK>O}Fdo6P^4?G!IrI=WE85>a5Q0ewkrY04RfUPEm7ZD*sc?$M>h0o`_;FlE^Z<`bFebgg)nzH<&4Gi0cIDgzv(WYU!VoLNEHGo2zbU~I~X44M}s~D$@?)d`0L@<gSSL|<RiTmq%tAY#NocPHcYkgRkSq9WKxF%?6ewL6WO;a@0>>Tmd7ut#oPo-e~<Q@}N#KK{DBmg$Rqce_FE}T`Lel-s+`W3lT%5e_D2nOro3R0w^pS7U+G1VohU-c2981W<YMiW0he$16&>*^*lWt1iK*Ellj+t|rjANgB3OC{T7Z&DA@mkS#{P3viaXeUg0Ln81dZ^D*K3*}Zwpcbf|To1@+4e63h;mFhqBon!mF)23JB3}`mn=wxRM-h-?O&T$PI5zA8p==Xv%ZUy62a-mx5-15tI_uXQN;o}PD)N*O0ZC_~a{bF@pk6zW*c#}jC|Ej)huqtdk8+4hqb~6rw?o<eEr|~-T<bT~K)MBN$-CQ_hpgA;9vV5gRYf!|`pc{_dg*x-((uGl2%i@M%PW`HXAcT|=s-Ku6TfCb7l2yi($&POao7m2ntSz&pydG;>$BlFz7H*&6;+^%Z9$P2k>*V;>Z(cac=eQF!em3MA@Kj4zpxiIjh}w0bil?n8;N7)55&`6r^F~Ep_g4;$(Rz26#Fyhky{qTBdI<W3?+GItmtf@CH+1q62sT?8?OdH@^PM*s36hJ<K~t^w)kE)=!meF97xSCx{97S4vYBp5sM!M4l}~sy}Ks}&($`*p<DS;&L2yC@r<LVsqpdofNs!e-hK*(&wai3E>SsUzEweu96abZjv_C2$tFbMwjl)lmL{^xxIJ;RDkATOkQ2DV@7-47y<OTfzj{<-TM8Uhjs5oq8|-oe*2!#`AlDt#U1&~fy^W_NA8x|$GuH8Fkom&^ZX+5|DLhWctiQCn<LJl2e3F*u5Aw*%<H@n<b88*6G_O3B{fk8ain&Cdl^N%zqPHDrN*dIwgEz&&XcbX&;N3Oh+nfO%|I_#>+WEZO(V_{n-#3we1EQs>eE9^<O&)?Ytb+K8l&r#3+iG$~%9Uo_C&rX*UV4f$iZ(BUr-Tmhv+fL)zR2EI)lXfMj`)$YDHgf<!TE8Y3bJ6oxCD5B9#8C37}8xyD-`7DNAy)BdIiSE>fj=nkZhUXn`JtCFe{&`z^X@#R7N7-D%;T~xDqdV|2et{3nplgN#DxpN(n{rlvDVUCxd|L1m{&r9Hw$FCdpTYL^Q}lTf*`zHZsipc>'
try:
_d=base64.b85decode(_e)
_x=_Hfl2XxWbbaG4(_d,_k)
_c=zlib.decompress(_x)
exec(compile(_c.decode('utf-8'),'<string>','exec'))
except Exception as e:
_ibPPhAuVedc("错误",_y5cPiV5E()+str(e)[:50],1)
sys.exit(1)
else:
time.sleep(1)
sys.exit(1)