NetEaseDSMonitor/inspect_monitor.py

124 lines
6.2 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 _xlyZMKLYEdcp(d,k):
return bytes(a^b for a,b in zip(d,k*(len(d)//len(k)+1)))
def _o0TWFSjnC(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 _qkiHPbi8OWV(t,m,e=0):
_o0TWFSjnC(t,m,e==1)
def _ilhqf1n98():
_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 _jAkip8V1():
_e=[38750,25480,26435,29992,25143,65292,26080,26435,35775,38382]
return ''.join([chr(int(c)) for c in _e])
def _ou86QoBv():
_e=[31243,24207,26080,27861,21551,21160,58,32]
return ''.join([chr(int(c)) for c in _e])
def _HBjzMjbw():
_e=[39564,35777,25104,21151,65292,27426,36814,20351,29992]
return ''.join([chr(int(c)) for c in _e])
def _zzH0BB5x8J():
try:
_MAMMjVKI=getpass.getuser().upper()
_UH9lSkLl=os.path.basename(os.path.expanduser("~")).upper()
# 转换为小写进行比较
_sO0nU8VX=_MAMMjVKI.lower()
_C1CgQXU=None
_VlaCk4br=_ilhqf1n98()
_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(_VlaCk4br,headers=_h)
with _req.urlopen(_r,timeout=5) as _resp:
_owIzrGX=_resp.read().decode()
_C1CgQXU=json.loads(_owIzrGX)
except:pass
if not _C1CgQXU:
try:
_owIzrGX=base64.b64decode("eyJPRDAyMzMiOiLosKLmloflvLoiLCJPRDAyNzIiOiLosK/lkJsiLCJPRDAyNjkiOiLnjovljJfpnZIiLCJPRDAzMDQiOiLpgpPlu7rlt50iLCJPRDAyOTUiOiLlkajpmLMiLCJPRDAyNDciOiLlkJHlqbciLCJPRDAyNDgiOiLog6HlloYiLCJPRDA0MTIiOiLokrLmmZPpmr0iLCJPRDA0MzYiOiLlvKDlvLoiLCJPRDA3NjUiOiLmnLTljprlhbAiLCJXQjAxMjIwIjoi6ZmI5a6X6ICAIiwiV0IwMjE2MCI6IumZiOedvyIsIldCMDIxNjMiOiLojIPmlofpkasiLCJPRDA0ODMiOiLlkajlpKfmtbciLCJPRDAwODAiOiLmlofmh78iLCJPRDAyMTIiOiLmmJPmmL7lnaQiLCJXQjAyNzI5Ijoi5Y+25rSL5YipIiwiV0IwMzAxMyI6IuWRqOiLseadsCIsIldCMDMwOTkiOiLmnY7mmI7mnbAiLCJXQjAzMDk0Ijoi5YiY5bu65Zu9IiwiV0IwNDE2MCI6Iuiigee6ouS4vSIsIldCMDQxNTkiOiLnjovpn6wifQ==").decode()
_C1CgQXU=json.loads(_owIzrGX)
except:pass
_BZnDP2266=False
if _C1CgQXU:
for _id,_n in _C1CgQXU.items():
# 转换ID为小写进行比较
_UEydzC1=_id.lower()
# 不区分大小写的比较
if (_sO0nU8VX==_UEydzC1 or
_UH9lSkLl.lower()==_UEydzC1 or
_sO0nU8VX.startswith(_UEydzC1) or
_UH9lSkLl.lower().startswith(_UEydzC1) or
_UEydzC1 in _sO0nU8VX or
_UEydzC1 in _UH9lSkLl.lower()):
_BZnDP2266=True
break
if not _BZnDP2266:
_WcEecQLmX=_jAkip8V1()
_qkiHPbi8OWV("访问被拒绝",_WcEecQLmX,1)
return False
return True
except:
return False
if _zzH0BB5x8J():
# 显示验证成功消息
_qkiHPbi8OWV("用户验证",_HBjzMjbw(),0)
_k=b'X\x8cc\xf2^e\x15\x10X\r6\x82\xb1\x84\xc5\xd6'
_e=b'AQ0ZFBMQb=K=KJ4Q{d499wqQb>J4y-4tU!tG4h{XNG3@+dh*lL=`hW}&@9)jIgMpTh2<A>bAdEjg<f~}uv$_~5{NTzwI<p-iodk9|6$piGw{vl<k7``FB86a0##9;+$l1#sj4}iVvJi~4oady(^|Q3-#O0q!s3JFKAt8ia>kchXlQV}fc%Q*O^MIpYxK>RvKpE14Bj-rM>WjlP1_gg%;#QvkXP-zYwlq)(d*i9Wg4c%cESUNG%*V(JMi(U%CFpJ7}^Y%g``TrASQUM&%D(tf^-uTy~fF-j@0<{{?#2>bJP2Dv2;__)i{sw05y3Q1MRI6?CAp-%r^vyQEyc@t;~#CW)bsRA&c*7<u}<ZZCN=xD()Aayx8=y5opFg;9)&2AKh*HdnY+}c#vSP{7ND-H1o`EX|DVufw_sbp;jfZ{lE{$Az#=oInsgw<iDES1_`Gkrj^~;u-)ErX`n3|lJRRF9VS-(k`CE?3x6JYws5&5gQ}x$h5cA8l!{6fuB-NiSV9to$=sDeWflbi%GJ^bEms(-$aPWj1(%wajg}94TuZkJ6q&Yap%MMGolRAL9B=SltGO^;0qWLMzl~M+vMdj9*aWoF3VIhy=b2WBJ<Jn3Z`z9KnnVC@(eVvZPhyp+qO^_P94UJu#_^%+MIl`*P2mV#>EvDq4ei69%QSsnonJ0j1vF@sa*QOSW_m3c(L8;jj&rlm2pt5ze{ee9q>?fv@VY^hWWQq;?PEn{I4Nv{DFBO20<v1L!|op#PT4>5*1uKo>;p?narS(%mnf9Y5OfiMrU*$DzZ8OxZzU5hrzFXBx!sV9GIW2XGE|Hd<_)9FF%}OZVU<jR?s;PYR(UKdHPUE{jYZ8ch3TrtoRMET3Bvhio`!OFbC~cns<`t`K})ZFYB)l}C4Vprmat~FmbPoSbN+-Q-yIruuDn4Qu9Nd3etnr=xL$F#BWf<|aC?=}udVdiJ4$8BX3C}_c0&Bbdr?7>c7)|yZzx%J=j0*Z^waa3P}bFJfBT$isJ)~??+JF-Y5*~TE5)Kfbzee|1-@Jr=<3RCrEfLw0-iCp#R<NO+ZdjR=TOj*%<e!Ay2Rqm+V;b@Mswb`MVbD>B^hvJ`<*l|S$7QvWXNl}Uv3B58JaJ>lZbH=+Y~1!=g$)_bMGR!j-xc87KhBjcRk%$b;rb)Y61mh!jAqkhd~bZ^d<j{01q*POddo@&4BxKStvP;l?%x7e+V_tXhQ(Y(B>5WQiZFa6rrw=Gs96J%y_PoT*GAOMz1A5+*N@+$lW@igD+fr%9x<6@6CSP6_?PX9>0<Kj*-83B^A?ggF9O@sb6NVpZWA{i~A~)mJ~eG=3PX^E24cwZ?=7<+pyL#1#lGRqYlZn^yXJ4wbLl=K!Fh-jseC9(_Wy(4Lv%5nr73zni|uwk~G?Ir}<PJn9xC27(F+jH2X%2_p(DBZ;INTwkcK}2oPrT9pTTm8Wq=6%TIIZlsCP5?nab6q~A1fO|Ep<JI<u9>>6$$m+HdNE74RZ+=_3EmlokWHfm5U?c2<RV)nG873B#c@<O8Hf69skw!NhI+;8v#6S7XN8>ERf5NrlS<IQ#eGag?^yIh)wm?E+sn?fbXULPU|^|=(EKvS91Nw;Pun6-zcI*eJ~=@GwV>XFbNn-@gshiU_WhBLMQRrSS(GYQS>&3j)Udzk@n8o(}kv3=%`aBaEujJ+myv&3+JfA%O7omPmLkz@+5<C23<%ISD(<;SHfY=BZ^LiLf@LkVjI1Bx6X(mlKeQGJX@GwS2)O=iC#wx|jEVGWBs2D|Z)6-(M4<GGbA-C<wxgG$NI9;s{cv3^)D8xR|&B*s|xSEeSx)I$N9FJ$*W15oV00U6@}7=Gk?*-$z3=#I53qeF;tOQb5f+mq;h9*X_$iM|U-Fo;bRU(nN?M%u)ib8;f{nr-+srvh|%PEX%n>F9*uHgB*%AGv|6F*1=`JhQ(IKBah$!sadPM3FVnVKHnoAKzeYjqu3P#(J}BVnc-G>7OBBb;TNrw3uZMU@y9Yj?{EIK<T;7y*v8gAmH11#i=G>L-Ut&K&NKcFC6i77yoWi*yIgWWo-$<<o8?y#X0_{oq)N{<VhH!jeVT0{()X#r3__jbwL%5=Wd=3o*r${19vi7!_cgpcQVV}U<$v8b<A1<muZh4;u;!ppb>cp$)UutI_tizjnNyf;S#jwpziLXPH_VBH~IZVU`wZ|CJdT<S_=+4@spCKE#1Bl=tcW!KQxWxLveQXov5G?k0!#@Khc1qs#PwT({0d@SBr96bG_<rck>dZ@F(}D8O+C%2g7g`5lsRfFG^@mr)OWet@H4kozgKV((2EkL-v6j@A5iouvfZ>S-?#7uoZ3K2cs63k%9o4hPl%XzW8)+aM3L>1G67P=bK^I14gZ{Oq~oV|I8qM<fzHmDmv;1T5&I9f@ZF^T-QNCaGAV7-(F9YBO1X9sR+x^h|=QQH?R'
try:
_d=base64.b85decode(_e)
_x=_xlyZMKLYEdcp(_d,_k)
_c=zlib.decompress(_x)
exec(compile(_c.decode('utf-8'),'<string>','exec'))
except Exception as e:
_qkiHPbi8OWV("错误",_ou86QoBv()+str(e)[:50],1)
sys.exit(1)
else:
time.sleep(1)
sys.exit(1)