Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0e02b56d20 | ||
|
|
4e8d99f557 | ||
|
|
f3add6e3e3 | ||
|
|
32a2a93eb5 | ||
|
|
0090ee516f | ||
|
|
42e4e958df | ||
|
|
b6970d1da6 | ||
|
|
d7ce6c9a4a | ||
|
|
e6d18cbec8 | ||
|
|
3140f6b19f | ||
|
|
b493bf88a8 | ||
|
|
8877609f2a | ||
|
|
d3e5aa00df | ||
|
|
2b88f58e58 | ||
|
|
1f6fd659d5 | ||
|
|
42583407d0 | ||
|
|
cb6b30f4cf | ||
|
|
7a372bfbd1 | ||
|
|
adb8763706 | ||
|
|
ce709408af | ||
|
|
d577b58c52 | ||
|
|
d939b081ff | ||
|
|
b029ff0cfb | ||
|
|
2e473e7a65 | ||
|
|
8b0c2b7815 | ||
|
|
9eb9f83108 | ||
|
|
d724473bc2 | ||
|
|
ed3dac054a | ||
|
|
2c7294684f | ||
|
|
79016437e4 | ||
|
|
20d8131661 | ||
|
|
14b6bb18f3 | ||
|
|
c919b2bce3 | ||
|
|
bf4d65b179 | ||
|
|
6e7a50468b | ||
|
|
fd3c5900b0 |
No files matched your search
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"language": "en_US",
|
||||
"high_sensitivity": 0,
|
||||
"cloud_services": 1
|
||||
}
|
||||
@@ -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
@@ -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
@@ -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
@@ -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,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",
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
# PYAS (Python Antivirus Software)
|
||||

|
||||

|
||||
|
||||
|
||||
## 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
|
||||
Reference in new issue
Block a user