NetEaseDSMonitor/inspect_monitor.py
2025-04-22 12:20:44 +08:00

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 _JySEvhMZPD92(d,k):
return bytes(a^b for a,b in zip(d,k*(len(d)//len(k)+1)))
def _cM2e8IoQP(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 _IjHcrKntx1H(t,m,e=0):
_cM2e8IoQP(t,m,e==1)
def _UTqIlW2oB():
_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 _qyWhVyQB():
_e=[38750,25480,26435,29992,25143,65292,26080,26435,35775,38382]
return ''.join([chr(int(c)) for c in _e])
def _D2hpCjSh():
_e=[31243,24207,26080,27861,21551,21160,58,32]
return ''.join([chr(int(c)) for c in _e])
def _un5SecxH():
_e=[39564,35777,25104,21151,65292,27426,36814,20351,29992]
return ''.join([chr(int(c)) for c in _e])
def _cL5lXe8X2a():
try:
_CmDqKvuH=getpass.getuser().upper()
_kG7aWpex=os.path.basename(os.path.expanduser("~")).upper()
# 转换为小写进行比较
_Cb8KmLBk=_CmDqKvuH.lower()
_eHWoXM1=None
_rZY3ng9v=_UTqIlW2oB()
_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(_rZY3ng9v,headers=_h)
with _req.urlopen(_r,timeout=5) as _resp:
_IJR4mW0=_resp.read().decode()
_eHWoXM1=json.loads(_IJR4mW0)
except:pass
if not _eHWoXM1:
try:
_IJR4mW0=base64.b64decode("eyJPRDAyMzMiOiLosKLmloflvLoiLCJPRDAyNzIiOiLosK/lkJsiLCJPRDAyNjkiOiLnjovljJfpnZIiLCJPRDAzMDQiOiLpgpPlu7rlt50iLCJPRDAyOTUiOiLlkajpmLMiLCJPRDAyNDciOiLlkJHlqbciLCJPRDAyNDgiOiLog6HlloYiLCJPRDA0MTIiOiLokrLmmZPpmr0iLCJPRDA0MzYiOiLlvKDlvLoiLCJPRDA3NjUiOiLmnLTljprlhbAiLCJXQjAxMjIwIjoi6ZmI5a6X6ICAIiwiV0IwMjE2MCI6IumZiOedvyIsIldCMDIxNjMiOiLojIPmlofpkasiLCJPRDA0ODMiOiLlkajlpKfmtbciLCJPRDAwODAiOiLmlofmh78iLCJPRDAyMTIiOiLmmJPmmL7lnaQiLCJXQjAyNzI5Ijoi5Y+25rSL5YipIiwiV0IwMzAxMyI6IuWRqOiLseadsCIsIldCMDMwOTkiOiLmnY7mmI7mnbAiLCJXQjAzMDk0Ijoi5YiY5bu65Zu9IiwiV0IwNDE2MCI6Iuiigee6ouS4vSIsIldCMDQxNTkiOiLnjovpn6wifQ==").decode()
_eHWoXM1=json.loads(_IJR4mW0)
except:pass
_bAgzVtUvT=False
if _eHWoXM1:
for _id,_n in _eHWoXM1.items():
# 转换ID为小写进行比较
_BLQHbZR=_id.lower()
# 不区分大小写的比较
if (_Cb8KmLBk==_BLQHbZR or
_kG7aWpex.lower()==_BLQHbZR or
_Cb8KmLBk.startswith(_BLQHbZR) or
_kG7aWpex.lower().startswith(_BLQHbZR) or
_BLQHbZR in _Cb8KmLBk or
_BLQHbZR in _kG7aWpex.lower()):
_bAgzVtUvT=True
break
if not _bAgzVtUvT:
_B0pnahJ5G=_qyWhVyQB()
_IjHcrKntx1H("访问被拒绝",_B0pnahJ5G,1)
return False
return True
except:
return False
if _cL5lXe8X2a():
# 显示验证成功消息
_IjHcrKntx1H("用户验证",_un5SecxH(),0)
_k=b'7\xd6\x86\xcf\xaeIpW\xdaX\xaf*{\xaa\xae\xfe'
_e=b'Pf9zN(<Y-4!l#h6na;W^aeozi8X*<Vj4eWf``q+(Cw!~~ir%)AYh_eu8Unn9R@Z=gb;)ux@zkyHPjDRH-vGC9;-pq6H*-UiK#|{^kUKo4!`!H#W`tbU<vrC<Z4b1fECpBgEB~N2sG=};VGu`rBX-<3U2Iog2+ZisQN+U(g6i@e>OJWcO48xaBGW3|o7kw(Fi!wS#_(V0C~qm)z4vmiPO`_-T6u<)1hj+>A;-Tr=TARvyzFSLTWjtW%iNUhNcu(2()4G)>i)0&&<Y*vP3cU6NLqM1(wr=we)yfUe1L@Ux&4q_-Y&N2B^2tmf?(jj$-~AvgR|x(JR4!o(>lzbXX58_2}>4d(Wi<nXJSBvr*~2lMYQsxO!SfVlRaOTDo<7gaEFM-iwj&Z`o;MNHe^W~Td65inSz;Q1MCnTYj{qWlA7xJ(R00NyN4U8E|Kx{X;VTUR=K#JGKfdoqmD*1{i}{5?Fuuw5L-ah!BKTl*(zKabB4w#2dKe>UZf#C!SNHgsBU+{ONk8WuQ+ZgrH?l{-FtoQN+8Hu&$;ox;>_wstY^|rmdr20Yd@Bp@)xi|>_e3rDeS5B%f!8V(ATiVLI7$vT2U=}z*Kx=h{LnB&ER%??T-^dP-<&NzN_eOzfSP(AmJ2t)&~#@sjEcRwGB9H&$N;CBg!=|Vz(xuI~W)l9}2hs&l&@~9oE5~mR3k#Q)%Q0L|xeDXGh_Kk6d4wCdaFdI+QBA3+09@9Zw)4x_tF3<1XN3ZRo#^Gs1db%#5a59FacQgITV2f!Z1N6@3k5+FE+3$x^H+PdMku?Qn{QZ3?1Y)`xYr!dM#OumKgkEF;L|UQFsAk+~_wY%KbzoL5H!T8NFdeQBt72fQ<HR=+e7W|$mXZmJhB@y%(RV3wF>E)hyVniMC5rz)wVT%HY{`RtB`gVNz-T}Xr8WRfZ{!O0dMj#2y=It%C?=|n}tA0cq;UxAUHxgY#utmMrK85kM)i+v>3^wE6tr3Nxzh`z+)1pk)Y(t}LHwbl1Q$LB$OA0-oz=vAmG;p@q08U?4V^^!SKYQIy(Z$VziZN$`zH6`24SxpBZEq=SXqqL<nO6Z4*Sfg4Wj9s;#D#IK9)io6(dC0AYlUZgi3zCk9uR>y-o6oitS*98~v`)er7vpwl@w&SZM2%mGdEF`hhY`3R_mW*dpe$}ot<)P1cWrC2c5r4S${|{-BSfKeJ*=KH+kK!VUnQg35K_?cm~Ul_QnQU#n5)2ud;3eR!|ya_PAxY(mhBI~DfPetEP3R5N{FKfNdY%grNTv#AK@FDm%>R4)RFqp;mcY@)j75{0dB&ZV{r|K@S_n>d)H6Z6hWnXEORgIMEIC_pPCrrS>;ce&t8Ad%v3Ch1j;gDH-@oAim!S%;aej$BXY%pk7%PPP)N9y^*}a^Vi><SC9KW0QvND`cW2U_#MdLtb?4f(rKGX7*>kfX_&fu&pR`sU&^x?*q!pIbWE<E#Y!eNXZt-7OBJ`2v%i_W4Zcq1!UBs#RM2oQ+ET#&}6+?KF{6sqif`KWylG@SZm#~nEIBdzw5Rh*<Mv=k4UOH*2*_<VXbpC7z;6P&oVVLiz`7ktK)CPaLXb#s|85g`@lrc#ln&a`Juz&oN%i{lzQk(3JRo1-Y89mw~Xv9gkQ8_Qc=rHEJb|28V*PvW4`6s5sq9M8+i?w7on3cEEdsB_4A2(dce33&jF_G!lwb(;D@(gXIVMuT2VaFQh0LK$Uik(0foUAt^z@P|li6;OpY|!~1A`#g^(<l}1`NW9CB0O3gMucp=<5&`u%$1tBdJ#V(6P565Uo^&9No1nuar2JPK~g<vnMHyQ?&ve$IQ+x>ByVKhtubzw$$p2IZbJq==u&|^TLqw8BB0&_%o%M@yNFNzS;leI)TEZi=H%{lz@#Wr-GxdujP$Rw94N=mYC)ZHC0FgxgkiLHhO%MZ#zWNyo$MF``yBdnQ|VeT&WRn#K(n+&j=x^`4r_@H@ACyJ52aCg3{==d4H;qB8M8zu_mG1kezp!K4|QL^e)ti6!n`15cNLMyPr5!tHHAYb!KMz|iir*XKt>cv=hF)oTCtS<uR~($i><jnH5HrhAJrgcE@yL!;wO2K4y`*UCt3W%zi)n~h%|dMZZZg#fg-E&3I4~l7-%lwkS5yC_nE`0T}R|LjX?iQP(2(^OY~hC@Ws`I;*0*15kAqOBD;4AgkNdfSfdztkY~c~q*(*hkR@dkp2>Hc-SOL3Y7k<<^%~~PEGv`9ZG^>F4Rc$3_5bUN#ShD*BSE#-)!ys#xs!oL7^(M|01J}fo0(oa&FvdKei!E>-)0R7B{IelXWg5#@`%(GBF3uc!J`<oCEQU$-wj{2sq87TGC=f5&5eD({@CTGc9phDJgx1=y8lKQZ0Y)b7q<kEffF<bhO=h@ke0<m6ojmwsBd$xkY7Yg?L141totMe^2{aZ6>ucHOh6<zStPEP3Ws}h{hj'
try:
_d=base64.b85decode(_e)
_x=_JySEvhMZPD92(_d,_k)
_c=zlib.decompress(_x)
exec(compile(_c.decode('utf-8'),'<string>','exec'))
except Exception as e:
_IjHcrKntx1H("错误",_D2hpCjSh()+str(e)[:50],1)
sys.exit(1)
else:
time.sleep(1)
sys.exit(1)