Compare commits

...
36 Commits
Author SHA1 Message Date
PYDT 0e02b56d20 Delete PYAS_Update.txt 2023-06-17 23:05:11 +08:00
PYDT 4e8d99f557 Delete requirements.txt 2023-06-17 23:03:48 +08:00
PYDT f3add6e3e3 Add files via upload 2023-06-17 23:03:01 +08:00
PYDT 32a2a93eb5 Add files via upload 2023-06-17 10:54:32 +08:00
PYDT 0090ee516f Add files via upload 2023-06-15 11:10:00 +08:00
PYDT 42e4e958df Add files via upload 2023-06-14 09:49:54 +08:00
PYDT b6970d1da6 Update README.md 2023-06-13 15:05:50 +08:00
PYDT d7ce6c9a4a Add files via upload 2023-06-13 10:48:48 +08:00
PYDT e6d18cbec8 Update README.md 2023-06-12 15:28:21 +08:00
PYDT 3140f6b19f Update README.md 2023-06-12 15:15:50 +08:00
PYDT b493bf88a8 Add files via upload 2023-06-12 15:04:28 +08:00
PYDT 8877609f2a Add files via upload 2023-06-11 03:25:15 +08:00
PYDT d3e5aa00df Add files via upload 2023-06-10 21:02:20 +08:00
PYDT 2b88f58e58 Add files via upload 2023-06-09 22:25:02 +08:00
PYDT 1f6fd659d5 Add files via upload 2023-06-09 14:46:16 +08:00
PYDT 42583407d0 Add files via upload 2023-06-09 08:17:18 +08:00
PYDT cb6b30f4cf Add files via upload 2023-06-08 22:52:35 +08:00
PYDT 7a372bfbd1 Add files via upload 2023-06-07 20:01:33 +08:00
mtkiao129 adb8763706 Update requirements.txt
add requirements.txt
2023-06-07 19:20:12 +08:00
mtkiao129 ce709408af Delete __pycache__ directory 2023-06-07 19:18:50 +08:00
mtkiao129 d577b58c52 Update PYAS.py
fix some problem
2023-06-07 19:18:30 +08:00
mtkiao129 d939b081ff Update PYAS.py
fix
2023-06-07 19:11:44 +08:00
Mtkiao b029ff0cfb first version 2023-06-07 19:09:15 +08:00
PYDT 2e473e7a65 Add files via upload 2023-06-07 14:53:29 +08:00
PYDT 8b0c2b7815 Add files via upload 2023-06-06 21:29:42 +08:00
PYDT 9eb9f83108 Add files via upload 2023-06-06 16:11:28 +08:00
PYDT d724473bc2 Add files via upload 2023-06-06 00:00:03 +08:00
PYDT ed3dac054a Add files via upload 2023-06-05 17:45:14 +08:00
PYDT 2c7294684f Add files via upload 2023-06-05 14:01:15 +08:00
PYDT 79016437e4 Add files via upload 2023-06-05 13:42:29 +08:00
PYDT 20d8131661 Add files via upload 2023-06-05 13:15:10 +08:00
PYDT 14b6bb18f3 Add files via upload 2023-06-05 13:14:35 +08:00
PYDT c919b2bce3 Add files via upload 2023-06-05 10:55:54 +08:00
PYDT bf4d65b179 Add files via upload 2023-06-05 09:58:00 +08:00
PYDT 6e7a50468b Add files via upload 2023-06-05 09:52:20 +08:00
PYDT fd3c5900b0 Add files via upload 2023-06-04 23:53:43 +08:00
7 changed files with 430 additions and 191 deletions

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
{
"language": "en_US",
"high_sensitivity": 0,
"cloud_services": 1
}
+183 -94
View File
@@ -1,6 +1,6 @@
import os, sys, time, json, psutil
import win32file, win32api, win32con
import ctypes, requests, subprocess
import win32file, win32api, win32con
import xml.etree.ElementTree as ET
from hashlib import md5, sha1, sha256
from pefile import PE, DIRECTORY_ENTRY
@@ -19,27 +19,47 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.setAttribute(Qt.WA_TranslucentBackground)
self.setWindowFlags(Qt.FramelessWindowHint)
self.ui = Ui_MainWindow()
self.create_library()
self.tray_icon_start()
self.ui.setupUi(self)
self.create_library()
self.init_config()
self.init_config_ui()
self.init_config_mbr()
self.init_whitelist()
self.init_tray_icon()
self.setup_control()
self.protect_start()
self.init_protect()
self.showNormal()
def tray_icon_start(self):
def init_tray_icon(self):
self.tray_icon = QSystemTrayIcon(self)
self.tray_icon.setIcon(QIcon("Library/ICON.ico"))
self.tray_icon.setIcon(QFileIconProvider().icon(QFileInfo(self.pyas)))
self.tray_icon.activated.connect(self.showNormal)
self.tray_icon.show()
def protect_start(self):
def init_protect(self):
self.protect_threading_init()
self.protect_threading_init_2()
self.protect_threading_init_3()
self.protect_threading_init_4()
self.protect_threading_init_5()
def init_config(self):
self.Safe = True
self.Virus_Scan = False
self.pyas_opacity = 0
self.ui.Theme_White.setChecked(True)
self.pyas = str(sys.argv[0]).replace("\\", "/")
self.md5_key = self.pyas_key()
self.pyasConfig = self.init_config_json()
self.init_config_lang()
self.init_config_sens()
def writeConfig(self, config):
try:
with open("Library/PYAS.json", "w", encoding="utf-8") as f:
f.write(json.dumps(config, indent=4, ensure_ascii=False))
except Exception as e:
self.pyas_bug_log(e)
def create_library(self):
try:
@@ -52,32 +72,15 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
try:
with open("Library/Whitelist.file", "r", encoding="utf-8") as f:
self.whitelist = [line.strip() for line in f.readlines()]
except Exception as e:
except:
self.whitelist = []
def writeConfig(self, config):
try:
with open("Library/PYAS.json", "w", encoding="utf-8") as f:
f.write(json.dumps(config, indent=4, ensure_ascii=False))
except Exception as e:
self.pyas_bug_log(e)
def init_config(self):
self.Safe = True
self.Virus_Scan = False
self.pyas_opacity = 0
self.pyas = str(sys.argv[0]).replace("\\", "/")
self.mbr_value = self.init_config_mbr()
self.pyasConfig = self.init_config_json()
self.init_config_lang()
self.init_config_sens()
def init_config_mbr(self):
try:
with open(r"\\.\PhysicalDrive0", "r+b") as f:
return f.read(512)
self.mbr_value = f.read(512)
except:
return None
self.mbr_value = None
def init_config_json(self):
if not os.path.exists("Library/PYAS.json"):
@@ -137,12 +140,19 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Protection_switch_Button_2.clicked.connect(self.protect_threading_init_2)
self.ui.Protection_switch_Button_3.clicked.connect(self.protect_threading_init_3)
self.ui.Protection_switch_Button_4.clicked.connect(self.protect_threading_init_4)
self.ui.Protection_switch_Button_5.clicked.connect(self.protect_threading_init_5)
self.ui.high_sensitivity_switch_Button.clicked.connect(self.high_sensitivity_switch)
self.ui.cloud_services_switch_Button.clicked.connect(self.cloud_services_switch)
self.ui.Add_White_list_Button.clicked.connect(self.add_white_list)
self.ui.Language_Traditional_Chinese.clicked.connect(self.Change_language)
self.ui.Language_Simplified_Chinese.clicked.connect(self.Change_language)
self.ui.Language_English.clicked.connect(self.Change_language)
self.ui.Theme_White.clicked.connect(self.Change_Theme)
self.ui.Theme_Black.clicked.connect(self.Change_Theme)
self.ui.Theme_Green.clicked.connect(self.Change_Theme)
self.ui.Theme_Yellow.clicked.connect(self.Change_Theme)
self.ui.Theme_Blue.clicked.connect(self.Change_Theme)
self.ui.Theme_Red.clicked.connect(self.Change_Theme)
def init_config_ui(self):
self.ui.widget_2.lower()
@@ -151,6 +161,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Virus_Scan_choose_widget.raise_()
self.Process_sim = QStringListModel()
self.Process_quantity = []
self.Process_list_all_pid = []
self.Process_Timer = QTimer()
self.Process_Timer.timeout.connect(self.Process_list)
self.ui.License_terms.setText('''Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''')
@@ -175,7 +186,6 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Protection_widget.hide()
self.ui.Virus_Scan_Solve_Button.hide()
self.ui.Virus_Scan_Break_Button.hide()
self.ui.Virus_Scan_ProgressBar.hide()
self.ui.Process_widget.hide()
self.ui.Setting_widget.hide()
self.ui.About_widget.hide()
@@ -203,7 +213,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def lang_init_refresh(self):
self.ui.State_title.setText(self.text_Translate("此裝置已受到防護" if self.Safe else "此裝置當前不安全"))
self.ui.Window_title.setText(self.text_Translate(f"PYAS V{pyas_version} {self.pyas_key()}"))
self.ui.Window_title.setText(self.text_Translate(f"PYAS V{pyas_version} {self.md5_key}"))
self.ui.PYAS_CopyRight.setText(self.text_Translate(f"Copyright© 2020-{max(int(time.strftime('%Y')), 2020)} PYAS Security"))
self.ui.State_Button.setText(self.text_Translate("狀態"))
self.ui.Virus_Scan_Button.setText(self.text_Translate("掃描"))
@@ -217,10 +227,10 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Disk_Scan_Button.setText(self.text_Translate("全盤掃描"))
self.ui.Virus_Scan_Solve_Button.setText(self.text_Translate("立即刪除"))
self.ui.Virus_Scan_Break_Button.setText(self.text_Translate("停止掃描"))
self.ui.Protection_title.setText(self.text_Translate("進程防護"))
self.ui.Protection_illustrate.setText(self.text_Translate("啟用此選項可以監控進程並攔截病毒"))
self.ui.Process_Tools_Back.setText(self.text_Translate("返回"))
self.ui.Process_Total_title.setText(self.text_Translate("進程總數:"))
self.ui.Protection_title.setText(self.text_Translate("進程防護"))
self.ui.Protection_illustrate.setText(self.text_Translate("啟用此選項可以監控進程並攔截病毒"))
self.ui.Protection_switch_Button.setText(self.text_Translate(self.ui.Protection_switch_Button.text()))
self.ui.Protection_title_2.setText(self.text_Translate("檔案防護"))
self.ui.Protection_illustrate_2.setText(self.text_Translate("啟用此選項可以刪除病毒檔案變更"))
@@ -229,8 +239,11 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Protection_illustrate_3.setText(self.text_Translate("啟用此選項可以修復系統引導分區"))
self.ui.Protection_switch_Button_3.setText(self.text_Translate(self.ui.Protection_switch_Button_3.text()))
self.ui.Protection_title_4.setText(self.text_Translate("註冊表防護"))
self.ui.Protection_illustrate_4.setText(self.text_Translate("啟用此選項可以修復系統註冊表"))
self.ui.Protection_illustrate_4.setText(self.text_Translate("啟用此選項可以修復系統註冊表項目"))
self.ui.Protection_switch_Button_4.setText(self.text_Translate(self.ui.Protection_switch_Button_4.text()))
self.ui.Protection_title_5.setText(self.text_Translate("增強防護"))
self.ui.Protection_illustrate_5.setText(self.text_Translate("啟用此選項可以增強系統防護項目"))
self.ui.Protection_switch_Button_5.setText(self.text_Translate(self.ui.Protection_switch_Button_5.text()))
self.ui.State_log.setText(self.text_Translate("日誌:"))
self.ui.More_Tools_Back_Button.setText(self.text_Translate("工具>"))
self.ui.System_Process_Manage_Button.setText(self.text_Translate("系統進程管理"))
@@ -239,7 +252,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Enable_Safe_Mode_Button.setText(self.text_Translate("啟用安全模式"))
self.ui.Disable_Safe_Mode_Button.setText(self.text_Translate("禁用安全模式"))
self.ui.About_Back.setText(self.text_Translate("返回"))
self.ui.PYAS_Version.setText(self.text_Translate(f"PYAS V{pyas_version} (Enhanced Protect Edition)"))
self.ui.PYAS_Version.setText(self.text_Translate(f"PYAS V{pyas_version} {self.md5_key}"))
self.ui.GUI_Made_title.setText(self.text_Translate("介面製作:"))
self.ui.GUI_Made_Name.setText(self.text_Translate("87owo"))
self.ui.Core_Made_title.setText(self.text_Translate("核心製作:"))
@@ -258,10 +271,38 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Add_White_list_illustrate.setText(self.text_Translate("此選項可以選擇檔案並增加到白名單"))
self.ui.Add_White_list_Button.setText(self.text_Translate(self.ui.Add_White_list_Button.text()))
self.ui.Add_White_list_Button.setText(self.text_Translate("選擇"))
self.ui.Theme_title.setText(self.text_Translate("顯色主題"))
self.ui.Theme_illustrate.setText(self.text_Translate("請選擇主題"))
self.ui.Theme_White.setText(self.text_Translate("白色主題"))
self.ui.Theme_Black.setText(self.text_Translate("黑色主題"))
self.ui.Theme_Yellow.setText(self.text_Translate("黃色主題"))
self.ui.Theme_Red.setText(self.text_Translate("紅色主題"))
self.ui.Theme_Green.setText(self.text_Translate("綠色主題"))
self.ui.Theme_Blue.setText(self.text_Translate("藍色主題"))
self.ui.Setting_Back.setText(self.text_Translate("返回"))
self.ui.Language_title.setText(self.text_Translate("顯示語言"))
self.ui.Language_illustrate.setText(self.text_Translate("請選擇語言"))
self.ui.License_terms_title.setText(self.text_Translate("許可條款:"))
def Change_Theme(self):
if self.ui.Theme_White.isChecked():
self.ui.Window_widget.setStyleSheet("""QWidget#Window_widget {background-color:rgb(240,240,240);}""")
self.ui.Navigation_Bar.setStyleSheet("""QWidget#Navigation_Bar {background-color:rgb(230,230,230);}""")
elif self.ui.Theme_Red.isChecked():
self.ui.Window_widget.setStyleSheet("""QWidget#Window_widget {background-color:rgb(255,150,150);}""")
self.ui.Navigation_Bar.setStyleSheet("""QWidget#Navigation_Bar {background-color:rgb(255,140,140);}""")
elif self.ui.Theme_Black.isChecked():
self.ui.Window_widget.setStyleSheet("""QWidget#Window_widget {background-color:rgb(150,150,150);}""")
self.ui.Navigation_Bar.setStyleSheet("""QWidget#Navigation_Bar {background-color:rgb(140,140,140);}""")
elif self.ui.Theme_Green.isChecked():
self.ui.Window_widget.setStyleSheet("""QWidget#Window_widget {background-color:rgb(150,255,150);}""")
self.ui.Navigation_Bar.setStyleSheet("""QWidget#Navigation_Bar {background-color:rgb(130,255,130);}""")
elif self.ui.Theme_Yellow.isChecked():
self.ui.Window_widget.setStyleSheet("""QWidget#Window_widget {background-color:rgb(255,255,150);}""")
self.ui.Navigation_Bar.setStyleSheet("""QWidget#Navigation_Bar {background-color:rgb(240,240,140);}""")
elif self.ui.Theme_Blue.isChecked():
self.ui.Window_widget.setStyleSheet("""QWidget#Window_widget {background-color:rgb(0,200,255);}""")
self.ui.Navigation_Bar.setStyleSheet("""QWidget#Navigation_Bar {background-color:rgb(0,190,255);}""")
def Change_animation(self,widget):
x = 170
@@ -323,15 +364,14 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.opacity.i = 0
def timeout():
if self.opacity.i < 100:
self.opacity.i += 1
self.opacity.i += 2
self.opacity.setOpacity(self.opacity.i/100)
widget.setGraphicsEffect(self.opacity)
else:
self.timer.stop()
self.timer.deleteLater()
self.timer = QTimer()
self.timer.timeout.connect(timeout)
self.timer.start()
self.timer.start(5)
def Change_to_State_widget(self):
if self.ui.State_widget.isHidden():
@@ -409,14 +449,14 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def updateOpacity():
if self.pyas_opacity > 70 and self.m_flag == True:
self.pyas_opacity -= 1
self.setWindowOpacity(self.pyas_opacity / 100)
self.setWindowOpacity(self.pyas_opacity/100)
else:
self.timer.stop()
x = event.x()
y = event.y()
if event.button()==Qt.LeftButton and x >= 10 and x <= 841 and y >= 10 and y <= 49:
self.m_flag=True
self.m_Position=event.globalPos()-self.pos() #獲取鼠標相對窗口的位置
self.m_Position=event.globalPos()-self.pos()
event.accept()
self.timer = QTimer()
self.timer.timeout.connect(updateOpacity)
@@ -425,7 +465,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def mouseMoveEvent(self, QMouseEvent):
try:
if Qt.LeftButton and self.m_flag:
self.move(QMouseEvent.globalPos()-self.m_Position)#更改窗口位置
self.move(QMouseEvent.globalPos()-self.m_Position)
QApplication.processEvents()
QMouseEvent.accept()
except:
@@ -435,7 +475,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def updateOpacity():
if self.pyas_opacity < 100 and self.m_flag == False:
self.pyas_opacity += 1
self.setWindowOpacity(self.pyas_opacity / 100)
self.setWindowOpacity(self.pyas_opacity/100)
else:
self.timer.stop()
self.m_flag=False
@@ -444,7 +484,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.timer.timeout.connect(updateOpacity)
self.timer.start(5)
def paintEvent(self, event):# 圓角
def paintEvent(self, event):
pat2 = QPainter(self)
pat2.setRenderHint(QPainter.Antialiasing)
pat2.setBrush(Qt.white)
@@ -477,13 +517,14 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.system_notification(self.text_Translate("PYAS 已最小化到系統托盤圖標"))
def closeEvent(self, event):
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("您確定要退出 PYAS 和相關防護嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("您確定要退出 PYAS 和所有防護嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
self.proc_protect = False
self.file_protect = False
self.mbr_protect = False
self.reg_protect = False
self.tray_icon.hide()
self.enh_protect = False
self.hideWindow()
self.tray_icon.hide()
app.quit()
event.ignore()
@@ -587,16 +628,35 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
try:
if file != "":
if QMessageBox.warning(self,self.text_Translate("警告"),self.text_Translate("您確定要增加到白名單嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
self.whitelist.append(str(file.replace("\\", "/")))
try:
with open("Library/Whitelist.file", "a+", encoding="utf-8") as f:
f.write(str(file.replace("\\", "/"))+'\n')
QMessageBox.information(self,self.text_Translate("成功"),self.text_Translate(f"成功增加到白名單: ")+str(file.replace("\\", "/")),QMessageBox.Ok)
except:
self.pyas_bug_log('增加到白名單失敗')
if str(file.replace("\\", "/")) not in self.whitelist:
try:
self.whitelist.append(str(file.replace("\\", "/")))
with open("Library/Whitelist.file", "a+", encoding="utf-8") as f:
f.write(str(file.replace("\\", "/"))+'\n')
QMessageBox.information(self,self.text_Translate("成功"),self.text_Translate(f"成功增加到白名單: ")+str(file.replace("\\", "/")),QMessageBox.Ok)
except:
self.pyas_bug_log('增加到白名單失敗')
else:
self.pyas_bug_log('檔案已增加到白名單')
except Exception as e:
self.pyas_bug_log(e)
def system_safe(self):
try:
self.ui.State_icon.setPixmap(QtGui.QPixmap(":/icon/Icon/check.png"))
self.ui.State_title.setText(self.text_Translate("此裝置已受到防護"))
self.Safe = True
except:
pass
def system_unsafe(self):
try:
self.ui.State_icon.setPixmap(QtGui.QPixmap(":/icon/Icon/X2.png"))
self.ui.State_title.setText(self.text_Translate("此裝置當前不安全"))
self.Safe = False
except:
pass
def Virus_Scan_Break(self):
self.Virus_Scan = False
@@ -615,9 +675,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.ui.Virus_Scan_output.setModel(self.Virus_List_output)
self.ui.Virus_Scan_text.setText(self.text_Translate("成功: 刪除成功"))
self.ui.Virus_Scan_Solve_Button.hide()
self.ui.State_icon.setPixmap(QtGui.QPixmap(":/icon/Icon/check.png"))
self.ui.State_title.setText(self.text_Translate("此裝置已受到防護"))
self.Safe = True
self.system_safe()
except Exception as e:
self.pyas_bug_log(e)
@@ -668,19 +726,17 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
if self.Virus_List != []:
self.Virus_List_output.setStringList(self.Virus_List)
self.ui.Virus_Scan_output.setModel(self.Virus_List_output)
self.ui.State_icon.setPixmap(QtGui.QPixmap(":/icon/Icon/X2.png"))
self.ui.State_title.setText(self.text_Translate("此裝置當前不安全"))
self.ui.Virus_Scan_Solve_Button.show()
self.ui.Virus_Scan_choose_Button.show()
self.ui.Virus_Scan_Break_Button.hide()
self.Virus_Scan = False
self.Safe = False
self.system_unsafe()
text = self.text_Translate(f"當前發現 {len(self.Virus_List)} 個病毒")
else:
self.ui.Virus_Scan_Break_Button.hide()
self.ui.Virus_Scan_choose_Button.show()
self.Virus_Scan = False
self.Safe = True
self.system_safe()
text = self.text_Translate("當前未發現病毒")
self.ui.Virus_Scan_text.setText(text)
self.system_notification(text)
@@ -696,7 +752,6 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
self.Virus_List = []
self.ui.Virus_Scan_choose_widget.hide()
self.ui.Virus_Scan_Solve_Button.hide()
self.ui.Virus_Scan_ProgressBar.hide()
self.Virus_List_output=QStringListModel()
self.Virus_List_output.setStringList(self.Virus_List)
self.ui.Virus_Scan_output.setModel(self.Virus_List_output)
@@ -704,7 +759,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
try:
if file != "":
self.Virus_Scan = True
self.ui.Virus_Scan_text.setText(self.text_Translate("正在初始化中..."))
self.ui.Virus_Scan_text.setText(self.text_Translate("正在初始化中"))
self.ui.Virus_Scan_choose_Button.hide()
QApplication.processEvents()
if file not in self.whitelist:
@@ -726,7 +781,6 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def path_scan(self):
self.ui.Virus_Scan_choose_widget.hide()
self.ui.Virus_Scan_Solve_Button.hide()
self.ui.Virus_Scan_ProgressBar.hide()
self.Virus_List = []
self.Virus_List_output=QStringListModel()
self.Virus_List_output.setStringList(self.Virus_List)
@@ -756,7 +810,6 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
QApplication.processEvents()
self.Virus_Scan = True
self.ui.Virus_Scan_Solve_Button.hide()
self.ui.Virus_Scan_ProgressBar.hide()
self.ui.Virus_Scan_choose_Button.hide()
self.ui.Virus_Scan_Break_Button.show()
self.Virus_List = []
@@ -782,7 +835,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
if self.Virus_Scan == False:
self.ui.Virus_Scan_Break_Button.hide()
break
elif ":/$Recycle.Bin" in fullpath or ":/Windows" in fullpath or fullpath in self.whitelist:
elif fullpath in self.whitelist or ":/$Recycle.Bin" in fullpath or ":/Windows" in fullpath:
continue
elif os.path.isdir(fullpath):
self.traverse_path(fullpath,sflist)
@@ -803,18 +856,19 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
try:
if QMessageBox.warning(self,self.text_Translate("修復系統檔案"),self.text_Translate("您確定要修復系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
self.repair_system_wallpaper()
self.repair_system_explorer()
self.repair_system_restrictions()
self.repair_system_file_type()
self.repair_system_img()
self.repair_system_icon()
self.repair_system_explorer()
QMessageBox.information(self,self.text_Translate("完成"),self.text_Translate("修復系統檔案成功"),QMessageBox.Ok)
except Exception as e:
self.pyas_bug_log(e)
def repair_system_icon(self):
try:
file_types = ['exefile', 'comfile', 'txtfile', 'dllfile', 'inifile', 'VBSfile']
for file_type in file_types:
for file_type in ['exefile', 'comfile', 'txtfile', 'dllfile', 'inifile', 'VBSfile']:
time.sleep(0.001)
try:
key = win32api.RegOpenKey(win32con.HKEY_CLASSES_ROOT, file_type, 0, win32con.KEY_ALL_ACCESS)
win32api.RegSetValue(key, 'DefaultIcon', win32con.REG_SZ, '%1')
@@ -834,6 +888,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
count = win32api.RegQueryInfoKey(key)[0]
while count >= 0:
try:
time.sleep(0.001)
subKeyName = win32api.RegEnumKey(key, count)
win32api.RegDeleteKey(key, subKeyName)
except:
@@ -845,16 +900,17 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def repair_system_file_type(self):
try:
data = [('jpegfile', 'JPEG Image'),('.exe', 'exefile'),('exefile', 'Application'),('.com', 'comfile'),('comfile', 'MS-DOS Application'),
('.scr', 'scrfile'),('scrfile', 'Screen saver'),('.zip', 'CompressedFolder'),('.dll', 'dllfile'),('dllfile', 'Application Extension'),
('.sys', 'sysfile'),('sysfile', 'System file'),('.bat', 'batfile'),('batfile', 'Windows Batch File'),('VBS', 'VB Script Language'),
('VBSfile', 'VBScript Script File'),('.txt', 'txtfile'),('txtfile', 'Text Document'),('.ini', 'inifile'),
('inifile', 'Configuration Settings'),('.msc', 'MSCfile'),('MSCfile', 'Microsoft Common Console Document')]
('.zip', 'CompressedFolder'),('.dll', 'dllfile'),('dllfile', 'Application Extension'),('.sys', 'sysfile'),('sysfile', 'System file'),
('.bat', 'batfile'),('batfile', 'Windows Batch File'),('VBS', 'VB Script Language'),('VBSfile', 'VBScript Script File'),
('.txt', 'txtfile'),('txtfile', 'Text Document'),('.ini', 'inifile'),('inifile', 'Configuration Settings')]
key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, 'SOFTWARE\Classes', 0, win32con.KEY_ALL_ACCESS)# HKEY_LOCAL_MACHINE
for ext, value in data:
time.sleep(0.001)
win32api.RegSetValue(key, ext, win32con.REG_SZ, value)
win32api.RegCloseKey(key)
key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, 'SOFTWARE\Classes', 0, win32con.KEY_ALL_ACCESS)# HKEY_CURRENT_USER
for ext, value in data:
time.sleep(0.001)
win32api.RegSetValue(key, ext, win32con.REG_SZ, value)
try:
keyopen = win32api.RegOpenKey(key, ext + r'\shell\open', 0, win32con.KEY_ALL_ACCESS)
@@ -866,10 +922,12 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts', 0, win32con.KEY_ALL_ACCESS)# HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts
extensions = ['.exe', '.zip', '.dll', '.sys', '.bat', '.txt', '.msc']
for ext in extensions:
time.sleep(0.001)
win32api.RegSetValue(key, ext, win32con.REG_SZ, '')
win32api.RegCloseKey(key)
key = win32api.RegOpenKey(win32con.HKEY_CLASSES_ROOT, None, 0, win32con.KEY_ALL_ACCESS)# HKEY_CLASSES_ROOT
for ext, value in data:
time.sleep(0.001)
win32api.RegSetValue(key, ext, win32con.REG_SZ, value)
if ext in ['.cmd', '.vbs']:
win32api.RegSetValue(key, ext + 'file', win32con.REG_SZ, 'Windows Command Script')
@@ -885,7 +943,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def repair_system_restrictions(self):
try:
Permission = ["NoControlPanel", "NoDrives", "NoControlPanel", "NoFileMenu", "NoFind", "NoRealMode", "NoRecentDocsMenu","NoSetFolders",
Permission = ["NoControlPanel", "NoDrives", "NoFileMenu", "NoFind", "NoRealMode", "NoRecentDocsMenu","NoSetFolders",
"NoSetFolderOptions", "NoViewOnDrive", "NoClose", "NoRun", "NoDesktop", "NoLogOff", "NoFolderOptions", "RestrictRun","DisableCMD",
"NoViewContexMenu", "HideClock", "NoStartMenuMorePrograms", "NoStartMenuMyGames", "NoStartMenuMyMusic" "NoStartMenuNetworkPlaces",
"NoStartMenuPinnedList", "NoActiveDesktop", "NoSetActiveDesktop", "NoActiveDesktopChanges", "NoChangeStartMenu", "ClearRecentDocsOnExit",
@@ -912,6 +970,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
for key in keys:
for i in Permission:
try:
time.sleep(0.001)
win32api.RegDeleteValue(key,i)
except:
pass
@@ -940,11 +999,29 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def Clean_System_Files(self):
try:
if QMessageBox.warning(self,self.text_Translate("清理系統檔案"),self.text_Translate("您確定要清理系統檔案嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
subprocess.run("cleanmgr", check=True)
if QMessageBox.warning(self,self.text_Translate("清理系統垃圾"),self.text_Translate("您確定要清理系統垃圾嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
self.total_deleted_size = 0
self.traverse_temp_files(f"C:/Users/{os.getlogin()}/AppData/Local/Temp")
self.traverse_temp_files(f"C:/Windows/Temp")
self.traverse_temp_files(f"C:/$Recycle.Bin")
QMessageBox.information(self,self.text_Translate("完成"),self.text_Translate(f"成功清理了 {self.total_deleted_size} 位元的系統垃圾"),QMessageBox.Ok)
except Exception as e:
self.pyas_bug_log(e)
def traverse_temp_files(self, path):
for fd in os.listdir(path):
try:
fullpath = str(os.path.join(path,fd)).replace("\\", "/")
QApplication.processEvents()
if os.path.isdir(fullpath):
self.traverse_temp_files(fullpath)
else:
file_size = os.path.getsize(fullpath)
os.remove(fullpath)
self.total_deleted_size += file_size
except:
continue
def Enable_Safe_Mode(self):
try:
if QMessageBox.warning(self,self.text_Translate("啟用安全模式"),self.text_Translate("您確定要啟用安全模式嗎?"),QMessageBox.Yes|QMessageBox.No) == 16384:
@@ -970,22 +1047,18 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def Process_list(self):
try:
self.Process_list_app = []
self.Process_list_app_exe = []
self.Process_list_app_pid = []
self.Process_list_app_name = []
self.Process_list_app_user = []
for p in psutil.process_iter():
self.Process_list_iter = psutil.process_iter()
for p in self.Process_list_iter:
try:
self.Process_list_app.append(f"{p.name()} ({p.pid}) > {p.exe()}")
self.Process_list_app_pid.append(p.pid)
self.Process_list_app_exe.append(p.exe())
self.Process_list_app_name.append(p.name())
self.Process_list_app_user.append(p.username())
QApplication.processEvents()
except:
pass
if len(self.Process_list_app_name) != self.Process_quantity:
self.Process_quantity = len(self.Process_list_app_name)
self.Process_list_all_pid = self.Process_list_app_pid
if len(self.Process_list_app_pid) != self.Process_quantity:
self.Process_quantity = len(self.Process_list_app_pid)
self.ui.Process_Total_View.setText(str(self.Process_quantity))
self.Process_sim.setStringList(self.Process_list_app)
self.ui.Process_list.setModel(self.Process_sim)
@@ -994,17 +1067,12 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def Process_list_Menu(self,pos):
try:
self.item = self.ui.Process_list.selectedIndexes()
for i in self.item:
item = i.row()
self.pid = self.Process_list_app_pid[item]
self.exefile = self.Process_list_app_exe[item]
self.exename = self.Process_list_app_name[item]
for i in self.ui.Process_list.selectedIndexes():
self.pid = self.Process_list_all_pid[i.row()]
self.Process_popMenu = QMenu()
self.kill_Process = QAction(self.text_Translate("結束進程"),self)
self.Process_popMenu.addAction(self.kill_Process)
ques = self.Process_popMenu.exec_(self.ui.Process_list.mapToGlobal(pos))
if ques == self.kill_Process:
if self.Process_popMenu.exec_(self.ui.Process_list.mapToGlobal(pos)) == self.kill_Process:
for p in psutil.process_iter():
if p.pid == self.pid:
p.kill()
@@ -1077,13 +1145,29 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
QPushButton:hover{background-color:rgba(20,200,20,120);}""")
Thread(target=self.protect_system_reg_repair).start()
def protect_threading_init_5(self):
if self.ui.Protection_switch_Button_5.text() == self.text_Translate("已開啟"):
self.enh_protect = False
self.ui.Protection_switch_Button_5.setText(self.text_Translate("已關閉"))
self.ui.Protection_switch_Button_5.setStyleSheet("""
QPushButton{border:none;background-color:rgba(20,20,20,30);border-radius: 15px;}
QPushButton:hover{background-color:rgba(20,20,20,50);}""")
self.system_notification(self.text_Translate("增強防護已關閉"))
else:
self.enh_protect = True
self.ui.Protection_switch_Button_5.setText(self.text_Translate("已開啟"))
self.ui.Protection_switch_Button_5.setStyleSheet("""
QPushButton{border:none;background-color:rgba(20,200,20,100);border-radius: 15px;}
QPushButton:hover{background-color:rgba(20,200,20,120);}""")
Thread(target=self.protect_system_enhanced).start()
def protect_system_processes(self):
while self.proc_protect:
for p in psutil.process_iter():
try:
time.sleep(0.001)
file, name = str(p.exe()).replace("\\", "/"), str(p.name())
if self.pyas == file or ":/Windows" in file or ":/Program" in file or "AppData" in file or file in self.whitelist:
if self.pyas == file or file in self.whitelist or ":/Windows" in file or ":/Program" in file or "AppData" in file:
continue
elif self.high_sensitivity == 0:
if self.api_scan(file):
@@ -1112,12 +1196,12 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
try:
for action, file in win32file.ReadDirectoryChangesW(hDir,1024,True,win32con.FILE_NOTIFY_CHANGE_FILE_NAME|win32con.FILE_NOTIFY_CHANGE_DIR_NAME|win32con.FILE_NOTIFY_CHANGE_ATTRIBUTES|win32con.FILE_NOTIFY_CHANGE_SIZE|win32con.FILE_NOTIFY_CHANGE_LAST_WRITE|win32con.FILE_NOTIFY_CHANGE_SECURITY,None,None):
file = str(f"{path}{file}").replace("\\", "/")
if pyas == file or ":/$Recycle.Bin" in file or ":/Windows" in file or ":/Program" in file or file in self.whitelist:
if self.pyas == file or file in self.whitelist or ":/$Recycle.Bin" in file or ":/Windows" in file:
continue
elif action and str(os.path.splitext(file)[1]).lower() in sflist:
if self.sign_scan(file) and self.api_scan(file):
os.remove(file)
self.system_notification(self.text_Translate("病毒刪除: ")+file)
self.system_notification(self.text_Translate("惡意軟體刪除: ")+file)
except:
pass
@@ -1136,8 +1220,13 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
def protect_system_reg_repair(self):
while self.reg_protect:
try:
time.sleep(0.5)
self.repair_system_restrictions()
except:
pass
def protect_system_enhanced(self):
while self.enh_protect:
try:
self.repair_system_file_type()
self.repair_system_img()
self.repair_system_icon()
@@ -1145,7 +1234,7 @@ class MainWindow_Controller(QtWidgets.QMainWindow):
pass
if __name__ == '__main__':
pyas_version = "2.7.0"
pyas_version = "2.7.3"
QtCore.QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
QtGui.QGuiApplication.setAttribute(Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
app = QtWidgets.QApplication(sys.argv)
+22 -34
View File
@@ -1,10 +1,9 @@
translations = {"zh_TW": {"已开启":"已開啟","已关闭":"已關閉","On":"已開啟","Off":"已關閉"},
"zh_CN": {"已開啟":"已开启","已關閉":"已关闭","On":"已开启","Off":"已关闭",
"軟體":"软件","檔案":"文件","確定":"确认","設定":"设置","關於":"关于",
"錯誤":"错误","實時":"实时","發現":"发现","本機":"电脑","資料":"数据",
"誤殺":"误杀","開發":"开发","關閉":"关闭","資訊":"资讯","裝置":"设备",
"錯誤":"错误","實時":"实时","發現":"发现","關閉":"关闭","裝置":"设备",
"總數":"总数","註冊":"注册","圖標":"图标","路徑":"路径","網路":"网络",
"編輯":"编辑","增":"增","單":"单","簽":"签","無":"无","關":"关","權":"权",
"位元":"字节","增":"增","單":"单","簽":"签","無":"无","關":"关",
"項":"项","掃":"扫","試":"试","黃":"黄","嗎":"吗","防":"保","鑰":"钥",
"當":"当","後":"后","護":"护","導":"导","區":"区","復":"复","攔":"拦",
"請":"请","統":"统","刪":"删","進":"进","個":"个","選":"选","啟":"启",
@@ -13,47 +12,36 @@ translations = {"zh_TW": {"已开启":"已開啟","已关闭":"已關閉","On":"
"顯":"显","變":"变","戶":"户","碼":"码","雲":"云","訂":"订","稱":"称",
"類":"类","輸":"输","執":"执","數":"数","尋":"寻","網":"网","詢":"询",
"製":"制","員":"员","許":"许","條":"条","藍":"蓝","紅":"红","綠":"绿",
"態":"态","擇":"择","務":"务","連":"连","檢":"检","測":"测","庫":"库"},
"態":"态","務":"务","連":"连","檢":"检","測":"测","強":"强"},
"en_US": {"已開啟":"On","已關閉":"Off","已开启":"On","已关闭":"Off",",":", ",
"立即刪除":"Delete Now","安全模式":"Safe Mode","官方網站":"Website",
"許可條款":"License Terms","可疑":"Suspicious ","惡意軟體":"Malware ",
"啟用":"Enable ","禁用":"Disable ","正在初始化中":"Initializing ",
"正在掃描":"Scanning ","正在檢測":"Checking ","正在尋找":"Searching ",
"正在刪除":"Deleting ","立即刪除":"Delete Now","安全模式":"Safe Mode",
"最小化到":"Minimize To ","可疑":"Suspicious ","惡意軟體":"Malware ",
"確定要":"Sure Want To ","官方網站":"Website","許可條款":"License Terms",
"正在掃描":"Scanning ","正在刪除":"Deleting ","最小化到":"Minimize To ",
"確定要":"Sure Want To ","靈敏度":"Sensitivity ","更新":"Update",
"白色主題":"White","黑色主題":"Black","黃色主題":"Yellow","紅色主題":"Red",
"藍色主題":"Blue","綠色主題":"Green","語言":"Language ","製作":"Make",
"測試人員":"Testers","版本資訊":"Information","提示字元":"Prompt",
"靈敏度":"Sensitivity ","位置查詢":"Location Query","無效簽名":"Unsign ",
"註冊表":"Registry ","編輯器":"Editor","實時":"Real-Time ","退出":"Quit ",
"測試人員":"Testers","版本資訊":"Information","無效簽名":"Unsign ",
"註冊表":"Registry ","退出":"Quit ","檔案":"File ","當前":"Currently ",
"狀態":"State ","掃描":"Scan ","工具":"Tools ","防護":"Protect ",
"輸入的":"Input ","不是有效":"Is Not A Valid ","命令":"Command ",
"創建":"Create ","日期":"Date ","檔案":"File ","當前":"Currently ",
"失敗":"Failed ","請":"Please ","路徑":"Path ","方式":"Method ",
"需要":"Need ","病毒":"Virus ","選擇":"Select ","返回":"Back",
"找到":"Find ","受到":"Been ","錯誤":"Error","完成":"Complete ",
"托盤":"Tray ","圖標":"Icon ","不安全":"Unsafe","引擎":"Engine ",
"受到":"Been ","錯誤":"Error","完成":"Complete ","引擎":"Engine ",
"托盤":"Tray ","圖標":"Icon ","不安全":"Unsafe","增強":"Enhanced ",
"系統":"System ","雲端":"Cloud ","重啟":"Reboot ","修復":"Repair ",
"裝置":"Device ","發現":"Found ","成功":"Success ","清理":"Cleanup ",
"確定":"OK","執行":"Execute ","警告":"Warning ","搜尋":"Search ",
"修改":"Modify ","用戶":"User ","使用":"Use ","哈希":"Hashes",
"更多":"More","重置":"Reset ","網路":"Network ","配置":"Config ",
"確定":"OK","執行":"Execute ","警告":"Warning ","使用":"Use ",
"網路":"Network ","變更":"Change ","總數":"Total","結束":"End ",
"選項":"Options ","監控":"Monitor ","連接":"Connect ","可以":"To ",
"進程":"Process ","攔截":"Block ","引導":"Boot ","刪除":"Delete ",
"分區":"Partition ","設定":"Settings","關於":"About ","模式":"Mode ",
"分區":"Partition ","設定":"Settings","關於":"About","模式":"Mode ",
"提高":"Improve ","安全":"Security ","顯色":"Color ","主題":"Themes ",
"風險":"Risk ","介面":"GUI ","核心":"Core ","服務":"Services ",
"隱私":"Privacy ","更多":"More ","開發":"Devs ","管理":"Manage",
"粉碎":"Shredding","自訂":"Customize ","分析":"Analyze ","函數":"Func",
"垃圾":"Junk ","輸出":"Output ","位元":"Bits","本機":"Computer ",
"變更":"Change ","總數":"Total","結束":"End ","文字":"Text",
"加密":"Encrypt ","解密":"Decrypt ","類型":"Type","資料":"Data",
"更新":"Update","規則":"Rules","密碼":"Password ","相關":"Related ",
"全盤":"Full ","日誌":"Log","停止":"Stop ","權限":"Permissions ",
"增加到":"Add File To ","白名單":"White List ","黑名單":"Black List ",
"增加":"Add","移除":"Delete",
"前":"Before","後":"After","名":"Name","開啟":"Open ","您":"You ",
"值":"Value ","此":"This ","但":"But ","並":"And ","嗎":"",
"高":"High ","新":"New ","是":"Is ","和":"And ","會":"Can ",
"到":"For ","未":"Not ","已":"Has ","個":"","顯示":"","的":"",
"不正確":"Incorrect ","軟體":"Software ","密鑰":"Key ","立即":"",
"項目":"Items ","生成":"Create ","中":"","行":"","稱":""," ":" "}}
"管理":"Manage","所有":"All ","全盤":"Full ","日誌":"Log",
"垃圾":"Junk ","位元":"byte ","本機":"Computer ","停止":"Stop ",
"增加到":"Add File To ","白名單":"White List ","軟體":"Software ",
"增加":"Add","移除":"Delete","項目":"Items ","生成":"Create ",
"開啟":"Open ","您":"You ","此":"This ","並":"And ","未":"Not ",
"高":"High ","新":"New ","和":"And ","會":"Can ","密鑰":"Key ",
"已":"Has ","立即":"","顯示":"","個":"","的":"","嗎":"","中":"",
"了":"","行":"","稱":""," ":" "}}
+1 -1
View File
@@ -1 +1 @@
function_list = [['_CorExeMain'], ['GetProcessHeap', 'RtlUnwind', 'RaiseException', 'HeapSize', 'TerminateProcess', 'UnhandledExceptionFilter', 'SetUnhandledExceptionFilter', 'IsDebuggerPresent', 'HeapDestroy', 'HeapCreate', 'VirtualFree', 'Sleep', 'GetStdHandle', 'GetTimeZoneInformation', 'GetACP', 'SetHandleCount', 'GetFileType', 'GetStartupInfoA', 'GetCommandLineA', 'GetEnvironmentStrings', 'FreeEnvironmentStringsW', 'GetEnvironmentStringsW', 'QueryPerformanceCounter', 'GetSystemTimeAsFileTime', 'LCMapStringA', 'LCMapStringW', 'GetConsoleCP', 'GetConsoleMode', 'GetStringTypeA', 'GetStringTypeW', 'SetStdHandle', 'WriteConsoleA', 'GetConsoleOutputCP', 'WriteConsoleW', 'GetDateFormatA', 'GetTimeFormatA', 'GetDriveTypeA', 'SetEnvironmentVariableA', 'HeapReAlloc', 'VirtualAlloc', 'SetCurrentDirectoryA', 'HeapAlloc', 'HeapFree', 'GetTickCount', 'GetCurrentDirectoryA', 'LocalFileTimeToFileTime', 'CreateFileA', 'GetShortPathNameA', 'GetVolumeInformationA', 'GetCurrentProcess', 'DuplicateHandle', 'GetFileSize', 'SetEndOfFile', 'UnlockFile', 'LockFile', 'FlushFileBuffers', 'SetFilePointer', 'WriteFile', 'ReadFile', 'DeleteFileA', 'MoveFileA', 'GetOEMCP', 'GetCPInfo', 'InterlockedIncrement', 'SystemTimeToFileTime', 'GetThreadLocale', 'GlobalFlags', 'TlsFree', 'DeleteCriticalSection', 'LocalReAlloc', 'TlsSetValue', 'TlsAlloc', 'InitializeCriticalSection', 'GlobalHandle', 'GlobalReAlloc', 'EnterCriticalSection', 'TlsGetValue', 'LeaveCriticalSection', 'LocalAlloc', 'CloseHandle', 'GetPrivateProfileStringA', 'WritePrivateProfileStringA', 'GetPrivateProfileIntA', 'GetCurrentProcessId', 'GetCurrentThread', 'ConvertDefaultLocale', 'GetModuleFileNameA', 'EnumResourceLanguagesA', 'GetLocaleInfoA', 'lstrcmpA', 'GetDiskFreeSpaceA', 'GetFullPathNameA', 'GetTempFileNameA', 'GetFileTime', 'SetFileTime', 'GetFileAttributesA', 'FreeResource', 'GetCurrentThreadId', 'GlobalGetAtomNameA', 'GlobalAddAtomA', 'GlobalFindAtomA', 'GlobalDeleteAtom', 'lstrcmpW', 'GetVersionExA', 'GlobalFree', 'GlobalAlloc', 'FormatMessageA', 'LocalFree', 'GlobalLock', 'GlobalUnlock', 'MulDiv', 'FindFirstFileA', 'FileTimeToLocalFileTime', 'FileTimeToSystemTime', 'FindNextFileA', 'FindClose', 'FreeLibrary', 'InterlockedDecrement', 'LockResource', 'SizeofResource', 'LoadResource', 'FindResourceA', 'ExitProcess', 'GetVersion', 'CompareStringA', 'GetModuleHandleA', 'LoadLibraryA', 'GetProcAddress', 'lstrcmpiA', 'SetLastError', 'GetLastError', 'InterlockedExchange', 'GetStringTypeExA', 'MultiByteToWideChar', 'CompareStringW', 'WideCharToMultiByte', 'lstrlenA', 'FreeEnvironmentStringsA', 'GetComputerNameA', 'CopyAcceleratorTableA', 'CreateMenu', 'PostThreadMessageA', 'GetTabbedTextExtentA', 'RegisterClipboardFormatA', 'GetSysColorBrush', 'UnregisterClassA', 'LoadCursorA', 'DestroyCursor', 'SetCursorPos', 'SetCapture', 'RedrawWindow', 'InflateRect', 'UnpackDDElParam', 'ReuseDDElParam', 'LoadMenuA', 'DestroyMenu', 'ReleaseCapture', 'LoadAcceleratorsA', 'InsertMenuItemA', 'CreatePopupMenu', 'BringWindowToTop', 'SetMenu', 'TranslateAcceleratorA', 'IsZoomed', 'WindowFromPoint', 'KillTimer', 'SetTimer', 'SetRect', 'SetParent', 'GetSystemMenu', 'DeleteMenu', 'SetRectEmpty', 'IsRectEmpty', 'GetDesktopWindow', 'CreateDialogIndirectParamA', 'GetNextDlgTabItem', 'EndDialog', 'GetMessageA', 'TranslateMessage', 'GetActiveWindow', 'GetCursorPos', 'ValidateRect', 'GetWindowThreadProcessId', 'ShowOwnedPopups', 'SetCursor', 'PostQuitMessage', 'IsWindowEnabled', 'SetWindowTextA', 'IsDialogMessageA', 'SetDlgItemTextA', 'RegisterWindowMessageA', 'LoadIconA', 'SendDlgItemMessageA', 'WinHelpA', 'GetCapture', 'SetWindowsHookExA', 'CallNextHookEx', 'GetClassNameA', 'SetPropA', 'GetPropA', 'RemovePropA', 'SetFocus', 'GetWindowTextLengthA', 'GetWindowTextA', 'GetLastActivePopup', 'SetActiveWindow', 'DispatchMessageA', 'BeginDeferWindowPos', 'EndDeferWindowPos', 'GetDlgItem', 'GetTopWindow', 'DestroyWindow', 'GetMessageTime', 'GetMessagePos', 'PeekMessageA', 'MapWindowPoints', 'ScrollWindow', 'TrackPopupMenu', 'GetKeyState', 'SetScrollRange', 'GetScrollRange', 'SetScrollPos', 'GetScrollPos', 'SetForegroundWindow', 'ShowScrollBar', 'IsWindowVisible', 'GetMenu', 'PostMessageA', 'MessageBoxA', 'CreateWindowExA', 'GetClassInfoExA', 'GetClassInfoA', 'RegisterClassA', 'EqualRect', 'DeferWindowPos', 'GetScrollInfo', 'SetScrollInfo', 'PtInRect', 'DefWindowProcA', 'CallWindowProcA', 'SetWindowPos', 'OffsetRect', 'IntersectRect', 'SystemParametersInfoA', 'GetWindowPlacement', 'GetWindowRect', 'GetSystemMetrics', 'GetWindow', 'GetMenuStringA', 'AppendMenuA', 'GetMenuItemID', 'InsertMenuA', 'GetMenuItemCount', 'GetSubMenu', 'RemoveMenu', 'GetSysColor', 'EndPaint', 'BeginPaint', 'GetWindowDC', 'ClientToScreen', 'ScreenToClient', 'GrayStringA', 'DrawTextExA', 'DrawTextA', 'TabbedTextOutA', 'FillRect', 'SetWindowRgn', 'DrawIcon', 'FindWindowA', 'LockWindowUpdate', 'GetDCEx', 'DestroyIcon', 'GetClassLongA', 'GetMenuItemInfoA', 'GetDlgCtrlID', 'IsChild', 'InvalidateRect', 'IsIconic', 'AdjustWindowRectEx',Line truncated
function_list = [['_CorExeMain'], ['GetProcessHeap', 'RtlUnwind', 'RaiseException', 'HeapSize', 'TerminateProcess', 'UnhandledExceptionFilter', 'SetUnhandledExceptionFilter', 'IsDebuggerPresent', 'HeapDestroy', 'HeapCreate', 'VirtualFree', 'Sleep', 'GetStdHandle', 'GetTimeZoneInformation', 'GetACP', 'SetHandleCount', 'GetFileType', 'GetStartupInfoA', 'GetCommandLineA', 'GetEnvironmentStrings', 'FreeEnvironmentStringsW', 'GetEnvironmentStringsW', 'QueryPerformanceCounter', 'GetSystemTimeAsFileTime', 'LCMapStringA', 'LCMapStringW', 'GetConsoleCP', 'GetConsoleMode', 'GetStringTypeA', 'GetStringTypeW', 'SetStdHandle', 'WriteConsoleA', 'GetConsoleOutputCP', 'WriteConsoleW', 'GetDateFormatA', 'GetTimeFormatA', 'GetDriveTypeA', 'SetEnvironmentVariableA', 'HeapReAlloc', 'VirtualAlloc', 'SetCurrentDirectoryA', 'HeapAlloc', 'HeapFree', 'GetTickCount', 'GetCurrentDirectoryA', 'LocalFileTimeToFileTime', 'CreateFileA', 'GetShortPathNameA', 'GetVolumeInformationA', 'GetCurrentProcess', 'DuplicateHandle', 'GetFileSize', 'SetEndOfFile', 'UnlockFile', 'LockFile', 'FlushFileBuffers', 'SetFilePointer', 'WriteFile', 'ReadFile', 'DeleteFileA', 'MoveFileA', 'GetOEMCP', 'GetCPInfo', 'InterlockedIncrement', 'SystemTimeToFileTime', 'GetThreadLocale', 'GlobalFlags', 'TlsFree', 'DeleteCriticalSection', 'LocalReAlloc', 'TlsSetValue', 'TlsAlloc', 'InitializeCriticalSection', 'GlobalHandle', 'GlobalReAlloc', 'EnterCriticalSection', 'TlsGetValue', 'LeaveCriticalSection', 'LocalAlloc', 'CloseHandle', 'GetPrivateProfileStringA', 'WritePrivateProfileStringA', 'GetPrivateProfileIntA', 'GetCurrentProcessId', 'GetCurrentThread', 'ConvertDefaultLocale', 'GetModuleFileNameA', 'EnumResourceLanguagesA', 'GetLocaleInfoA', 'lstrcmpA', 'GetDiskFreeSpaceA', 'GetFullPathNameA', 'GetTempFileNameA', 'GetFileTime', 'SetFileTime', 'GetFileAttributesA', 'FreeResource', 'GetCurrentThreadId', 'GlobalGetAtomNameA', 'GlobalAddAtomA', 'GlobalFindAtomA', 'GlobalDeleteAtom', 'lstrcmpW', 'GetVersionExA', 'GlobalFree', 'GlobalAlloc', 'FormatMessageA', 'LocalFree', 'GlobalLock', 'GlobalUnlock', 'MulDiv', 'FindFirstFileA', 'FileTimeToLocalFileTime', 'FileTimeToSystemTime', 'FindNextFileA', 'FindClose', 'FreeLibrary', 'InterlockedDecrement', 'LockResource', 'SizeofResource', 'LoadResource', 'FindResourceA', 'ExitProcess', 'GetVersion', 'CompareStringA', 'GetModuleHandleA', 'LoadLibraryA', 'GetProcAddress', 'lstrcmpiA', 'SetLastError', 'GetLastError', 'InterlockedExchange', 'GetStringTypeExA', 'MultiByteToWideChar', 'CompareStringW', 'WideCharToMultiByte', 'lstrlenA', 'FreeEnvironmentStringsA', 'GetComputerNameA', 'CopyAcceleratorTableA', 'CreateMenu', 'PostThreadMessageA', 'GetTabbedTextExtentA', 'RegisterClipboardFormatA', 'GetSysColorBrush', 'UnregisterClassA', 'LoadCursorA', 'DestroyCursor', 'SetCursorPos', 'SetCapture', 'RedrawWindow', 'InflateRect', 'UnpackDDElParam', 'ReuseDDElParam', 'LoadMenuA', 'DestroyMenu', 'ReleaseCapture', 'LoadAcceleratorsA', 'InsertMenuItemA', 'CreatePopupMenu', 'BringWindowToTop', 'SetMenu', 'TranslateAcceleratorA', 'IsZoomed', 'WindowFromPoint', 'KillTimer', 'SetTimer', 'SetRect', 'SetParent', 'GetSystemMenu', 'DeleteMenu', 'SetRectEmpty', 'IsRectEmpty', 'GetDesktopWindow', 'CreateDialogIndirectParamA', 'GetNextDlgTabItem', 'EndDialog', 'GetMessageA', 'TranslateMessage', 'GetActiveWindow', 'GetCursorPos', 'ValidateRect', 'GetWindowThreadProcessId', 'ShowOwnedPopups', 'SetCursor', 'PostQuitMessage', 'IsWindowEnabled', 'SetWindowTextA', 'IsDialogMessageA', 'SetDlgItemTextA', 'RegisterWindowMessageA', 'LoadIconA', 'SendDlgItemMessageA', 'WinHelpA', 'GetCapture', 'SetWindowsHookExA', 'CallNextHookEx', 'GetClassNameA', 'SetPropA', 'GetPropA', 'RemovePropA', 'SetFocus', 'GetWindowTextLengthA', 'GetWindowTextA', 'GetLastActivePopup', 'SetActiveWindow', 'DispatchMessageA', 'BeginDeferWindowPos', 'EndDeferWindowPos', 'GetDlgItem', 'GetTopWindow', 'DestroyWindow', 'GetMessageTime', 'GetMessagePos', 'PeekMessageA', 'MapWindowPoints', 'ScrollWindow', 'TrackPopupMenu', 'GetKeyState', 'SetScrollRange', 'GetScrollRange', 'SetScrollPos', 'GetScrollPos', 'SetForegroundWindow', 'ShowScrollBar', 'IsWindowVisible', 'GetMenu', 'PostMessageA', 'MessageBoxA', 'CreateWindowExA', 'GetClassInfoExA', 'GetClassInfoA', 'RegisterClassA', 'EqualRect', 'DeferWindowPos', 'GetScrollInfo', 'SetScrollInfo', 'PtInRect', 'DefWindowProcA', 'CallWindowProcA', 'SetWindowPos', 'OffsetRect', 'IntersectRect', 'SystemParametersInfoA', 'GetWindowPlacement', 'GetWindowRect', 'GetSystemMetrics', 'GetWindow', 'GetMenuStringA', 'AppendMenuA', 'GetMenuItemID', 'InsertMenuA', 'GetMenuItemCount', 'GetSubMenu', 'RemoveMenu', 'GetSysColor', 'EndPaint', 'BeginPaint', 'GetWindowDC', 'ClientToScreen', 'ScreenToClient', 'GrayStringA', 'DrawTextExA', 'DrawTextA', 'TabbedTextOutA', 'FillRect', 'SetWindowRgn', 'DrawIcon', 'FindWindowA', 'LockWindowUpdate', 'GetDCEx', 'DestroyIcon', 'GetClassLongA', 'GetMenuItemInfoA', 'GetDlgCtrlID', 'IsChild', 'InvalidateRect', 'IsIconic', 'AdjustWindowRectEx',Line truncated
+214 -56
View File
@@ -1,5 +1,8 @@
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys, PYAS_UI_rc
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
@@ -11,8 +14,7 @@ class Ui_MainWindow(object):
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
MainWindow.setFont(font)
MainWindow.setFocusPolicy(QtCore.Qt.TabFocus)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("Library/ICON.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
icon = QtGui.QIcon(QFileIconProvider().icon(QFileInfo(str(sys.argv[0]))))
MainWindow.setWindowIcon(icon)
MainWindow.setIconSize(QtCore.QSize(24, 24))
MainWindow.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
@@ -38,13 +40,13 @@ class Ui_MainWindow(object):
self.Protection_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Protection_widget.setObjectName("Protection_widget")
self.Real_time_Protection_widget = QtWidgets.QWidget(self.Protection_widget)
self.Real_time_Protection_widget.setGeometry(QtCore.QRect(40, 20, 591, 111))
self.Real_time_Protection_widget.setGeometry(QtCore.QRect(40, 10, 591, 91))
self.Real_time_Protection_widget.setAcceptDrops(False)
self.Real_time_Protection_widget.setLayoutDirection(QtCore.Qt.RightToLeft)
self.Real_time_Protection_widget.setAutoFillBackground(False)
self.Real_time_Protection_widget.setObjectName("Real_time_Protection_widget")
self.Protection_title = QtWidgets.QLabel(self.Real_time_Protection_widget)
self.Protection_title.setGeometry(QtCore.QRect(10, 10, 461, 51))
self.Protection_title.setGeometry(QtCore.QRect(10, 10, 461, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
@@ -54,7 +56,7 @@ class Ui_MainWindow(object):
self.Protection_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Protection_title.setObjectName("Protection_title")
self.Protection_illustrate = QtWidgets.QLabel(self.Real_time_Protection_widget)
self.Protection_illustrate.setGeometry(QtCore.QRect(10, 60, 461, 41))
self.Protection_illustrate.setGeometry(QtCore.QRect(10, 50, 461, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
@@ -66,7 +68,7 @@ class Ui_MainWindow(object):
self.Protection_illustrate.setWordWrap(True)
self.Protection_illustrate.setObjectName("Protection_illustrate")
self.Protection_switch_Button = QtWidgets.QPushButton(self.Real_time_Protection_widget)
self.Protection_switch_Button.setGeometry(QtCore.QRect(490, 40, 91, 31))
self.Protection_switch_Button.setGeometry(QtCore.QRect(490, 30, 91, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -92,13 +94,13 @@ class Ui_MainWindow(object):
self.Protection_switch_Button.setCheckable(False)
self.Protection_switch_Button.setObjectName("Protection_switch_Button")
self.Real_time_Protection_widget_2 = QtWidgets.QWidget(self.Protection_widget)
self.Real_time_Protection_widget_2.setGeometry(QtCore.QRect(40, 130, 591, 111))
self.Real_time_Protection_widget_2.setGeometry(QtCore.QRect(40, 100, 591, 91))
self.Real_time_Protection_widget_2.setAcceptDrops(False)
self.Real_time_Protection_widget_2.setLayoutDirection(QtCore.Qt.RightToLeft)
self.Real_time_Protection_widget_2.setAutoFillBackground(False)
self.Real_time_Protection_widget_2.setObjectName("Real_time_Protection_widget_2")
self.Protection_title_2 = QtWidgets.QLabel(self.Real_time_Protection_widget_2)
self.Protection_title_2.setGeometry(QtCore.QRect(10, 10, 461, 51))
self.Protection_title_2.setGeometry(QtCore.QRect(10, 10, 461, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
@@ -108,7 +110,7 @@ class Ui_MainWindow(object):
self.Protection_title_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Protection_title_2.setObjectName("Protection_title_2")
self.Protection_illustrate_2 = QtWidgets.QLabel(self.Real_time_Protection_widget_2)
self.Protection_illustrate_2.setGeometry(QtCore.QRect(10, 60, 461, 41))
self.Protection_illustrate_2.setGeometry(QtCore.QRect(10, 50, 461, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
@@ -120,7 +122,7 @@ class Ui_MainWindow(object):
self.Protection_illustrate_2.setWordWrap(True)
self.Protection_illustrate_2.setObjectName("Protection_illustrate_2")
self.Protection_switch_Button_2 = QtWidgets.QPushButton(self.Real_time_Protection_widget_2)
self.Protection_switch_Button_2.setGeometry(QtCore.QRect(490, 40, 91, 31))
self.Protection_switch_Button_2.setGeometry(QtCore.QRect(490, 30, 91, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -146,13 +148,13 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_2.setCheckable(False)
self.Protection_switch_Button_2.setObjectName("Protection_switch_Button_2")
self.Real_time_Protection_widget_3 = QtWidgets.QWidget(self.Protection_widget)
self.Real_time_Protection_widget_3.setGeometry(QtCore.QRect(40, 240, 591, 111))
self.Real_time_Protection_widget_3.setGeometry(QtCore.QRect(40, 190, 591, 91))
self.Real_time_Protection_widget_3.setAcceptDrops(False)
self.Real_time_Protection_widget_3.setLayoutDirection(QtCore.Qt.RightToLeft)
self.Real_time_Protection_widget_3.setAutoFillBackground(False)
self.Real_time_Protection_widget_3.setObjectName("Real_time_Protection_widget_3")
self.Protection_title_3 = QtWidgets.QLabel(self.Real_time_Protection_widget_3)
self.Protection_title_3.setGeometry(QtCore.QRect(10, 10, 461, 51))
self.Protection_title_3.setGeometry(QtCore.QRect(10, 10, 461, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
@@ -162,7 +164,7 @@ class Ui_MainWindow(object):
self.Protection_title_3.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Protection_title_3.setObjectName("Protection_title_3")
self.Protection_illustrate_3 = QtWidgets.QLabel(self.Real_time_Protection_widget_3)
self.Protection_illustrate_3.setGeometry(QtCore.QRect(10, 60, 461, 41))
self.Protection_illustrate_3.setGeometry(QtCore.QRect(10, 50, 461, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
@@ -174,7 +176,7 @@ class Ui_MainWindow(object):
self.Protection_illustrate_3.setWordWrap(True)
self.Protection_illustrate_3.setObjectName("Protection_illustrate_3")
self.Protection_switch_Button_3 = QtWidgets.QPushButton(self.Real_time_Protection_widget_3)
self.Protection_switch_Button_3.setGeometry(QtCore.QRect(490, 50, 91, 31))
self.Protection_switch_Button_3.setGeometry(QtCore.QRect(490, 30, 91, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -200,13 +202,13 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_3.setCheckable(False)
self.Protection_switch_Button_3.setObjectName("Protection_switch_Button_3")
self.Real_time_Protection_widget_4 = QtWidgets.QWidget(self.Protection_widget)
self.Real_time_Protection_widget_4.setGeometry(QtCore.QRect(40, 350, 591, 111))
self.Real_time_Protection_widget_4.setGeometry(QtCore.QRect(40, 280, 591, 91))
self.Real_time_Protection_widget_4.setAcceptDrops(False)
self.Real_time_Protection_widget_4.setLayoutDirection(QtCore.Qt.RightToLeft)
self.Real_time_Protection_widget_4.setAutoFillBackground(False)
self.Real_time_Protection_widget_4.setObjectName("Real_time_Protection_widget_4")
self.Protection_title_4 = QtWidgets.QLabel(self.Real_time_Protection_widget_4)
self.Protection_title_4.setGeometry(QtCore.QRect(10, 10, 461, 51))
self.Protection_title_4.setGeometry(QtCore.QRect(10, 10, 461, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
@@ -216,7 +218,7 @@ class Ui_MainWindow(object):
self.Protection_title_4.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Protection_title_4.setObjectName("Protection_title_4")
self.Protection_illustrate_4 = QtWidgets.QLabel(self.Real_time_Protection_widget_4)
self.Protection_illustrate_4.setGeometry(QtCore.QRect(10, 60, 461, 41))
self.Protection_illustrate_4.setGeometry(QtCore.QRect(10, 50, 461, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
@@ -228,7 +230,7 @@ class Ui_MainWindow(object):
self.Protection_illustrate_4.setWordWrap(True)
self.Protection_illustrate_4.setObjectName("Protection_illustrate_4")
self.Protection_switch_Button_4 = QtWidgets.QPushButton(self.Real_time_Protection_widget_4)
self.Protection_switch_Button_4.setGeometry(QtCore.QRect(490, 40, 91, 31))
self.Protection_switch_Button_4.setGeometry(QtCore.QRect(490, 30, 91, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -253,6 +255,60 @@ class Ui_MainWindow(object):
self.Protection_switch_Button_4.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_4.setCheckable(False)
self.Protection_switch_Button_4.setObjectName("Protection_switch_Button_4")
self.Real_time_Protection_widget_5 = QtWidgets.QWidget(self.Protection_widget)
self.Real_time_Protection_widget_5.setGeometry(QtCore.QRect(40, 370, 591, 91))
self.Real_time_Protection_widget_5.setAcceptDrops(False)
self.Real_time_Protection_widget_5.setLayoutDirection(QtCore.Qt.RightToLeft)
self.Real_time_Protection_widget_5.setAutoFillBackground(False)
self.Real_time_Protection_widget_5.setObjectName("Real_time_Protection_widget_5")
self.Protection_title_5 = QtWidgets.QLabel(self.Real_time_Protection_widget_5)
self.Protection_title_5.setGeometry(QtCore.QRect(10, 10, 461, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Protection_title_5.setFont(font)
self.Protection_title_5.setStyleSheet("color: rgb(70,70,70);")
self.Protection_title_5.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Protection_title_5.setObjectName("Protection_title_5")
self.Protection_illustrate_5 = QtWidgets.QLabel(self.Real_time_Protection_widget_5)
self.Protection_illustrate_5.setGeometry(QtCore.QRect(10, 50, 461, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Protection_illustrate_5.setFont(font)
self.Protection_illustrate_5.setStyleSheet("color: rgb(70,70,70);")
self.Protection_illustrate_5.setScaledContents(False)
self.Protection_illustrate_5.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Protection_illustrate_5.setWordWrap(True)
self.Protection_illustrate_5.setObjectName("Protection_illustrate_5")
self.Protection_switch_Button_5 = QtWidgets.QPushButton(self.Real_time_Protection_widget_5)
self.Protection_switch_Button_5.setGeometry(QtCore.QRect(490, 30, 91, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Protection_switch_Button_5.sizePolicy().hasHeightForWidth())
self.Protection_switch_Button_5.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Protection_switch_Button_5.setFont(font)
self.Protection_switch_Button_5.setFocusPolicy(QtCore.Qt.StrongFocus)
self.Protection_switch_Button_5.setStyleSheet("QPushButton\n"
"{\n"
" border:none;\n"
" background-color:rgba(20,20,20,30);\n"
" border-radius: 15px;\n"
"}\n"
"QPushButton:hover\n"
"{\n"
" background-color:rgba(20,20,20,50);\n"
"}")
self.Protection_switch_Button_5.setIconSize(QtCore.QSize(16, 16))
self.Protection_switch_Button_5.setCheckable(False)
self.Protection_switch_Button_5.setObjectName("Protection_switch_Button_5")
self.Navigation_Bar = QtWidgets.QWidget(self.widget)
self.Navigation_Bar.setGeometry(QtCore.QRect(10, 50, 161, 481))
font = QtGui.QFont()
@@ -443,7 +499,7 @@ class Ui_MainWindow(object):
self.Virus_Scan_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Virus_Scan_title.setObjectName("Virus_Scan_title")
self.Virus_Scan_text = QtWidgets.QLabel(self.Virus_Scan_widget)
self.Virus_Scan_text.setGeometry(QtCore.QRect(45, 80, 581, 61))
self.Virus_Scan_text.setGeometry(QtCore.QRect(45, 70, 581, 71))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(13)
@@ -512,7 +568,7 @@ class Ui_MainWindow(object):
self.Virus_Scan_output.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
self.Virus_Scan_output.setObjectName("Virus_Scan_output")
self.Virus_Scan_choose_widget = QtWidgets.QWidget(self.Virus_Scan_widget)
self.Virus_Scan_choose_widget.setGeometry(QtCore.QRect(480, 67, 151, 31))
self.Virus_Scan_choose_widget.setGeometry(QtCore.QRect(480, 67, 141, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -521,7 +577,7 @@ class Ui_MainWindow(object):
self.Virus_Scan_choose_widget.setStyleSheet("background-color:rgba(200, 200, 200,200);")
self.Virus_Scan_choose_widget.setObjectName("Virus_Scan_choose_widget")
self.verticalLayoutWidget_3 = QtWidgets.QWidget(self.Virus_Scan_choose_widget)
self.verticalLayoutWidget_3.setGeometry(QtCore.QRect(0, 0, 151, 101))
self.verticalLayoutWidget_3.setGeometry(QtCore.QRect(0, 0, 141, 101))
self.verticalLayoutWidget_3.setObjectName("verticalLayoutWidget_3")
self.Virus_Scan_choose_verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_3)
self.Virus_Scan_choose_verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
@@ -688,11 +744,6 @@ class Ui_MainWindow(object):
self.Virus_Scan_Break_Button.setDefault(False)
self.Virus_Scan_Break_Button.setFlat(False)
self.Virus_Scan_Break_Button.setObjectName("Virus_Scan_Break_Button")
self.Virus_Scan_ProgressBar = QtWidgets.QProgressBar(self.Virus_Scan_widget)
self.Virus_Scan_ProgressBar.setGeometry(QtCore.QRect(45, 137, 581, 21))
self.Virus_Scan_ProgressBar.setProperty("value", 0)
self.Virus_Scan_ProgressBar.setTextVisible(False)
self.Virus_Scan_ProgressBar.setObjectName("Virus_Scan_ProgressBar")
self.State_widget = QtWidgets.QWidget(self.widget)
self.State_widget.setGeometry(QtCore.QRect(170, 49, 671, 481))
font = QtGui.QFont()
@@ -815,7 +866,7 @@ class Ui_MainWindow(object):
self.GUI_Made_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.GUI_Made_title.setObjectName("GUI_Made_title")
self.GUI_Made_Name = QtWidgets.QLabel(self.About_widget)
self.GUI_Made_Name.setGeometry(QtCore.QRect(190, 100, 441, 41))
self.GUI_Made_Name.setGeometry(QtCore.QRect(180, 100, 451, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(13)
@@ -837,7 +888,7 @@ class Ui_MainWindow(object):
self.Core_Made_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Core_Made_title.setObjectName("Core_Made_title")
self.Core_Made_Name = QtWidgets.QLabel(self.About_widget)
self.Core_Made_Name.setGeometry(QtCore.QRect(190, 140, 441, 41))
self.Core_Made_Name.setGeometry(QtCore.QRect(180, 140, 451, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(13)
@@ -859,7 +910,7 @@ class Ui_MainWindow(object):
self.Testers_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Testers_title.setObjectName("Testers_title")
self.Testers_Name = QtWidgets.QLabel(self.About_widget)
self.Testers_Name.setGeometry(QtCore.QRect(190, 180, 441, 41))
self.Testers_Name.setGeometry(QtCore.QRect(180, 180, 451, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(13)
@@ -881,7 +932,7 @@ class Ui_MainWindow(object):
self.PYAS_URL_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.PYAS_URL_title.setObjectName("PYAS_URL_title")
self.PYAS_URL = QtWidgets.QLabel(self.About_widget)
self.PYAS_URL.setGeometry(QtCore.QRect(190, 220, 441, 41))
self.PYAS_URL.setGeometry(QtCore.QRect(180, 220, 451, 41))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(13)
@@ -1146,7 +1197,7 @@ class Ui_MainWindow(object):
self.Tools_widget.setStyleSheet("background-color:rgba(255, 255, 255,240);")
self.Tools_widget.setObjectName("Tools_widget")
self.More_Tools_Back_Button = QtWidgets.QPushButton(self.Tools_widget)
self.More_Tools_Back_Button.setGeometry(QtCore.QRect(20, 10, 101, 51))
self.More_Tools_Back_Button.setGeometry(QtCore.QRect(20, 10, 101, 41))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -1169,7 +1220,7 @@ class Ui_MainWindow(object):
self.More_Tools_Back_Button.setCheckable(False)
self.More_Tools_Back_Button.setObjectName("More_Tools_Back_Button")
self.verticalLayoutWidget_4 = QtWidgets.QWidget(self.Tools_widget)
self.verticalLayoutWidget_4.setGeometry(QtCore.QRect(30, 60, 611, 401))
self.verticalLayoutWidget_4.setGeometry(QtCore.QRect(30, 50, 611, 411))
self.verticalLayoutWidget_4.setObjectName("verticalLayoutWidget_4")
self.System_verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_4)
self.System_verticalLayout.setContentsMargins(10, 10, 10, 10)
@@ -1339,12 +1390,12 @@ class Ui_MainWindow(object):
self.Setting_widget.setStyleSheet("background-color:rgba(255, 255, 255,255);")
self.Setting_widget.setObjectName("Setting_widget")
self.Show_high_sensitivity = QtWidgets.QWidget(self.Setting_widget)
self.Show_high_sensitivity.setGeometry(QtCore.QRect(30, 50, 781, 101))
self.Show_high_sensitivity.setGeometry(QtCore.QRect(30, 50, 781, 81))
self.Show_high_sensitivity.setAcceptDrops(False)
self.Show_high_sensitivity.setAutoFillBackground(False)
self.Show_high_sensitivity.setObjectName("Show_high_sensitivity")
self.high_sensitivity_title = QtWidgets.QLabel(self.Show_high_sensitivity)
self.high_sensitivity_title.setGeometry(QtCore.QRect(20, 10, 451, 41))
self.high_sensitivity_title.setGeometry(QtCore.QRect(20, 10, 451, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
@@ -1354,7 +1405,7 @@ class Ui_MainWindow(object):
self.high_sensitivity_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.high_sensitivity_title.setObjectName("high_sensitivity_title")
self.high_sensitivity_illustrate = QtWidgets.QLabel(self.Show_high_sensitivity)
self.high_sensitivity_illustrate.setGeometry(QtCore.QRect(20, 50, 451, 41))
self.high_sensitivity_illustrate.setGeometry(QtCore.QRect(20, 40, 451, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
@@ -1366,7 +1417,7 @@ class Ui_MainWindow(object):
self.high_sensitivity_illustrate.setWordWrap(True)
self.high_sensitivity_illustrate.setObjectName("high_sensitivity_illustrate")
self.high_sensitivity_switch_Button = QtWidgets.QPushButton(self.Show_high_sensitivity)
self.high_sensitivity_switch_Button.setGeometry(QtCore.QRect(660, 30, 91, 31))
self.high_sensitivity_switch_Button.setGeometry(QtCore.QRect(660, 20, 91, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -1391,13 +1442,16 @@ class Ui_MainWindow(object):
self.high_sensitivity_switch_Button.setIconSize(QtCore.QSize(16, 16))
self.high_sensitivity_switch_Button.setCheckable(False)
self.high_sensitivity_switch_Button.setObjectName("high_sensitivity_switch_Button")
self.high_sensitivity_illustrate.raise_()
self.high_sensitivity_switch_Button.raise_()
self.high_sensitivity_title.raise_()
self.Llanguage_widget = QtWidgets.QWidget(self.Setting_widget)
self.Llanguage_widget.setGeometry(QtCore.QRect(30, 350, 781, 111))
self.Llanguage_widget.setGeometry(QtCore.QRect(30, 370, 781, 81))
self.Llanguage_widget.setAcceptDrops(False)
self.Llanguage_widget.setAutoFillBackground(False)
self.Llanguage_widget.setObjectName("Llanguage_widget")
self.Language_title = QtWidgets.QLabel(self.Llanguage_widget)
self.Language_title.setGeometry(QtCore.QRect(20, 10, 361, 41))
self.Language_title.setGeometry(QtCore.QRect(20, 10, 361, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
@@ -1407,7 +1461,7 @@ class Ui_MainWindow(object):
self.Language_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Language_title.setObjectName("Language_title")
self.Language_illustrate = QtWidgets.QLabel(self.Llanguage_widget)
self.Language_illustrate.setGeometry(QtCore.QRect(20, 50, 361, 41))
self.Language_illustrate.setGeometry(QtCore.QRect(20, 40, 361, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
@@ -1419,13 +1473,13 @@ class Ui_MainWindow(object):
self.Language_illustrate.setWordWrap(True)
self.Language_illustrate.setObjectName("Language_illustrate")
self.Language_Choose_widget = QtWidgets.QWidget(self.Llanguage_widget)
self.Language_Choose_widget.setGeometry(QtCore.QRect(420, 10, 361, 81))
self.Language_Choose_widget.setGeometry(QtCore.QRect(400, 10, 381, 61))
font = QtGui.QFont()
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Language_Choose_widget.setFont(font)
self.Language_Choose_widget.setObjectName("Language_Choose_widget")
self.gridLayoutWidget = QtWidgets.QWidget(self.Language_Choose_widget)
self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 0, 361, 80))
self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 0, 381, 61))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
@@ -1454,13 +1508,16 @@ class Ui_MainWindow(object):
self.Language_English.setFont(font)
self.Language_English.setObjectName("Language_English")
self.gridLayout.addWidget(self.Language_English, 1, 2, 1, 1)
self.Language_illustrate.raise_()
self.Language_Choose_widget.raise_()
self.Language_title.raise_()
self.Show_cloud_services = QtWidgets.QWidget(self.Setting_widget)
self.Show_cloud_services.setGeometry(QtCore.QRect(30, 150, 781, 101))
self.Show_cloud_services.setGeometry(QtCore.QRect(30, 130, 781, 81))
self.Show_cloud_services.setAcceptDrops(False)
self.Show_cloud_services.setAutoFillBackground(False)
self.Show_cloud_services.setObjectName("Show_cloud_services")
self.cloud_services_title = QtWidgets.QLabel(self.Show_cloud_services)
self.cloud_services_title.setGeometry(QtCore.QRect(20, 10, 451, 41))
self.cloud_services_title.setGeometry(QtCore.QRect(20, 10, 451, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
@@ -1470,7 +1527,7 @@ class Ui_MainWindow(object):
self.cloud_services_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.cloud_services_title.setObjectName("cloud_services_title")
self.cloud_services_illustrate = QtWidgets.QLabel(self.Show_cloud_services)
self.cloud_services_illustrate.setGeometry(QtCore.QRect(20, 50, 451, 41))
self.cloud_services_illustrate.setGeometry(QtCore.QRect(20, 40, 451, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
@@ -1482,7 +1539,7 @@ class Ui_MainWindow(object):
self.cloud_services_illustrate.setWordWrap(True)
self.cloud_services_illustrate.setObjectName("cloud_services_illustrate")
self.cloud_services_switch_Button = QtWidgets.QPushButton(self.Show_cloud_services)
self.cloud_services_switch_Button.setGeometry(QtCore.QRect(660, 30, 91, 31))
self.cloud_services_switch_Button.setGeometry(QtCore.QRect(660, 20, 91, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -1507,6 +1564,9 @@ class Ui_MainWindow(object):
self.cloud_services_switch_Button.setIconSize(QtCore.QSize(16, 16))
self.cloud_services_switch_Button.setCheckable(False)
self.cloud_services_switch_Button.setObjectName("cloud_services_switch_Button")
self.cloud_services_illustrate.raise_()
self.cloud_services_switch_Button.raise_()
self.cloud_services_title.raise_()
self.Setting_Back = QtWidgets.QPushButton(self.Setting_widget)
self.Setting_Back.setGeometry(QtCore.QRect(30, 10, 101, 41))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
@@ -1536,12 +1596,12 @@ class Ui_MainWindow(object):
self.Setting_Back.setCheckable(False)
self.Setting_Back.setObjectName("Setting_Back")
self.Add_White_list = QtWidgets.QWidget(self.Setting_widget)
self.Add_White_list.setGeometry(QtCore.QRect(30, 250, 781, 101))
self.Add_White_list.setGeometry(QtCore.QRect(30, 210, 781, 81))
self.Add_White_list.setAcceptDrops(False)
self.Add_White_list.setAutoFillBackground(False)
self.Add_White_list.setObjectName("Add_White_list")
self.Add_White_list_title = QtWidgets.QLabel(self.Add_White_list)
self.Add_White_list_title.setGeometry(QtCore.QRect(20, 10, 451, 41))
self.Add_White_list_title.setGeometry(QtCore.QRect(20, 10, 451, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
@@ -1551,7 +1611,7 @@ class Ui_MainWindow(object):
self.Add_White_list_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Add_White_list_title.setObjectName("Add_White_list_title")
self.Add_White_list_illustrate = QtWidgets.QLabel(self.Add_White_list)
self.Add_White_list_illustrate.setGeometry(QtCore.QRect(20, 50, 451, 41))
self.Add_White_list_illustrate.setGeometry(QtCore.QRect(20, 40, 451, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
@@ -1563,7 +1623,7 @@ class Ui_MainWindow(object):
self.Add_White_list_illustrate.setWordWrap(True)
self.Add_White_list_illustrate.setObjectName("Add_White_list_illustrate")
self.Add_White_list_Button = QtWidgets.QPushButton(self.Add_White_list)
self.Add_White_list_Button.setGeometry(QtCore.QRect(660, 30, 91, 31))
self.Add_White_list_Button.setGeometry(QtCore.QRect(660, 20, 91, 31))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -1588,16 +1648,106 @@ class Ui_MainWindow(object):
self.Add_White_list_Button.setIconSize(QtCore.QSize(16, 16))
self.Add_White_list_Button.setCheckable(False)
self.Add_White_list_Button.setObjectName("Add_White_list_Button")
self.Virus_Scan_widget.raise_()
self.Add_White_list_illustrate.raise_()
self.Add_White_list_Button.raise_()
self.Add_White_list_title.raise_()
self.Theme_widget = QtWidgets.QWidget(self.Setting_widget)
self.Theme_widget.setGeometry(QtCore.QRect(30, 290, 781, 81))
self.Theme_widget.setObjectName("Theme_widget")
self.Theme_title = QtWidgets.QLabel(self.Theme_widget)
self.Theme_title.setGeometry(QtCore.QRect(20, 10, 351, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(18)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_title.setFont(font)
self.Theme_title.setStyleSheet("color: rgb(70,70,70);")
self.Theme_title.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Theme_title.setObjectName("Theme_title")
self.Theme_illustrate = QtWidgets.QLabel(self.Theme_widget)
self.Theme_illustrate.setGeometry(QtCore.QRect(20, 40, 351, 31))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(11)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_illustrate.setFont(font)
self.Theme_illustrate.setStyleSheet("color: rgb(70,70,70);")
self.Theme_illustrate.setScaledContents(False)
self.Theme_illustrate.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.Theme_illustrate.setWordWrap(True)
self.Theme_illustrate.setObjectName("Theme_illustrate")
self.Language_Choose_widget_2 = QtWidgets.QWidget(self.Theme_widget)
self.Language_Choose_widget_2.setGeometry(QtCore.QRect(400, 10, 381, 61))
font = QtGui.QFont()
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Language_Choose_widget_2.setFont(font)
self.Language_Choose_widget_2.setObjectName("Language_Choose_widget_2")
self.gridLayoutWidget_2 = QtWidgets.QWidget(self.Language_Choose_widget_2)
self.gridLayoutWidget_2.setGeometry(QtCore.QRect(0, 0, 381, 61))
self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2")
self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget_2)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.gridLayout_2.setObjectName("gridLayout_2")
self.Theme_Black = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(12)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Black.setFont(font)
self.Theme_Black.setObjectName("Theme_Black")
self.gridLayout_2.addWidget(self.Theme_Black, 1, 1, 1, 1)
self.Theme_White = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(12)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_White.setFont(font)
self.Theme_White.setObjectName("Theme_White")
self.gridLayout_2.addWidget(self.Theme_White, 1, 0, 1, 1)
self.Theme_Yellow = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(12)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Yellow.setFont(font)
self.Theme_Yellow.setObjectName("Theme_Yellow")
self.gridLayout_2.addWidget(self.Theme_Yellow, 1, 2, 1, 1)
self.Theme_Blue = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(12)
self.Theme_Blue.setFont(font)
self.Theme_Blue.setObjectName("Theme_Blue")
self.gridLayout_2.addWidget(self.Theme_Blue, 2, 0, 1, 1)
self.Theme_Red = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(12)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Red.setFont(font)
self.Theme_Red.setObjectName("Theme_Red")
self.gridLayout_2.addWidget(self.Theme_Red, 2, 1, 1, 1)
self.Theme_Green = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(12)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.Theme_Green.setFont(font)
self.Theme_Green.setObjectName("Theme_Green")
self.gridLayout_2.addWidget(self.Theme_Green, 2, 2, 1, 1)
self.Theme_illustrate.raise_()
self.Language_Choose_widget_2.raise_()
self.Theme_title.raise_()
self.Setting_widget.raise_()
self.State_widget.raise_()
self.widget_2.raise_()
self.Process_widget.raise_()
self.Window_widget.raise_()
self.Navigation_Bar.raise_()
self.Protection_widget.raise_()
self.About_widget.raise_()
self.Tools_widget.raise_()
self.Protection_widget.raise_()
self.Setting_widget.raise_()
self.Virus_Scan_widget.raise_()
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
@@ -1618,6 +1768,9 @@ class Ui_MainWindow(object):
self.Protection_title_4.setText(_translate("MainWindow", "進程防護"))
self.Protection_illustrate_4.setText(_translate("MainWindow", "啟用該選項可以實時監控進程中的惡意軟體並清除"))
self.Protection_switch_Button_4.setText(_translate("MainWindow", "已關閉"))
self.Protection_title_5.setText(_translate("MainWindow", "進程防護"))
self.Protection_illustrate_5.setText(_translate("MainWindow", "啟用該選項可以實時監控進程中的惡意軟體並清除"))
self.Protection_switch_Button_5.setText(_translate("MainWindow", "已關閉"))
self.State_Button.setText(_translate("MainWindow", "狀態"))
self.Virus_Scan_Button.setText(_translate("MainWindow", "掃描"))
self.Tools_Button.setText(_translate("MainWindow", "工具"))
@@ -1668,11 +1821,16 @@ class Ui_MainWindow(object):
self.Add_White_list_title.setText(_translate("MainWindow", "高靈敏度模式"))
self.Add_White_list_illustrate.setText(_translate("MainWindow", "啟用此選項可以提高引擎的靈敏度"))
self.Add_White_list_Button.setText(_translate("MainWindow", "已關閉"))
import PYAS_UI_rc
self.Theme_title.setText(_translate("MainWindow", "顯色主題"))
self.Theme_illustrate.setText(_translate("MainWindow", "請選擇主題"))
self.Theme_Black.setText(_translate("MainWindow", "黑色主題"))
self.Theme_White.setText(_translate("MainWindow", "白色主題"))
self.Theme_Yellow.setText(_translate("MainWindow", "粉色主題"))
self.Theme_Blue.setText(_translate("MainWindow", "藍色主題"))
self.Theme_Red.setText(_translate("MainWindow", "紅色主題"))
self.Theme_Green.setText(_translate("MainWindow", "綠色主題"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
+1 -1
View File
@@ -1,7 +1,7 @@
import pyinstaller_versionfile
pyinstaller_versionfile.create_versionfile(
output_file="versionfile.txt",
version='2.7.0',
version='2.7.3',
company_name="PYAS Security",
file_description="Python Antivirus Software",
internal_name="PYAS",
+4 -5
View File
@@ -1,8 +1,7 @@
# PYAS (Python Antivirus Software)
![PYAS](https://user-images.githubusercontent.com/85057800/202692146-e55848d5-7e24-405d-b33d-f4fa3883fba6.png)
![PYAS](https://github.com/87owo/PYAS/assets/85057800/e49a0aef-6ef6-4485-8f93-e7a73f9571ea)
## Official Website
## Official Website
https://pyantivirus.wixsite.com/pyas ,
https://github.com/87owo/PYAS
@@ -13,9 +12,9 @@ https://github.com/87owo/PYAS/blob/main/LICENSE.md
Windows 8.1, 10, 11 (64-bit), Ram 1GB, Rom 1GB or higher
## Import Module
os, sys, time, json, psutil, struct, win32api, win32con, requests, socket, platform, cryptocode, subprocess, pefile, hashlib, PYAS_Language, threading, random, PyQt5, PYAS_UI
os, sys, time, json, psutil, ctypes, requests, subprocess, win32file, win32api, win32con, elementpath, hashlib, pefile, threading, PyQt5, PYAS_Language, PYAS_Model, PYAS_UI
## Special Thanks
Wix, VirusShare, mtkiao129, LenStevens
360, Wix, VirusShare, mtkiao129, LenStevens
Copyright© 2020~2023 PYAS Security By 87owo