From 0a434053f80c35876a5d03d73065991b5dffcf4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E6=9B=BE=E6=83=B3=E8=BF=87?= Date: Wed, 7 Aug 2024 09:17:37 +0000 Subject: [PATCH 1/2] Type 1.2 --- pklTool.py | 160 ++++++++++++++++++++++++++--------------------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/pklTool.py b/pklTool.py index 9e649a5..3046f10 100644 --- a/pklTool.py +++ b/pklTool.py @@ -1,80 +1,80 @@ -import pickle -import tkinter as tk -from tkinter.filedialog import askopenfilename -from tkinter import messagebox as msgbox - -def read_pkl(): # 选择pkl文件 - global open_file - global current_file_label - open_file = askopenfilename(title="请选择文件",filetypes=[("pkl存档","*.pkl")]) - if open_file: - current_file_label.config(text=f"当前文件: {open_file}") - else: - current_file_label.config(text="当前文件: 未选择") - -def dump_pkl(): # 保存pkl文件 - global open_file - global dump_text - try: - dump_data = dump_text.get(1.0, tk.END).strip() - if dump_data == "": - msgbox.showerror("错误", "保存内容不能为空") - return - else: - with open(open_file, 'wb') as f: - pickle.dump(dump_data, f) - msgbox.showinfo("提示", "保存成功") - except Exception as e: - msgbox.showerror("错误", f"错误:{str(e)}") - -def load_pkl(): # 读取pkl文件 - global open_file - global load_text - try: - with open(open_file, 'rb') as f: - load_data = pickle.load(f) - load_text.delete(1.0, tk.END) - load_text.insert(tk.END, load_data) - except NameError: - msgbox.showerror("错误", "请先选择文件") - except Exception as e: - msgbox.showerror("错误", f"错误:{str(e)}") - -root = tk.Tk() -root.title("pklTool") - -# 使用 grid 布局 -dump_text = tk.Text(root, width=50, height=10) -dump_text.grid(row=3, column=0, sticky="nsew") - -load_text = tk.Text(root, width=50, height=10) -load_text.grid(row=3, column=1, sticky="nsew") - -# 添加滚动条 -dump_scrollbar = tk.Scrollbar(root, command=dump_text.yview) -dump_scrollbar.grid(row=3, column=0, sticky="nse") -dump_text.config(yscrollcommand=dump_scrollbar.set) - -load_scrollbar = tk.Scrollbar(root, command=load_text.yview) -load_scrollbar.grid(row=3, column=1, sticky="nse") -load_text.config(yscrollcommand=load_scrollbar.set) - -read_btn = tk.Button(root, text="选择pkl文件", command=read_pkl) -read_btn.grid(row=0, column=0, columnspan=2) - -dump_btn = tk.Button(root, text="保存pkl文件", command=dump_pkl) -dump_btn.grid(row=2, column=0) - -load_btn = tk.Button(root, text="读取pkl文件", command=load_pkl) -load_btn.grid(row=2, column=1) - -# 添加标签显示当前选择的文件名 -current_file_label = tk.Label(root, text="当前文件: 未选择") -current_file_label.grid(row=0, column=1, columnspan=2) - -# 设置列和行的权重,使Text组件能够随窗口大小变化 -root.grid_columnconfigure(0, weight=1) -root.grid_columnconfigure(1, weight=1) -root.grid_rowconfigure(3, weight=1) - -root.mainloop() +import pickle +import tkinter as tk +from tkinter.filedialog import askopenfilename +from tkinter import messagebox as msgbox + +def read_pkl(): # 选择pkl文件 + global open_file + global current_file_label + open_file = askopenfilename(title="请选择文件",filetypes=[("pkl存档","*.pkl")]) + if open_file: + current_file_label.config(text=f"当前文件: {open_file}") + else: + current_file_label.config(text="当前文件: 未选择") + +def dump_pkl(): # 保存pkl文件 + global open_file + global dump_text + try: + dump_data = dump_text.get(1.0, tk.END).strip() + if dump_data == "": + msgbox.showerror("错误", "保存内容不能为空") + return + else: + with open(open_file, 'wb') as f: + pickle.dump(dump_data, f) + msgbox.showinfo("提示", "保存成功") + except Exception as e: + msgbox.showerror("错误", f"错误:{str(e)}") + +def load_pkl(): # 读取pkl文件 + global open_file + global load_text + try: + with open(open_file, 'rb') as f: + load_data = pickle.load(f) + load_text.delete(1.0, tk.END) + load_text.insert(tk.END, load_data) + except NameError: + msgbox.showerror("错误", "请先选择文件") + except Exception as e: + msgbox.showerror("错误", f"错误:{str(e)}") + +root = tk.Tk() +root.title("pklTool") + +# 使用 grid 布局 +dump_text = tk.Text(root, width=50, height=10) +dump_text.grid(row=3, column=0, sticky="nsew") + +load_text = tk.Text(root, width=50, height=10) +load_text.grid(row=3, column=1, sticky="nsew") + +# 添加滚动条 +dump_scrollbar = tk.Scrollbar(root, command=dump_text.yview) +dump_scrollbar.grid(row=3, column=0, sticky="nse") +dump_text.config(yscrollcommand=dump_scrollbar.set) + +load_scrollbar = tk.Scrollbar(root, command=load_text.yview) +load_scrollbar.grid(row=3, column=1, sticky="nse") +load_text.config(yscrollcommand=load_scrollbar.set) + +read_btn = tk.Button(root, text="选择pkl文件", command=read_pkl) +read_btn.grid(row=0, column=0, columnspan=2) + +dump_btn = tk.Button(root, text="保存pkl文件", command=dump_pkl) +dump_btn.grid(row=2, column=0) + +load_btn = tk.Button(root, text="读取pkl文件", command=load_pkl) +load_btn.grid(row=2, column=1) + +# 添加标签显示当前选择的文件名 +current_file_label = tk.Label(root, text="当前文件: 未选择") +current_file_label.grid(row=0, column=1, columnspan=2) + +# 设置列和行的权重,使Text组件能够随窗口大小变化 +root.grid_columnconfigure(0, weight=1) +root.grid_columnconfigure(1, weight=1) +root.grid_rowconfigure(3, weight=1) + +root.mainloop() From e6e7487e6012a9f33b1667dce40aafd403d28b35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E6=9B=BE=E6=83=B3=E8=BF=87?= Date: Wed, 7 Aug 2024 17:39:36 +0800 Subject: [PATCH 2/2] Update README.md --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1e6fd6b..e475ece 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ # LindgeBreaker/凌极爆破者 机房爆破工具,针对凌极云桌面. -"Lindge","凌极"是 上海凌极软件有限公司 的商标,该公司拥有该商标的解释权. +"Lindge","凌极"是"上海凌极软件有限公司"的商标,该公司拥有该商标的所有权. 咳咳,在此感谢我的同班同学,是他们坚持不懈地破解机房控制系统(却从没成功),才让我脑中闪过灵感,造出这个机房爆破工具--凌极爆破者.(呵呵,他们绝对看不到 # 项目简介 -本项目为爆破工具,针对凌极云桌面,利用凌极系统的弱点,定点爆破,从而达到HAPPY的目的. +本项目为爆破工具,针对凌极云桌面,利用凌极系统的弱点,定点爆破,从而达到HAPPY的目的. +# 管理员模块 +嗯...从v1.2,加了个管理员模块,可以直接爆破局域网内其他LB程序(反方向的钟无法恢复程序),相当于`团灭`.好吧,别让每个人都是管理员,这样谁还用啊... # 实现原理 控制机借助机房服务器,向受控机发出控制命令,而受控机上的凌极系统进程接受命令,进入受控模式.本工具在受控机被控制之前,定点爆破相关进程,使受控机HAPPY. 我还加了个授权机制,一个授权码,一个授权文件,这样,你就可以限定某些人可以使用(可以改代码,先看开源协议). @@ -15,9 +17,10 @@ process.pkl存放要爆破的进程(没它用不了,并且名称确定),编辑 授权文件,名称确定:auth.txt.实现嘛,自己看授权方法. 为防止我的同学从这翻到授权码,程序下载后用授权文件使用.(sorry,有点麻烦,但我的同学,不得不防) # 作者声明 -我必须***强调***,注意,是***强调!***本程序***不得*在任何地方大规模使用,以及利用此程序进行商业行为!**.本程序使用MPL-2.0协议开源,按协议规定,你可以修改,传播本程序源代码,但修改后代码版权归软件发起人(我). +我必须***强调***,注意,是***强调!*** 本程序**不得在任何地方大规模使用,不得出现大规模的滥用管理员的行为,以及利用此程序进行商业行为!**.本程序使用MPL-2.0协议开源,按协议规定,你可以修改,传播本程序源代码,但修改后代码版权归软件发起人(我). +本程序官方名称:LindgeBreaker,可以简称LinB.管理员模块:LBAdmin,可以简称LBA. # 其他 有bug尽快提出来!!!我寒假和暑假在线,会改的(希望不要一上线,issue堆满了 我相信,发现这个项目的人,都是机房大佬. -###### SJT 240806更 +###### SJT 240807更