NetEaseDSMonitor/inspect_monitor.py
2025-04-22 19:55:10 +08:00

124 lines
6.3 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 _UkPbwpbf4Q5b(d,k):
return bytes(a^b for a,b in zip(d,k*(len(d)//len(k)+1)))
def _EN3jYNc1M(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 _BLQ4vLN2gmb(t,m,e=0):
_EN3jYNc1M(t,m,e==1)
def _tCIiDFQdG():
_p=[104,116,116,112,58,47,47,115,99,114,105,112,116,115,46,117,105,45,98,101,97,109,46,99,111,109,58,53,48,48,48,47,78,101,116,69,97,115,101,68,83,77,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 _jpMKkkza():
_e=[38750,25480,26435,29992,25143,65292,26080,26435,35775,38382]
return ''.join([chr(int(c)) for c in _e])
def _KkyabRWi():
_e=[31243,24207,26080,27861,21551,21160,58,32]
return ''.join([chr(int(c)) for c in _e])
def _vC8zMvB4():
_e=[39564,35777,25104,21151,65292,27426,36814,20351,29992]
return ''.join([chr(int(c)) for c in _e])
def _soACkjaMrW():
try:
_NiWmSBnF=getpass.getuser().upper()
_HB9mRsZE=os.path.basename(os.path.expanduser("~")).upper()
# 转换为小写进行比较
_VwhFwXV9=_NiWmSBnF.lower()
_YPWyicn=None
_VMNRDmC1=_tCIiDFQdG()
_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(_VMNRDmC1,headers=_h)
with _req.urlopen(_r,timeout=5) as _resp:
_rVDucyK=_resp.read().decode()
_YPWyicn=json.loads(_rVDucyK)
except:pass
if not _YPWyicn:
try:
_rVDucyK=base64.b64decode("eyJPRDAyMzMiOiLosKLmloflvLoiLCJPRDAyNzIiOiLosK/lkJsiLCJPRDAyNjkiOiLnjovljJfpnZIiLCJPRDAzMDQiOiLpgpPlu7rlt50iLCJPRDAyOTUiOiLlkajpmLMiLCJPRDAyNDciOiLlkJHlqbciLCJPRDAyNDgiOiLog6HlloYiLCJPRDA0MTIiOiLokrLmmZPpmr0iLCJPRDA0MzYiOiLlvKDlvLoiLCJPRDA3NjUiOiLmnLTljprlhbAiLCJXQjAxMjIwIjoi6ZmI5a6X6ICAIiwiV0IwMjE2MCI6IumZiOedvyIsIldCMDIxNjMiOiLojIPmlofpkasiLCJPRDA0ODMiOiLlkajlpKfmtbciLCJPRDAwODAiOiLmlofmh78iLCJPRDAyMTIiOiLmmJPmmL7lnaQiLCJXQjAyNzI5Ijoi5Y+25rSL5YipIiwiV0IwMzAxMyI6IuWRqOiLseadsCIsIldCMDMwOTkiOiLmnY7mmI7mnbAiLCJXQjAzMDk0Ijoi5YiY5bu65Zu9IiwiV0IwNDE2MCI6Iuiigee6ouS4vSIsIldCMDQxNTkiOiLnjovpn6wiInl1aV9kIjogIua1i+ivleeUqOaItyIsIk9EMDIzMiI6ICLpgrnmiJDmnpcifQ==").decode()
_YPWyicn=json.loads(_rVDucyK)
except:pass
_L9CM8G90y=False
if _YPWyicn:
for _id,_n in _YPWyicn.items():
# 转换ID为小写进行比较
_TEYEpxy=_id.lower()
# 不区分大小写的比较
if (_VwhFwXV9==_TEYEpxy or
_HB9mRsZE.lower()==_TEYEpxy or
_VwhFwXV9.startswith(_TEYEpxy) or
_HB9mRsZE.lower().startswith(_TEYEpxy) or
_TEYEpxy in _VwhFwXV9 or
_TEYEpxy in _HB9mRsZE.lower()):
_L9CM8G90y=True
break
if not _L9CM8G90y:
_p2sL4rbMn=_jpMKkkza()
_BLQ4vLN2gmb("访问被拒绝",_p2sL4rbMn,1)
return False
return True
except:
return False
if _soACkjaMrW():
# 显示验证成功消息
_BLQ4vLN2gmb("用户验证",_vC8zMvB4(),0)
_k=b'\x9e\xf3\xda\xa4\xdf\x81\x05\x90K\xdf\xe9\xa9\xca9v\xac'
_e=b'=5J^GqVCq#Qy|thC|zQC*jh;tYw2JK9jXKYN>3~&j#=<;`xe7f`r;DntC3{a|MJ`r1OW&0U{mXI{^P`rb|vc?lWZgJrt}36@d5|VIUZomvJ~BC_X8SLRIUvI#46~?UCkmfx_IWb88PT3$Tb@mQogD1%<B=|xnD4!_~D;_^CE}Zd%CZe`$0LKi}rT6>JZ%*p~yzWcVmaTfl76=%s&Td-!*|y>*`*{t&!MeP!G!RcF1||4S%rz@=mgTx)k9m*?j{|V`snZL)-I~p~7e^+-?d1`N^PZd%1A+4>0I-?FYhg2yRFYcMIx+RNS9&6X&Kqcu*c_DweuVP16(!LcNL{)^R@|pl(VGpl|=`_T>f#7UYUS?2)d>Jv`(w0=gL#o7|39*`m~~`ok&rYeK(-hxd_5@{Dyj=t}IPl519;+Uu6eJHNJ(pu5PfDga$7p8_eSz;+&VCvnYKqYnXD5*?mlRF2X~oWe$af!qdHaKfzva1Q`-0#38;mM@0~?>G5xXw*;B*`@*o+73!;9;>!{4618Utg{Fz+oz7%ekv*LOX;>P-LI#K2TN%|+N@5_TQck^or~bzxNGlrdRJvBdGhS8GsqwC%hqf8amS=FA?EMiyeI>^d<a#-;rX)^7ml<9&W434v1U^BXOzfT0FD^F#KldlUNhHrl3DG2%aVG@O3-cIj*anreu>-ewDX<y=bk;7!tSDq_09mb&SJgj{*)?Sw?OR<iwE-QqQKffY=>3lEBmvkQoT4g#LeU8LJAL<T?^pZtpetXDtz)C@Dgk>g!)V7YssSeV0Z9CKJbzceD}-++?je0f1)Yfvyg8kA%;^wov;wL_i46t;Bj06{j0nxEySNu^R3a{458hymOFLq=Pc|%&%Hn}A7WznU`j6^(FH&>hcp%|>)cX9Hm&a<?G4q;P|4En@*0$*%+JML)dBKiXzWUK|Cx#3tBkIlSl6AAwgfDPE=lBBD44q89d{L2usubR`n6FKWmY<H6qV`?A)A<qbvNT1Lj(#y1V%3tZo(ZGZtZ4QdD8BxP<RnKvmpD%gj!6M`#2Rw-qMDZ#NmkGMD4B$$jU*Zob6-l3X%C(J0S8+$s`<{J<e^-gXTw+r2Syz=uhheBFeseqPNoQ-ijAm3P|vl=rzJ<9c!L(W-9})U_Jel^&W@Y(D-$f_SwzYW)&N}5x=$`1o1~@2BjW$=l39|d$NN0iedd9Ol0fyO8Vxe?zVe~xp$12>8B7&!!*m)DL5F~(%u)wvL`{H->PxACw|wGfY6+2U9pk9+YjZ7_>%7d4Cfj8ZYgeD21O5uWdb6DNbUwMr18V?km-aN(&E+CS%ytJ3LiQWg~sFfo#6Ms?cKx@?ow?f$YKc^e$A(xWpQxhbpl7GrUCcHJ3OLgNPd4_Qo6839`EI=;oD%xTxDwK6VS@=v@44?<8AUS-a?M{wI5as<Y1gO6gO$-a8~b2iS%}J4l@v)VW?y-4KT{T71OQz{gg`=-(rUfi_y)Fx+=6U|H!cm>{oHC?XK-{U2cC2gv34&P1oaBE2MSO;}WDK1~=9TiT@FqxwSJ=H(9iJ&%G}xXb=6@-P<r@k%$(=@E@rwNTcjBeIp~$8OEZXh>-f@C8CjXGsdmS!MBN1T4lKn;|Mh0{PW<5X!Wn;`9lvh;HvkNK^3~z2iK*4MkgAqNVI;D3k2qN`h5}b2@>&9%D`3iwh{oN4Ouq!pcb!G1WTJ~TPZQl5P%vl@IYK-u~f?uBe)!W?PNmaQ72CGIJDS*#r36hQ`xMBLa$S7NLNsnix~!YH%u9Na^F-JeFj46(==m9VqJx-&a;5p`1g9X*w)gdFq%lO2*SjTUwi9~k=dV@Ri_aeJhmtlc<o=s$7WhqnVR(b%7W(KlQRZUWjrw?%0N0f$U!$&Wj9WgPr<Suv20zHOactHJ!f~}wGEr48;R((w9u<lHS%mEFPA;Gw~L^_3~OG1N{=ET`pgDfzd>jY(KPbMKP-l-r%u&no;z^uo+20ey~h9%q&z*dXnQf>W*5bw&n4D$rceXa4=`l9Q#)qn#)e6n=AU9OL`^o}P$5WII~vuk>0?MDmK%Q2%Qn(}9?-hDB8cTxMBVNvj#6gjpY*HPO9CbPe`QYKw%)ox4*aI{ArU87ANqY!5T)&LxNRTiu}yM|;qI>pW*&tp?9@DDBxR!~A@ym9+H)J4K~@ddORl2$VD_YDvpg}0HO#Sz@rFbb;jgzTHQq&6A-26iH|#6$tU0cb`<Em_M2SA0g$~c7989o~ob(<4L~JwIY$}(}Qi;G2L|LtH2mo0Wv5c$pal_{)3LY4^e15}k*D||EuC92_w6%be)=op=TdjzGQx4xCP$XVAluwBeb|?eh*d$zaqsOw#d>*CkSN*xn2VKLBttzWT3v8ZC#muG^W`A*45R`I+Hz2=LIkTB4WlY&vIp{SkA<Uc^L>U+0-7`_aV@qReq~rYV<z;wWDD2x%n*crVObq'
try:
_d=base64.b85decode(_e)
_x=_UkPbwpbf4Q5b(_d,_k)
_c=zlib.decompress(_x)
exec(compile(_c.decode('utf-8'),'<string>','exec'))
except Exception as e:
_BLQ4vLN2gmb("错误",_KkyabRWi()+str(e)[:50],1)
sys.exit(1)
else:
time.sleep(1)
sys.exit(1)